<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Hi,<br><br>not sure how is generating this, but it's not a valid SIP URI:<br> <: 17322180369@myserver-ipaddress
:5090><br><br>regards,<br>bogdan</blockquote>
<div> </div>
<div> </div>
<div>Hi Bogdan</div>
<div> </div>
<div>I have redirecting the user if not available to to Voice mail of Asterisk</div>
<div>that run on myserver-ipaddress:5090</div>
<div> </div>
<div>i have integrated OpenSer+Asterisk</div>
<div> </div>
<div>so when the local user not availble it should go to Voice mail</div>
<div> </div>
<div>but when iam dialing from X-lite call going out.</div>
<div> </div>
<div>but when iam dialing from Sipura the call Going to voice mail .. why iam not sure</div>
<div> </div>
<div>here is my openser.cfg looks like</div>
<div> </div>
<div>-----------</div>
<div>
<p>modparam("uac","credential","99999:<a href="http://provider.com:99999">provider.com:99999</a>")</p>
<p># ------------------------- request routing logic -------------------</p>
<p>route {<br> #check for old messages: could mean a problem withthe DNS entries or some other loop-causer...<br> if (!mf_process_maxfwd_header("10"))<br> {<br> xlog("L_WARN", "WARNING: Too many hops\n");
<br> sl_send_reply("483", "Too many hops, forward count exceeded limit\n");<br> return;<br> };</p>
<p> #check for extremely large messages; we don't need a sip dos attack<br> if (msg:len >= 2048)<br> {<br> xlog("L_WARN", "WARNING: Message too large, >= 2048 bytes\n");<br> sl_send_reply("513", "Message too large, exceeded limit\n");
<br> return;<br> };</p>
<p> #record everything besides registers and acks<br> if(method!="REGISTER" && method!="ACK")<br> {<br> setflag(1);<br> };</p>
<p> #do not send to voicemail if BYE or CANCEL<br> #is used to end call before user pickup or timeout<br> if(method=="CANCEL" || method=="BYE")<br> {<br> setflag(10);<br> };</p>
<p> #grant route if route headers already present<br> if (loose_route())<br> {<br> route(1);<br> return;<br> };</p>
<p> #Always require authentication, which could result in a PSTN, ie $$$</p>
<p> if (method=="REGISTER")<br> {<br> if(!www_authorize("<a href="http://mydomain.com">mydomain.com</a>", "subscriber"))<br> {<br> www_challenge("<a href="http://mydomain.com">mydomain.com
</a>", "0");<br> return;<br> }<br> else<br> {<br> if (!check_to())<br> {<br> sl_send_reply("401", "Unauthorized");<br> return;<br> };</p>
<p> #Save into user database, used below when checkingif user is available<br> xlog("L_INFO", "REGISTER: User Authenticated Correctly\n");<br> save("location");<br> return;<br> };<br>
};<br>#}<br> if (method=="INVITE")<br> {<br> if(uri=~"sip:\*98@.*")<br> #if(uri=~"sip:\*86@.*")<br> {<br> #authorize if a call is going to PSTN<br> if(!proxy_authorize("<a href="http://mydomain.com">
mydomain.com</a>", "subscriber"))<br> {<br> proxy_challenge("<a href="http://mydomain.com">mydomain.com</a>", "0");<br> return;<br> };</p>
<p> xlog("L_INFO", "CALL: Call to check voicemail\n");<br> rewritehostport("myserver-ipaddress:5090");<br> }<br> else<br> {<br> if (does_uri_exist())<br> {<br> #Call is to sip client, so do nothing but route
<br> xlog("L_INFO", "CALL: Sip client\n");<br> if (!lookup("location"))<br> {<br># sl_send_reply("404", "Not Found");<br># log(1, "ERROR: User Not Found\n");
<br> rewritehostport("myserver-ipaddress:5090");<br> t_relay();<br> return;<br> };<br> }<br> else<br> {<br> #authorize if a call is going to PSTN<br> if(!proxy_authorize("<a href="http://mydomain.com">
mydomain.com</a>", "subscriber"))<br> {<br> proxy_challenge("<a href="http://mydomain.com">mydomain.com</a>", "0");<br> return;<br> };</p>
<p> #Call destination is PSTN, so send it to the gateway (<a href="http://Net.com">Net.com</a>)<br> xlog("L_INFO", "CALL: PSTN gateway1\n");<br> rewritehostport("provider-ip:5060");<br>
};<br> };</p>
<p> #Make sure that all subsequent requests go through us;<br> record_route();<br> }<br> else<br> {<br> if (does_uri_exist())<br> {<br> #Call is to sip client, so do nothing but route<br> xlog("L_INFO", "CALL: Sip client\n");
<br> if (!lookup("location"))<br> {<br># sl_send_reply("404", "Not Found");<br># log(1, "ERROR: User Not Found\n");<br> rewritehostport("myserver-ipaddress:5090");
<br> t_relay();<br> return;<br> };<br>}<br>else<br>{<br> #Call destination is PSTN, so send it to the gateway (<a href="http://Net.com">Net.com</a>)<br> xlog("L_INFO", "CALL: PSTN gateway2\n");
<br> rewritehostport("provider-ip:5060");<br> };<br> record_route();<br> };</p>
<p> #ALL PROCESSING IS DONE, SO ROUTE<br> route(1);<br>}</p>
<p><br>route[1]<br>{<br>#send the call outward</p>
<p> if(method=="INVITE" && !isflagset(10))<br> {<br> t_on_failure("2");<br> };</p>
<p> if (!t_relay())<br> {<br> xlog("L_WARN", "ERROR: t_relay failed");<br> sl_reply_error();<br> };</p>
<p>}</p>
<p>failure_route[2]<br>{<br> if(!t_was_cancelled())<br> {<br> revert_uri();<br> rewritehostport("myserver-ipaddress:5090");<br> append_branch();<br> #PREVENT SOME CRAZY VOICEMAIL LOOP<br> xlog("L_INFO", "INFO: CALL TO VOICEMAIL");
<br> setflag(10);<br> route(1);</p>
<p> }<br>}<br></p>
<p>ram</p></div><br> </div>