I have the same problem. It works fine if the forward happened in<br><br><pre>        # native SIP destinations are handled using our USRLOC DB<br>                if (!lookup(&quot;location&quot;)) {<br>                        if(isflagset(2)) {<br>                                xlog(&quot;L_INFO&quot;, &quot;Callee is Offline, call forward to Voice Mail - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n&quot;);
<br>                                # route to Asterisk Media Server<br>                                prefix(&quot;1&quot;);<br>                                rewritehostport(&quot;<a href="http://10.10.10.11:5060/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.10.10.11:5060
</a>&quot;);<br>                                route(1);<br>                        } else {<br>                                sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);<br><br>                                exit;<br>                        }</pre>May 18 09:06:21 localhost /usr/sbin/openser[24410]: Callee is Offline, call forward to Voice Mail - M=INVITE RURI=
<a href="mailto:sip:0280000000@10.10.1.2">sip:0280000000@10.10.1.2</a> F=<a href="mailto:sip:0299000000@10.10.1.2">sip:0299000000@10.10.1.2</a> T=<a href="mailto:sip:0280000000@10.10.1.2">sip:0280000000@10.10.1.2</a> IP=<a href="http://10.10.1.1">
10.10.1.1</a> ID=<a href="mailto:call-F11EC874-4CE7-2910-000A-3E6@10.10.1.1">call-F11EC874-4CE7-2910-000A-3E6@10.10.1.1</a><br><br>It is not working good in Failure_route<br><br><pre><br>failure_route[1] {<br>        if (t_was_cancelled()) {
<br><br>                xdbg(&quot;transaction was cancelled by UAC\n&quot;);<br>                return;<br>        }<br>         xlog(&quot;L_INFO&quot;, &quot;failure_route - call forward to Voice Mail - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n&quot;);<br>        # restore initial uri
<br>        avp_pushto(&quot;$ruri&quot;, &quot;i:10&quot;);<br>        prefix(&quot;1&quot;);<br>        # route to Asterisk Media Server<br><br>        rewritehostport(&quot;<a href="http://10.10.10.11:5060/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
10.10.10.11:5060</a>&quot;);<br>        resetflag(2);<br>        route(1);<br><br>}</pre><br><br>May 18 09:08:45 localhost /usr/sbin/openser[24414]: failure_route - call forward to Voice Mail - M=INVITE RURI=sip:0280000000@10.10.2.126:57042;rinstance=dbdab29df7aa260b F=
<a href="mailto:sip:0299000000@10.10.1.2">sip:0299000000@10.10.1.2</a> T=<a href="mailto:sip:0280000000@10.10.1.2">sip:0280000000@10.10.1.2</a> IP=<a href="http://10.10.1.1">10.10.1.1</a> ID=<a href="mailto:call-F17BFBB3-4FE7-2910-000C-3E8@10.10.1.1">
call-F17BFBB3-4FE7-2910-000C-3E8@10.10.1.1</a><br>May 18 09:08:59 localhost /usr/sbin/openser[24399]: ERROR:tm:t_forward_nonack: no branch for forwarding<br>May 18 09:08:59 localhost /usr/sbin/openser[24399]: ERROR:tm:w_t_relay: t_forward_nonack failed
<br>May 18 09:09:09 localhost /usr/sbin/openser[24399]: ERROR:tm:t_forward_nonack: failure to add branches<br><br>Anyone have an idea on where i have done wrong?<br><br>Regards,<br>Howard<br><br><br><div><span class="gmail_quote">
On 5/18/07, <b class="gmail_sendername">Bill Neely</b> &lt;<a href="mailto:ceo@xantek.cc">ceo@xantek.cc</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am having a very similar problem. Using v1.2.0<br><br> Here is my route:<br>route[1] {<br><br>if(isflagset(2))<br>&nbsp;&nbsp;&nbsp;&nbsp;t_on_failure(&quot;2&quot;);<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;if (!t_relay()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_reply_error();<br>&nbsp;&nbsp;&nbsp;&nbsp;};<br>
&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>}<br><br>failure_route[2]<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;if ( t_check_status(&quot;408&quot;))<br><br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlog(&quot;L_ERR&quot;,&quot;rrreeeeeeeeeeeeeeeeeecalling froute2 &lt;$rm&gt;&lt;$ru&gt;\n&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;avp_pushto(&quot;$ruri&quot;, &quot;$avp(i:10)&quot;);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix(&quot;777&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# route to Asterisk Media Server<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewritehostport(&quot;66.xxx.20.50:5060&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resetflag(2);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlog(&quot;L_ERR&quot;,&quot;22222222222222222222calling froute2 &lt;$rm&gt;&lt;$ruri&gt;\n&quot;);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>}<br><br>Here is error message received:<br><br> 1(53165) rrreeeeeeeeeeeeeeeeeecalling froute2<br>&lt;INVITE&gt;&lt;sip:1020101@67.188.xxx.188:35937;rinstance=e867c589f1896b12&gt;
<br> 1(53165) 22222222222222222222calling froute2<br>&lt;INVITE&gt;&lt;sip:7771020101@66.xxx.20.50:5060;rinstance=e867c589f1896b12&gt;<br> 1(53165) ERROR:tm:t_forward_nonack: no branch for forwarding<br> 1(53165) ERROR:tm:w_t_relay: t_forward_nonack failed
<br><br>Bogdan-Andrei Iancu wrote:<br>&gt; Check with log/xlog prints if it gets to t_on_failure() and&nbsp;&nbsp;into<br>&gt; failure route.<br>&gt;<br>&gt; regards,<br>&gt; Bogdan<br>&gt;<br>&gt; Howard Tang wrote:<br>&gt;&gt; HI Bogdan,
<br>&gt;&gt;<br>&gt;&gt; Thank you for your reply. I did that but i forget to include in this<br>&gt;&gt; email.<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; route[1] {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#check for nat flag<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isflagset(2))
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fix_nated_contact();<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use_media_proxy();<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_on_reply(&quot;1&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_on_failure(&quot;1&quot;);
<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# send it out now; use stateful forwarding as it works reliably<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# even for UDP2TCP<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlog(&quot;L_INFO&quot;, &quot;Request leaving server - M=$rm RURI=$ru F=$fu
<br>&gt;&gt; T=$tu IP=$si ID=$ci\n&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!t_relay()) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isflagset(2))<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end_media_session();<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_reply_error();
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>&gt;&gt; }<br>&gt;&gt;<br>&gt;&gt; The voice mail work fine only when someone call in and the UA is<br>&gt;&gt; offline (not registered to the openser), if the UA is online, the
<br>&gt;&gt; call will ring the UA until the caller hang up.<br>&gt;&gt;<br>&gt;&gt; I want to set up some sort of timer, i.e. 60 second and the call will<br>&gt;&gt; forwarded to the Voice mail.<br>&gt;&gt;<br>&gt;&gt; Can you suggest me an idea on how i can make this happen please?
<br>&gt;&gt;<br>&gt;&gt; Regards,<br>&gt;&gt; Howard<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; On 5/17/07, *Bogdan-Andrei Iancu* &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a><br>&gt;&gt; &lt;mailto:
<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt; wrote:<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Hi Howard,<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; I guess you do not arm the failure route - use t_on_failure(&quot;1&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; before<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; relaying the request.<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; regards,<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; bogdan<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Howard Tang wrote:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Hi All,<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I have followed a tutorial and set up Asterisk as a voice mail<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; server.<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;<br>&gt;&gt; <a href="http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER">
http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER</a><br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;<br>&gt;&gt; &lt;<a href="http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER">
http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; &lt;<a href="http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER">http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER
</a>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; It works fine when the UA is offline. Now, I want a call<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; forwarded to<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; the Voice mail server when there is no answer from the UA after 60
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; seconds(UA is registered on the openser).<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; What should I do? Below is my config (copy from the above link).<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # requests for Media server
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(is_method(&quot;INVITE&quot;) &amp;&amp; !has_totag() &amp;&amp;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; uri=~&quot;sip:\*9&quot;) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(3);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # mark transaction if user is in voicemail group<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(is_method(&quot;INVITE&quot;) &amp;&amp; !has_totag()
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; is_user_in(&quot;Request-URI&quot;,&quot;voicemail&quot;))<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xdbg(&quot;user [$ru] has voicemail redirection
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; enabled\n&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # backup R-URI<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_write(&quot;$ruri&quot;, &quot;i:10&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(2);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # native SIP destinations are handled using our<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; USRLOC DB<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!lookup(&quot;location&quot;)) {
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(isflagset(2)) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # route to Asterisk Media Server<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://10.10.10.11:5060">10.10.10.11:5060</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="http://10.10.10.11:5060">http://10.10.10.11:5060</a>&gt; &lt;<a href="http://10.10.10.11:5060">
http://10.10.10.11:5060</a>&gt;&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(1);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; # voicemail access
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; # - *98 - listen caller&#39;s voice messages, being prompted for pin<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; # - *981 - listen voice messages, being promted for mailbox and<br>&gt;&gt; pin<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; # - *98XXXX - leave voice message to XXXX
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; #<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; route[3] {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # direct voicemail<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uri =~ &quot;sip:\*98@&quot; ) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewriteuser(&quot;1&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xdbg(&quot;voicemail access\n&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (uri =~ &quot;sip:\*981@&quot; ) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strip(4);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewriteuser(&quot;11&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (uri =~ &quot;sip:\*98.+@&quot; ) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strip(3);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;unknown media extension $rU\n&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;Unknown media service&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # route to Asterisk Media Server
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://10.10.10.11:5060">10.10.10.11:5060</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="http://10.10.10.11:5060">http://10.10.10.11:5060</a>&gt; &lt; <a href="http://10.10.10.11:5060">
http://10.10.10.11:5060</a>&gt;&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(1);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; failure_route[1] {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (t_was_cancelled()) {<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xdbg(&quot;transaction was cancelled by UAC\n&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # restore initial uri<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_pushto(&quot;$ruri&quot;, &quot;i:10&quot;);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # route to Asterisk Media Server<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://10.10.10.11:5060">10.10.10.11:5060
</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="http://10.10.10.11:5060">http://10.10.10.11:5060</a>&gt; &lt;<a href="http://10.10.10.11:5060">http://10.10.10.11:5060</a>&gt;&quot;);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resetflag(2);<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(1);
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; }<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;<br>&gt;&gt; ------------------------------------------------------------------------<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; _______________________________________________<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Users mailing list<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <a href="mailto:Users@openser.org">Users@openser.org</a> &lt;mailto:<a href="mailto:Users@openser.org">
Users@openser.org</a>&gt;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <a href="http://openser.org/cgi-bin/mailman/listinfo/users">http://openser.org/cgi-bin/mailman/listinfo/users</a><br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>
&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; --<br>&gt;&gt; Howard Tang<br>&gt;&gt; ICQ : 259083<br>&gt;&gt; MSN : <a href="mailto:howard615@hotmail.com">howard615@hotmail.com</a> &lt;mailto:<a href="mailto:howard615@hotmail.com">
howard615@hotmail.com</a>&gt;<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a href="mailto:Users@openser.org">Users@openser.org</a><br>&gt; <a href="http://openser.org/cgi-bin/mailman/listinfo/users">
http://openser.org/cgi-bin/mailman/listinfo/users</a><br><br>--<br>Bill Neely<br>Xantek, Inc.<br>1-866-553-3833<br>1-702-874-3833<br><br></blockquote></div><br><br clear="all"><br>-- <br>Howard Tang<br>ICQ : 259083<br>MSN : 
<a href="mailto:howard615@hotmail.com">howard615@hotmail.com</a>