<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">If you just need to change the Call-ID you can look at the topology_hiding module [1]. It has the ability to mangle the Call-ID in addition to other identifying information. If you must have B2BUA functionality that won’t work.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I believe that the B2BUA messages can be “caught” and modified to some extent in local_route [2].<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[1] - <a href="https://opensips.org/html/docs/modules/3.0.x/topology_hiding.html">
https://opensips.org/html/docs/modules/3.0.x/topology_hiding.html</a><o:p></o:p></p>
<p class="MsoNormal">[2] - <a href="https://www.opensips.org/Documentation/Script-Routes-3-0#toc6">
https://www.opensips.org/Documentation/Script-Routes-3-0#toc6</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="color:black">Ben Newlin </span><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Users <users-bounces@lists.opensips.org> on behalf of Donat Zenichev <donat.zenichev@gmail.com><br>
<b>Reply-To: </b>OpenSIPS users mailling list <users@lists.opensips.org><br>
<b>Date: </b>Friday, January 10, 2020 at 10:22 AM<br>
<b>To: </b>"users@lists.opensips.org" <users@lists.opensips.org><br>
<b>Subject: </b>[OpenSIPS-Users] B2B user agent logic<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Hello OpenSIPS community!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I have a brief question regarding how to better implement B2B user agent logic, within OpenSIPS installation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The goal is quite simple:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- I have OpenSIPS as a routing system (making decisions on calls)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- OpenSIPS at the same time separates dialog into two legs (so two Call-IDs as result)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Firstly I've started looking into b2b_logic + b2b_entities modules<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I read manuals provided by OpenSIPS dev team and everything is quite clear for me.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">But, from what I understand provided b2b module is not compatible with a dialog module<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">(paragraph 6 at Back-to-Back User Agent manual).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">But dialog module is quite significant for me, at least since of "dialog_replication_cluster" parameter.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Another feature of the b2b_logic module is, that it only implements scenarios within a separate xml configuration file. And from the script routing you're only able to access coming requests and responses in a read-only mode.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">To sum up, the general goal is to separate call into two legs, to let both legs have different call-ids. And it's also quite important to be able to rule changes on requests (e.g. resetting of R-URI) from the routing script.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Everything from mentioned above led me to a thought, that there could be some much elaborate solution for implementation of B2B within OpenSIPS installation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">For sure b2b_logic and b2b_entities modules are great! But still I'm looking for a bit different installation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I know, OpenSIPS is a SIP proxy and it's not supposed to be run with a role of B2BUA.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">But still, might be someone can share his/her own experience and hint some better way out for this?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Many thanks in advance and have a nice day!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:#0B5394;background:white">Best regards,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:#0B5394;background:white">Donat Zenichev</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>