[OpenSER-Users] OpenSerand RTPProxy, no RTP audio
Robert Dyck
rob.dyck at telus.net
Fri Feb 15 03:49:10 CET 2008
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 at 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 at 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 at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list