<div>Hi all,</div> <div>I am jus trying to experiment strange things. please tell me if this is possible. I have an user behind NAT calling a user on pstn side. Since the pstn gateway is on a public IP, I dont use mediaproxy, what i do before an invite is:</div> <div>fix_nated_contact();</div> <div>fix_nated_sdp("15");</div> <div>This call is successful and both the parties can hear. But again when a user at public IP trues to contact the user behind NAT, there is only "one way audio". Here also I do a fix_nated_contact() and fix_nated_sdp("15") in the onreply_route[], but I get the foll error in my syslog.</div> <div>Mar 23 14:36:19 switch2 /usr/local/sbin/openser[29070]: ERROR: extract_mediaip: no `c=' in SDP<BR>Mar 23 14:36:19 switch2 /usr/local/sbin/openser[29070]: ERROR: extract_mediaip: no `o=' in SDP<BR></div> <div>Can someone pls explain what these errors are and why do they occur. My cfg file is below:</div>
<div>debug=9 # debug level (cmd line: -dddddddddd)<BR>fork=yes<BR>log_stderror=no</div> <div>check_via=no # (cmd. line: -v)<BR>dns=no # (cmd. line: -r)<BR>rev_dns=no # (cmd. line: -R)<BR>listen=202.XX.XX.XX<BR>port=5060<BR>children=4<BR>fifo="/tmp/openser_fifo"</div> <div>loadmodule "/usr/local/lib/openser/modules/mysql.so"</div> <div>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/textops.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/mediaproxy.so"<BR>loadmodule "/usr/local/lib/openser/modules/nathelper.so"<BR>loadmodule "/usr/local/lib/openser/modules/domain.so"</div> <div>modparam("auth_db|usrloc",<BR> "db_url", "mysql://openser:openserrw@localhost/openser")<BR>modparam("usrloc", "db_mode", 2)</div> <div>modparam("auth_db", "calculate_ha1", 1)<BR>modparam("auth_db", "password_column", "password")</div> <div>modparam("registrar", "nat_flag", 6)</div> <div>modparam("rr", "enable_full_lr", 1)</div> <div>modparam("mediaproxy", "natping_interval", 30)</div> <div>modparam("nathelper", "rtpproxy_disable", 1)<BR>modparam("nathelper", "natping_interval", 0)</div> <div> </div> <div>route{</div> <div> if (!mf_process_maxfwd_header("10")) {<BR>
sl_send_reply("483","Too Many Hops");<BR> exit;<BR> };</div> <div> if (msg:len >= 2048 ) {<BR> sl_send_reply("513", "Message too big");<BR> exit;<BR> };</div> <div> if(!method=="REGISTER") {<BR> record_route();<BR> };</div> <div> if (loose_route()) {<BR> append_hf("P-hint:
rr-enforced\r\n");<BR> route(1);<BR> return;<BR> };<BR> if (uri!=myself) {<BR> route(1);<BR> return;<BR> };<BR> if(uri==myself) {<BR> if(method=="REGISTER") {<BR> sl_send_reply("100", "Trying");</div> <div> if (!search("^Contact:\ +\*") && client_nat_test("7"))
{<BR> setflag(6);<BR> force_rport();<BR> fix_nated_contact();<BR> };</div> <div> if (!www_authorize("","subscriber")) {<BR> www_challenge("", "0");<BR> exit;<BR> };<BR>
save("location");<BR> exit;<BR> };</div> <div> if(method=="INVITE") {<BR> if (client_nat_test("3")) {<BR> force_rport();<BR> fix_nated_sdp("15");<BR>
fix_nated_contact();<BR> setflag(7);<BR> };</div> <div> if(src_ip==202.XX.XX.44) { #my pstn gateway. calls are only for registered users<BR> if(!lookup("location")) {<BR> sl_send_reply("404", "User not
found");<BR> exit;<BR> };<BR> route(1);<BR> };</div> <div> if (!proxy_authorize("","subscriber")) {<BR>
proxy_challenge("", "0");<BR> exit;<BR> };</div> <div> route(2);<BR> return;<BR> };<BR> };<BR>}</div> <div>route[1] {<BR> t_on_reply("1");</div> <div> if(!t_relay())
{<BR> sl_reply_error();<BR> exit;<BR> };<BR>}</div> <div>route[2] {<BR> if(uri=~"^sip:0[0-9]*@") {<BR> strip(1);<BR> rewritehost("202.80.61.1");<BR> route(1);<BR> exit;<BR> };</div> <div> if(!lookup("location"))
{<BR> sl_send_reply("404", "User not found");<BR> exit;<BR> };<BR> route(1);<BR> exit;<BR>}</div> <div>onreply_route[1] {<BR> if ((isflagset(6) || isflagset(7)) &&<BR> (status=~"(180)|(183)|2[0-9][0-9]")) {</div> <div> if (!search("^Content-Length:\ +0")) {<BR> force_rport();<BR>
fix_nated_sdp("15");<BR> fix_nated_contact();<BR> };<BR> };<BR>}<BR><BR><BR></div> <div> </div> <div> </div><p>
        
        
                <hr size=1>
Jiyo cricket on <a href="http://us.rd.yahoo.com/mail/in/mailcricket/*http://in.sports.yahoo.com/cricket/">Yahoo! India cricket</a><br>
<a href="http://us.rd.yahoo.com/mail/in/mailmobilemessenger/*http://in.mobile.yahoo.com/new/messenger/">Yahoo! Messenger Mobile</a> Stay in touch with your buddies all the time.