Hi everybody,<br><br>I'm having problems rewritehostport to PSTN gateway. It gives me the 403 Forbidden error. Here is the error:<br><br>SEND TIME: 130027089<br>SEND &gt;&gt; <br>ACK sip:0013373038435@test.com SIP/2.0<br>Via: SIP/2.0/UDP70.xxx.xxx.xxx:5060;rport;branch=z9hG4bK437FA12BFB124DA68EB569C02212327D<br>From: Kenny &lt;sip:200@test.com&gt;;tag=1187743606<br>To: &lt;sip:0013373038435@test.com&gt;;tag=eb9822f1ed1b15a932bf98c097b3aaca.befd<br>Contact: &lt;sip:200@70.xxx.xxx.xxx:5060&gt;<br>Call-ID: 67A1BB1A-C737-4C24-B7AF-19E9C92C2B47@192.168.1.30<br>CSeq: 9401 ACK<br>Max-Forwards: 70<br>Content-Length: 0<br><br><br>SEND TIME: 130027095<br>SEND &gt;&gt; 70.xxx.xxx.xxx:5060<br>INVITE sip:0013373038435@test.com SIP/2.0<br>Via: SIP/2.0/UDP70.xxx.xxx.xxx:5060;rport;branch=z9hG4bKF16D7EAC63D6463A8624A802F5BB4908<br>From: Kenny &lt;sip:200@test.com&gt;;tag=1187743606<br>To: &lt;sip:0013373038435@test.com&gt;<br>Contact: &lt;sip:200@70.xxx.xxx.xxx:5060&gt;<br>Call-ID:
 67A1BB1A-C737-4C24-B7AF-19E9C92C2B47@192.168.1.30<br>CSeq: 9402 INVITE<br>Proxy-Authorization: Digest username="200",realm="test.com",nonce="44a21eb77c572fc09155f89521700490cb8a87ef",response="75921f5f225efeaeb0177e3353769190",uri="sip:0013373038435@test.com"<br>Max-Forwards: 70<br>Content-Type: application/sdp<br>User-Agent: X-Lite release 1105x<br>Content-Length: 308<br><br>v=0<br>o=200 130026958 130027078 IN IP470.xxx.xxx.xxx<br>s=X-Lite<br>c=IN IP4 70.xxx.xxx.xxx<br>t=0 0<br>m=audio 8000 RTP/AVP 0 8 3 98 97 101<br>a=rtpmap:0 pcmu/8000<br>a=rtpmap:8 pcma/8000<br>a=rtpmap:3 gsm/8000<br>a=rtpmap:98 iLBC/8000<br>a=rtpmap:97 speex/8000<br>a=rtpmap:101 telephone-event/8000<br>a=fmtp:101 0-15<br>a=sendrecv<br><br>RECEIVE TIME: 130027172<br>RECEIVE &lt;&lt; 70.xxx.xxx.xxx:5060<br>SIP/2.0 100 trying -- your call is important to us<br>Via: SIP/2.0/UDP 70.xxx.xxx.xxx:5060;rport=5060;branch=z9hG4bKF16D7EAC63D6463A8624A802F5BB4908;received=192.168.1.1<br>From: Kenny
 &lt;sip:200@test.com&gt;;tag=1187743606<br>To: &lt;sip:0013373038435@test.com&gt;<br>Call-ID: 67A1BB1A-C737-4C24-B7AF-19E9C92C2B47@192.168.1.30<br>CSeq: 9402 INVITE<br>Server: OpenSer (1.0.1 (i386/linux))<br>Content-Length: 0<br>Warning: 392 192.168.1.6:5060 "Noisy feedback tells:&nbsp; pid=4989 req_src_ip=192.168.1.1 req_src_port=5060 in_uri=sip:0013373038435@test.com out_uri=sip:13373038435@pstn.gateway:5060 via_cnt==1"<br><br><br>RECEIVE TIME: 130027371<br>RECEIVE &lt;&lt; 70.xxx.xxx.xxx:5060<br>SIP/2.0 403 Forbidden<br>To: &lt;sip:0013373038435@test.com&gt;;tag=3360460030-876466<br>From: Kenny &lt;sip:200@test.com&gt;;tag=1187743606<br>Call-ID: 67A1BB1A-C737-4C24-B7AF-19E9C92C2B47@192.168.1.30<br>CSeq: 9402 INVITE<br>Contact: sip:13373038435@65.xxx.xxx.xxx:5060<br>Via: SIP/2.0/UDP 70.xxx.xxx.xxx:5060;received=192.168.1.1;rport=5060;branch=z9hG4bKF16D7EAC63D6463A8624A802F5BB4908<br>Content-Length: 0<br><br><br>SEND TIME: 130027372<br>SEND
 &gt;&gt;70.xxx.xxx.xxx:5060<br>ACK sip:0013373038435@test.comSIP/2.0<br>Via: SIP/2.0/UDP 70.xxx.xxx.xxx:5060;rport;branch=z9hG4bKF16D7EAC63D6463A8624A802F5BB4908<br>From: Kenny &lt;sip:200@test.com&gt;;tag=1187743606<br>To: &lt;sip:0013373038435@test.com&gt;;tag=3360460030-876466<br>Contact: &lt;sip:200@70.xxx.xxx.xxx:5060&gt;<br>Call-ID: 67A1BB1A-C737-4C24-B7AF-19E9C92C2B47@192.168.1.30<br>CSeq: 9402 ACK<br>Max-Forwards: 70<br>Content-Length: 0<br><br><br>********************************Openser.cfg********************************************<br><br><br>debug=3<br>fork=yes<br>log_stderror=no<br><br>listen=192.168.1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>alias=test.com<br>port=5060<br>children=32<br><br>dns=no<br>rev_dns=no<br>fifo="/tmp/openser_fifo"<br>fifo_db_url="mysql://openser:openserrw@localhost/openser"<br><br>loadmodule "/usr/local/lib/openser/modules/mysql.so"<br>loadmodule "/usr/local/lib/openser/modules/sl.so"<br>loadmodule
 "/usr/local/lib/openser/modules/tm.so"<br>loadmodule "/usr/local/lib/openser/modules/rr.so"<br>loadmodule "/usr/local/lib/openser/modules/maxfwd.so"<br>loadmodule "/usr/local/lib/openser/modules/usrloc.so"<br>loadmodule "/usr/local/lib/openser/modules/registrar.so"<br>loadmodule "/usr/local/lib/openser/modules/auth.so"<br>loadmodule "/usr/local/lib/openser/modules/auth_db.so"<br>loadmodule "/usr/local/lib/openser/modules/uri.so"<br>loadmodule "/usr/local/lib/openser/modules/uri_db.so"<br>loadmodule "/usr/local/lib/openser/modules/nathelper.so"<br>loadmodule "/usr/local/lib/openser/modules/avpops.so"<br>loadmodule "/usr/local/lib/openser/modules/textops.so"<br>loadmodule "/usr/local/lib/openser/modules/xlog.so"<br><br>modparam("auth_db|uri_db|usrloc", "db_url",<br>&nbsp;&nbsp;&nbsp; "mysql://openser:openserrw@localhost/openser")<br>modparam("auth_db", "calculate_ha1", 1)<br>modparam("auth_db", "password_column", "password")<br><br>modparam("nathelper", "natping_interval",
 30) <br>modparam("nathelper", "ping_nated_only", 1)&nbsp;&nbsp; <br>modparam("nathelper", "rtpproxy_sock", "/var/run/rtpproxy.sock")<br><br>modparam("usrloc", "db_mode", 2)<br><br>modparam("registrar", "nat_flag", 6)<br><br>modparam("rr", "enable_full_lr", 1)<br><br>modparam("tm", "fr_inv_timer", 27)<br>modparam("tm", "fr_inv_timer_avp", "inv_timeout")<br><br>route {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # Sanity Check Section<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; if (!mf_process_maxfwd_header("10")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("483", "Too Many Hops");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (msg:len &gt; max_len) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("513", "Message Overflow");<br>&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # Record Route Section<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; if (method!="REGISTER") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record_route();<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (method=="BYE" || method=="CANCEL") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unforce_rtp_proxy();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_relay();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; } <br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # Loose Route Section<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; if (loose_route()) {<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if
 ((method=="INVITE" || method=="REFER") &amp;&amp; !has_totag()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Does not have to tag, FORBIDDEN\n");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403", "Forbidden");<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; if (method=="INVITE") {<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!proxy_authorize("","subscriber")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge("","0");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else if (!check_from()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403", "Use From=ID");<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; &nbsp;&nbsp;&nbsp; consume_credentials();<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (nat_uac_test("19")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(6);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rport();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Forcing rtpport\n");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_contact();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rtp_proxy("l");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp;
 };<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # Call Type Processing Section<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (method=="ACK") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; } else if (method=="CANCEL") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; } else if (method=="INVITE") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(3);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; } else&nbsp; if (method=="REGISTER")
 {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(2);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; lookup("aliases");<br>&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (!lookup("location")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "User Not Found");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; route(1);<br>}<br><br>route[1] {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # Default Message Handler<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp; t_on_reply("1");<br><br>&nbsp;&nbsp;&nbsp; if (!t_relay())
 {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (method=="INVITE" &amp;&amp; isflagset(6)) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unforce_rtp_proxy();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Unforce RTP proxy2\n");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Dunno why forbidden\n");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Forbidden4\n");<br>&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; <br>}<br><br>route[2] {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # REGISTER Message Handler<br>&nbsp;&nbsp;&nbsp; # ----------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp; if (!search("^Contact:[ ]*\*") &amp;&amp; nat_uac_test("19")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(6);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
 fix_nated_register();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rport();<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; sl_send_reply("100", "Trying");<br><br>&nbsp;&nbsp;&nbsp; if (!www_authorize("","subscriber")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; www_challenge("","0");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (!check_to()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("401", "Unauthorized");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; consume_credentials();<br><br>&nbsp;&nbsp;&nbsp; if (!save("location")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>&nbsp;&nbsp;&nbsp; };<br>}<br><br>route[3] {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # INVITE Message Handler<br>&nbsp;&nbsp;&nbsp; #
 -----------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp; if (!proxy_authorize("","subscriber")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge("","0");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; } else if (!check_from()) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403", "Use From=ID");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; consume_credentials();<br><br>&nbsp;&nbsp;&nbsp; if (nat_uac_test("19")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setflag(6);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("Setflag cos behind NAT\n");<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; lookup("aliases");<br>&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if (uri=~"^sip:00[0-9]*@") {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # International PSTN<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("International PSTN\n");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; strip(2);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(5);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; if (!lookup("location")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "User Not Found");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; route(4);<br>&nbsp;&nbsp;&nbsp; route(1);<br>}<br><br>route[4] {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # NAT Traversal Section<br>&nbsp;&nbsp;&nbsp; #
 -----------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp; if (isflagset(6)) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rport();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_contact();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rtp_proxy();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog("NAT Traversal Section\n");<br>&nbsp;&nbsp;&nbsp; }<br>}<br><br>route[5] {<br><br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; # PSTN Handler<br>&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; xlog("Routing to PSTN gateway\n");<br>&nbsp;&nbsp;&nbsp; rewritehostport("pstn.gateway:5060"); <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; avp_write("i:45", "inv_timeout");<br><br>&nbsp;&nbsp;&nbsp; route(1);<br>&nbsp;&nbsp;&nbsp; xlog("Routed to PSTN gateway\n");<br>}<br><br><br>onreply_route[1] {<br><br>&nbsp;&nbsp;&nbsp; if
 (isflagset(6) &amp;&amp; status=~"(180)|(183)|2[0-9][0-9]") {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!search("^Content-Length:[ ]*0")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; force_rtp_proxy();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; if (nat_uac_test("1")) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fix_nated_contact();<br>&nbsp;&nbsp;&nbsp; };<br>}<br><br><p>&#32;
                <hr size=1>Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. <a href="http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com"> Great rates starting at 1¢/min.