Hi Robert,
I placed a call from 2.3 to 2.5(gail) to observe the traffic. Then I place a call from 2.3 to gail@2.10 to observe the traffic through openser.
For the network topology, it's all on the same local network. I tried the default cfg file and it works fine. I'll try adjusting nat_uac_test, as it's not recognizing I'm on the local network.
All set, Thanks!
-----Original Message----- From: Robert Dyck Sent: Thursday, February 14, 2008 9:49 PM To: users@lists.openser.org Cc: Eric Phetteplace Subject: Re: [OpenSER-Users] OpenSerand RTPProxy, no RTP audio
The pro's seem to be busy so I'll give it a go.
If gail == 2.5 then a call from 2.5 to gail does not make much sense but maybe it was a typo.
You did not say anything about your topology. Where were expecting to find the RTP packets?
uac test 19 ( really 16+2+1 ) maybe isn't really what you want. Check the nathelper documentation. Among other things it will check for a private address. If you have local to local calls, there is no NAT involved. Sending
the RTP through a proxy is unnecessary. It probably would work though.
On Thursday 14 February 2008, Eric Phetteplace wrote:
Hello,
Following
http://www.voip-info.org/wiki/index.php?page=OpenSER%20v1.2.x%20and%20RTPPr
o xy and cleaning up the errors in the log, I have OpenSER 1.3 and RTPProxy running in my local domain (192.168.2.10)
I have two SIP phones in my local domain, on two machines. (2.5 and 2.3)
I added an alias via openserctl ul add gail sip:192.168.2.5
Looking at the packets captured from a call between 2.5 and 2.3, 2.3
should
start streaming RTP packets after it ACKs the 200 from 2.5
I call from 192.168.2.5 to gail@192.168.2.10 and the connection is established between the three, but no RTP streams ever begin. I expected to see 2.3 streaming RTP after it ACKs the 200 from 2.10.
Any suggestions?
Here's my cfg file:
# # sample config file to be used with nathelper/rtpproxy # # start RTPProxy with: rtpproxy -l your_public_ip -s udp:localhost:8899 #
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) fork=yes log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode fork=no log_stderror=yes */
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=4
# --- module loading
mpath="/usr/local/lib/openser/modules/"
loadmodule "mysql.so" loadmodule "sl.so" loadmodule "tm.so" loadmodule "rr.so" loadmodule "maxfwd.so" loadmodule "usrloc.so" loadmodule "textops.so" loadmodule "auth.so" loadmodule "auth_db.so" loadmodule "xlog.so" loadmodule "registrar.so" loadmodule "mi_fifo.so" loadmodule "presence.so" loadmodule "presence_xml.so" loadmodule "xcap_client.so" loadmodule "nathelper.so"
# --- setting module parameters
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
modparam("auth_db","db_url","mysql://openser:secret@127.0.0.1/openser")
modparam("registrar", "received_avp", "$avp(s:rcv)")
modparam("xcap_client", "db_url", "mysql://openser:secret@127.0.0.1/openser")
# -- usrloc params -- modparam("usrloc", "db_url", "mysql://openser:secret@127.0.0.1/openser") modparam("usrloc", "db_mode", 2) modparam("usrloc", "nat_bflag", 3)
# -- registrar params -- modparam("registrar", "received_avp", "$avp(s:rcv)")
# -- auth params -- modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password")
# -- rr params -- modparam("rr", "enable_full_lr", 1)
# -- nathelper modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:8899") modparam("nathelper", "natping_interval", 30) modparam("nathelper", "ping_nated_only", 1) #modparam("nathelper", "sipping_bflag", 7) modparam("nathelper", "sipping_from", "sip:pinger@openser.org") modparam("nathelper", "received_avp", "$avp(s:rcv)")
# -- xlog modparam("xlog", "buf_size", 8192)
# -- presence params -- modparam("presence|presence_xml|usrloc", "db_url", "mysql://openser:secret@127.0.0.1/openser") modparam("presence", "max_expires", 3600) modparam("presence_xml", "force_active", 1) modparam("presence", "server_address", "sip:127.0.0.1:5060" )
# --- main routing logic route{ xlog("***start***\n"); if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); xlog("***end - Too Many Hops"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); xlog("***end - Too big"); exit; };
# NAT detection route(2);
if (!method=="REGISTER") { xlog("***route - recordroute\n"); record_route(); } if (loose_route()) { xlog("***route - looseroute\n"); append_hf("P-hint: rr-enforced\r\n"); route(1); };
if (!uri==myself) { xlog("***route - not myself\n"); append_hf("P-hint: outbound\r\n"); route(1); };
if (uri==myself) { if (method=="REGISTER") { xlog("***route - register"); if (!www_authorize("openser.org", "subscriber")) { xlog("***route - challenging"); www_challenge("openser.org", "0"); exit; };
if (isflagset(5)) { xlog("***route - isflagset(5)"); setflag(6); # if you want OPTIONS natpings uncomment
next # setflag(7); }; save("location"); xlog("***route - registered"); exit; };
if (!lookup("location")) { sl_send_reply("404", "Not Found"); xlog("***route - 404, Not found"); exit; }; append_hf("P-hint: usrloc applied\r\n");
};
route(1); xlog("***end***\n"); }
route[1] { xlog("***route1***\n"); if (subst_uri('/(sip:.*);nat=yes/\1/')){ xlog("***route[1] - setflag(6)"); setflag(6); };
if (isflagset(5)||isflagset(6)) { xlog("***route[1] - route(3)"); route(3); }
if (!t_relay()) { xlog("***route[1] - error"); sl_reply_error(); }; xlog("***end - route[1]"); exit; }
route[2]{ xlog("***route2***\n"); force_rport(); if (nat_uac_test("19")) { xlog("***route2 - nat_uac_test(19)\n"); if (method=="REGISTER") { xlog("***route2 - register\n"); fix_nated_register(); } else { xlog("***route2 - contact\n"); fix_nated_contact(); }; setflag(5); }; }
route[3] { xlog("***route3***\n"); if (is_method("BYE|CANCEL")) { xlog("***route3 - unforce\n"); unforce_rtp_proxy(); } else if (is_method("INVITE")){ xlog("***route3 - force\n"); force_rtp_proxy("i"); t_on_failure("1"); }; if (isflagset(5)) { xlog("***route3 - isflagset(5)\n"); search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes'); } t_on_reply("1"); }
failure_route[1] { xlog("***failureroute1***\n"); if (isflagset(6) || isflagset(5)) { xlog("***failroute1 - unforce\n"); unforce_rtp_proxy(); } }
onreply_route[1] { xlog("***onreplyroute1***\n"); if ((isflagset(5) || isflagset(6)) && status=~"(183)|(2[0-9][0-9])") { xlog("***onreplyroute1 - force\n"); force_rtp_proxy("i"); } search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
if (isflagset(6)) { xlog("***onreplyroute1 - contact\n"); fix_nated_contact(); } xlog("***end - onreplyrout[1]"); exit; }
Thanks,
Eric
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users