<HTML dir=ltr><HEAD><TITLE>Re: [OpenSIPS-Users] dynamic routing -prefixing on inbound</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6001.18148" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText19644 dir=ltr>
<DIV dir=ltr><FONT size=2><BR><FONT face=Verdana>Just trying to close the case with a&nbsp;working solution in case it may be helpfull for someone else.</FONT></FONT></DIV>
<DIV dir=ltr><FONT face=Verdana size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Verdana size=2>The domain module in the control pannel is already there so this solution is manageable without editing config file.</FONT></DIV>
<DIV dir=ltr><FONT face=Verdana size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Verdana size=2>We us  use stateful forwarding, we need to happen the prefix only on invite I have made this correction.</FONT></DIV><FONT face=Arial size=2>
<DIV dir=ltr><BR><FONT face=Verdana>&nbsp;# find if there is a prefix for traffic from the IP source IP address<BR>&nbsp;dp_translate("0", "$src_ip/$avp(s:prefix)");<BR>&nbsp;if($avp(s:prefix) &amp;&amp; method=="INVITE" &amp;&amp; !has_totag()){<BR>&nbsp; xlog("prefix for IP[$src_ip]=[$avp(s:prefix)]\n");<BR>&nbsp; $rU&nbsp; =&nbsp; $avp(s:prefix) + $rU ;<BR>&nbsp;}<BR>&nbsp;else{<BR>&nbsp; xlog("no prefix for IP[$src_ip]\n");<BR>&nbsp;}</FONT></DIV>
<DIV dir=ltr><FONT face="Courier New"></FONT>&nbsp;</DIV>
<DIV dir=ltr>&nbsp;</DIV>
<DIV dir=ltr></FONT>&nbsp;</DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Julien Chavanton<BR><B>Sent:</B> Thu 23/07/2009 9:03 PM<BR><B>To:</B> Bogdan-Andrei Iancu<BR><B>Cc:</B> Brett Nemeroff; users@lists.opensips.org<BR><B>Subject:</B> RE: [OpenSIPS-Users] dynamic routing -prefixing on inbound<BR></FONT><BR></DIV>
<DIV dir=ltr>
<DIV id=idOWAReplyText46400 dir=ltr>
<DIV dir=ltr><FONT face="Courier New" color=#000000 size=2>Thank you, this solution is conveniant to intergrate in a web interface</FONT></DIV>
<DIV dir=ltr><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>
<H2><FONT face="Courier New">adding prefix dynamicaly with the dialplan module </FONT></H2><PRE><FONT size=3># find if there is a prefix for traffic from the IP address
dp_translate("0", "$src_ip/$avp(s:prefix)");
xlog("prefix for IP[$src_ip]=[$avp(s:prefix)]\n");
$rU  =  $avp(s:prefix) + $rU&nbsp;;
</FONT></PRE><PRE><FONT size=3>+----+------+----+----------+------------+-----------+-----------+----------+-------+
| id | dpid | pr | match_op | match_exp  | match_len | subst_exp | repl_exp | attrs |
+----+------+----+----------+------------+-----------+-----------+----------+-------+
|  1 |    0 |  0 |        1 | 10.0.8.11  |         0 |           | 33       |       | 
+----+------+----+----------+------------+-----------+-----------+----------+-------+
</FONT></PRE><PRE><FONT size=3>dp_reload</FONT>
</PRE></FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]<BR><B>Sent:</B> Wed 22/07/2009 9:58 AM<BR><B>To:</B> Julien Chavanton<BR><B>Cc:</B> Brett Nemeroff; users@lists.opensips.org<BR><B>Subject:</B> Re: [OpenSIPS-Users] dynamic routing -prefixing on inbound<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>Hi Julian,<BR><BR>What you need to do is to create some rules to detect some IPs and to<BR>return the prefix to add to RURI. So, see the 1.4.1.2. String<BR>translation (regexp detection, replacement) in<BR><A href="http://www.opensips.org/html/docs/modules/1.5.x/dialplan.html#id227206">http://www.opensips.org/html/docs/modules/1.5.x/dialplan.html#id227206</A>.<BR><BR>With the prefix returned in a variables (let;s say $var(prefix) ), do :<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rU&nbsp; =&nbsp; $var(prefix) + $rU ;<BR><BR>Regards,<BR>Bogdan<BR><BR>Julien Chavanton wrote:<BR>&gt; Do you have a suggestion on how to do this more dynamicaly ?<BR>&gt;&nbsp;<BR>&gt;<BR>&gt; ------------------------------------------------------------------------<BR>&gt; *From:* Brett Nemeroff [<A href="mailto:brett@nemeroff.com">mailto:brett@nemeroff.com</A>]<BR>&gt; *Sent:* Tue 21/07/2009 3:12 PM<BR>&gt; *To:* Julien Chavanton<BR>&gt; *Cc:* Bogdan-Andrei Iancu; users@lists.opensips.org<BR>&gt; *Subject:* Re: [OpenSIPS-Users] dynamic routing -prefixing on inbound<BR>&gt;<BR>&gt; Once again.. another good use for the dialplan module. :)<BR>&gt;<BR>&gt; You really don't want to do this with a static subst I don't think..<BR>&gt; -Brett<BR>&gt;<BR>&gt;<BR>&gt; On Tue, Jul 21, 2009 at 8:30 AM, Julien Chavanton &lt;jc@atlastelecom.com<BR>&gt; &lt;<A href="mailto:jc@atlastelecom.com">mailto:jc@atlastelecom.com</A>&gt;&gt; wrote:<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thank you, we will move to 1.6.0 later.<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; We have partner not sending tech prefix, we need to add it<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ourselves, I found this fix, but I wanted to be able to do<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; everything from OpenSip control panel to keep things manageable.<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do_routing("0");<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # happend prefix to keep track of originating trunk/gateway<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (1.1.1.1==1111#)<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( search("From:.*&lt;sip:.*@1.1.1.1 &lt;<A href="http://1.1.1.1/">http://1.1.1.1/</A>&gt;&gt;") ) {<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("L_NOTICE", "*****************call<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; from[1.1.1.1]*****************\n");<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subst_uri('/^sip:([0-9]+)@(.*)$/sip:1111#\1@\2;/i');<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; *From:* Bogdan-Andrei Iancu [<A href="mailto:bogdan@voice-system.ro">mailto:bogdan@voice-system.ro</A><BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<A href="mailto:bogdan@voice-system.ro">mailto:bogdan@voice-system.ro</A>&gt;]<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; *Sent:* Tue 21/07/2009 11:06 AM<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; *To:* Julien Chavanton<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; *Cc:* users@lists.opensips.org &lt;<A href="mailto:users@lists.opensips.org">mailto:users@lists.opensips.org</A>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; *Subject:* Re: [OpenSIPS-Users] dynamic routing -prefixing on inbound<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Hi Julien,<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Yes it is, but only in 1.6.0 (current devel version) . See the<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; is_from_gw() function:<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.opensips.org/html/docs/modules/1.6.x/drouting.html#id272676">http://www.opensips.org/html/docs/modules/1.6.x/drouting.html#id272676</A><BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; The 1.5 version has no support for prefixing, but only for stripping:<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.opensips.org/html/docs/modules/1.5.x/drouting.html#id272676">http://www.opensips.org/html/docs/modules/1.5.x/drouting.html#id272676</A><BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Regards,<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Bogdan<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Julien Chavanton wrote:<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I found this in the README of the source code :<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; * bidirectional behavior - inbound and outbound processing<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (strip and prefixing when sending and receiving from a<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; destination/GW)<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I would like to happend a prefix when a call comes in from a certain<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; gateway, I found that "PRI PREFIX" is currently applied on when call<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; it outbound to the gateway but not when a call comes from a gateway.<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Is it already doable ?<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; _______________________________________________<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Users mailing list<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Users@lists.opensips.org &lt;<A href="mailto:Users@lists.opensips.org">mailto:Users@lists.opensips.org</A>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <A href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</A><BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;<BR>&gt;<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Users mailing list<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Users@lists.opensips.org &lt;<A href="mailto:Users@lists.opensips.org">mailto:Users@lists.opensips.org</A>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</A><BR>&gt;<BR>&gt;<BR><BR></FONT></P></DIV></DIV></BODY></HTML>