<html 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="Title" content="">
<meta name="Keywords" content="">
<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:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.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 bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">You could also put the AoR that the gateways will use to register as an attribute on the rule/carrier/gateway in DR. Then when you do the lookup you provide avps for the attributes to be provided back and you can do the lookup based on
 that.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ben Newlin<o:p></o:p></p>
<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 Bogdan-Andrei Iancu <bogdan@opensips.org><br>
<b>Reply-To: </b>OpenSIPS users mailling list <users@lists.opensips.org><br>
<b>Date: </b>Friday, December 15, 2017 at 11:35 AM<br>
<b>To: </b>OpenSIPS users mailling list <users@lists.opensips.org>, Jeffrey Zhao <chunyong.zhao@qq.com><br>
<b>Subject: </b>Re: [OpenSIPS-Users] drouting module -- How to use registered gateway as outbound gateway<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Jeffrey,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">To do something like that, you need to have in DR  (as gateway) the AOR
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">used by the GW to register with. And after you do do_routing() you do
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">lookup(location).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Now the tricky part is to link them, as Drouting is IP/domain driven
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">while user location is AOR driven.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So, in DR use as GW 127.0.0.1 (.2 and so on) - even if there is
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">something phony, it has to be a valid IP. Now, after do_routing() you
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">will have in RURI sip:<a href="mailto:DID@127.0.0.1">DID@127.0.0.1</a> which needs to be pushed into user
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">location. Do transform it into a valid AOR (to be used as search key by
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">user location), save the username part of RURI into a variable (for
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">later restoring) and strip it -> ruri = sip:127.0.0.1 .Further use some
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">subst/string transformation to do a static transformation from 127.0.0.N
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">to gwN string and build AOR as sip:gwN@opensips_domain. So, in your case
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">you will get sip:gw1@opensips_domain as an AOR that can be used for
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">lookup location (of course, your GW must register under the AOR of
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">sip:gw1@opensips_domain). After lookup(location) just restore the DID
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">back into username part -> sip:DID@gw_address .<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Basically the trick is to get a static mapping between the phony IPs you
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">put in DR (like 127.0.0.N) and the AORs used by the GW to register (like
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">gwN@opensips_domain), so you can link them.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Bogdan-Andrei Iancu<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   OpenSIPS Founder and Developer<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <a href="http://www.opensips-solutions.com">
https://protect-us.mimecast.com/s/kKHOCER6PLSgL0EzhN-bAd?domain=opensips-solutions.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On 12/15/2017 02:39 AM, Jeffrey Zhao wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-right:0in" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<p class="MsoNormal">Dear all<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">We are using drouting module for dialplan routing,  for NAT issues, we need to register outbound voice gateway to opensips, instead of fixed static IP.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Is there any way to use registered gateway as routing destination?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks.<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">Users mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><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">Users mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><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>
</body>
</html>