Hi guys,<br><br>I am trying to troubleshoot errors in my OpenSIPS config file but unable to understand what am i doing wrong.<br><br>The log file shows as follows:<br>Dec 26 21:38:02 [22302] INFO:usrloc:ul_init_locks: locks array size 512<br>
Dec 26 21:38:02 [22302] INFO:registrar:mod_init: initializing...<br>Dec 26 21:38:02 [22302] INFO:textops:mod_init: initializing...<br>Dec 26 21:38:02 [22302] INFO:avpops:avpops_init: initializing...<br>Dec 26 21:38:02 [22302] INFO:auth:mod_init: initializing...<br>
Dec 26 21:38:02 [22302] INFO:auth_db:mod_init: initializing...<br>Dec 26 21:38:02 [22302] INFO:core:probe_max_receive_buffer: using a UDP receive buffer of 214 kb<br>Dec 26 21:38:56 [22303] ERROR:core:forward_reply: no 2nd via found in reply<br>
Dec 26 21:38:57 [22308] ERROR:core:forward_reply: no 2nd via found in reply<br>Dec 26 21:38:58 [22306] ERROR:core:forward_reply: no 2nd via found in reply<br>Dec 26 21:38:59 [22304] ERROR:core:forward_reply: no 2nd via found in reply<br>
Dec 26 21:39:00 [22303] ERROR:core:forward_reply: no 2nd via found in reply<br>Dec 26 21:39:10 [22308] ERROR:core:forward_reply: no 2nd via found in reply<br>Dec 26 21:39:11 [22306] ERROR:core:forward_reply: no 2nd via found in reply<br>
D<br clear="all"><br>-- <br><br><br>My opensips.cfg is as follows:<br><br>route{<br><br>&nbsp;&nbsp;&nbsp; # initial sanity checks -- messages with<br>&nbsp;&nbsp;&nbsp; # max_forwards==0, or excessively long requests<br><br>&nbsp;&nbsp;&nbsp; if (!mf_process_maxfwd_header(&quot;10&quot;)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (msg:len &gt;=&nbsp; 2048 ) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; # we record-route all messages -- to make sure that<br>&nbsp;&nbsp;&nbsp; # subsequent messages will go through our proxy; that&#39;s<br>&nbsp;&nbsp;&nbsp; # particularly good if upstream and downstream entities<br>&nbsp;&nbsp;&nbsp; # use different transport protocol<br>
<br>&nbsp;&nbsp;&nbsp; if (!method==&quot;REGISTER&quot;)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record_route();<br><br>&nbsp;&nbsp;&nbsp; # subsequent messages withing a dialog should take the<br>&nbsp;&nbsp;&nbsp; # path determined by record-routing<br><br>&nbsp;&nbsp;&nbsp; if (loose_route()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # mark routing logic in request<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: rr-enforced\r\n&quot;); <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (!uri==myself) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # mark routing logic in request<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: outbound\r\n&quot;); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; # if the request is for other domain use UsrLoc<br>&nbsp;&nbsp;&nbsp; # (in case, it does not work, use the following command<br>&nbsp;&nbsp;&nbsp; # with proper names and addresses in it)<br>&nbsp;&nbsp;&nbsp; if (uri==myself) {<br>
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (method==&quot;REGISTER&quot;) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!www_authorize(&quot;&quot;, &quot;subscriber&quot;)) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; www_challenge(&quot;&quot;, &quot;0&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; save(&quot;location&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # requests for Media server<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(is_method(&quot;INVITE&quot;) &amp;&amp; !has_totag() &amp;&amp; uri=~&quot;sip:\*9&quot;) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(3);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # mark transaction if user is in voicemail group<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(is_method(&quot;INVITE&quot;) &amp;&amp; !has_totag()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &amp;&amp; is_user_in(&quot;Request-URI&quot;,&quot;voicemail&quot;))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xdbg(&quot;user [$ru] has voicemail redirection enabled\n&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # backup R-URI<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; avp_pushto(&quot;$ru&quot;,&quot;$avp(i:10)&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #avp_write(&quot;$ruri&quot;,&quot;$avp(i:10)&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(2);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # native SIP destinations are handled using our USRLOC DB<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!lookup(&quot;location&quot;)) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(isflagset(2)) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # route to Asterisk Media Server<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://192.168.1.11:5060">192.168.1.11:5060</a>&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: usrloc applied\r\n&quot;); <br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; route(1);<br>}<br><br><br>route[1] {<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if(isflagset(2))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_on_failure(&quot;1&quot;);<br>
<br>&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; exit;<br>}<br><br><br># voicemail access<br># - *98 - listen caller&#39;s voice messages, being prompted for pin<br># - *981 - listen voice messages, being promted for mailbox and pin<br>
# - *98XXXX - leave voice message to XXXX<br>#<br>route[3] {<br>&nbsp; &nbsp;&nbsp;&nbsp; # direct voicemail<br>&nbsp;&nbsp;&nbsp; if (uri =~ &quot;sip:\*98@&quot; ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rewriteuser(&quot;1&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xdbg(&quot;voicemail access\n&quot;);<br>
&nbsp;&nbsp;&nbsp; } else if (uri =~ &quot;sip:\*981@&quot; ) {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; strip(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rewriteuser(&quot;11&quot;);<br>&nbsp;&nbsp;&nbsp; } else if (uri =~ &quot;sip:\*98.+@&quot; ) {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; strip(3);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);<br>
&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog(&quot;unknown media extension $rU\n&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;Unknown media service&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; # route to Asterisk Media Server<br>
&nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://192.168.1.11:5060">192.168.1.11:5060</a>&quot;);<br>&nbsp;&nbsp;&nbsp; route(1);<br>}<br><br>failure_route[1] {<br>&nbsp;&nbsp;&nbsp; if (t_was_cancelled()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xdbg(&quot;transaction was cancelled by UAC\n&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; # restore initial uri<br>&nbsp;&nbsp;&nbsp; avp_pushto(&quot;$ru&quot;,&quot;$avp(i:10)&quot;);<br>&nbsp;&nbsp;&nbsp; #avp_pushto(&quot;$ru&quot;, &quot;i:10&quot;);<br>&nbsp;&nbsp;&nbsp; prefix(&quot;1&quot;);<br>&nbsp;&nbsp;&nbsp; # route to Asterisk Media Server<br>
&nbsp;&nbsp;&nbsp; rewritehostport(&quot;<a href="http://192.168.1.11:5060">192.168.1.11:5060</a>&quot;);<br>&nbsp;&nbsp;&nbsp; resetflag(2);<br>&nbsp;&nbsp;&nbsp; route(1);<br>}<br><br><br>Thank you,<br><br><br>Khan<br><br>