[Users] openser config file to use mediaproxy

messa at innsof.com messa at innsof.com
Sat Nov 12 20:10:10 CET 2005


Hi all


    I want to use madiaproxy module to do nat transversal. But it not work
for me. I run the media proxy server (proxy server) in the same host
than openser on a host with public IP and i set the openser
configuration file to above:


#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $
#
# simple quick-start config script
#

# ----------- 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
fifo="/tmp/openser_fifo"

#loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
#loadmodule "/usr/local/lib/openser/modules/auth.so"
#loadmodule "/usr/local/lib/openser/modules/auth_radius.so"
#loadmodule "/usr/local/lib/openser/modules/auth_db.so"

loadmodule "/usr/local/lib/openser/modules/uri.so"
#loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
#loadmodule "/usr/local/lib/openser/modules/uri_db.so"
#loadmodule "/usr/local/lib/openser/modules/uri_radius.so"

#modparam("auth_db|usrloc|uri_db",
"db_url","mysql://ser:heslo@localhost/ser")
#modparam("auth_db", "calculate_ha1", 1)
#modparam("auth_db", "password_column", "password")

modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "rtpproxy_sock","unix:/var/run/rtpproxy.sock")
modparam("usrloc", "db_mode", 0)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)

route {

     #----------------------------------------------------------------
     # Sanity Check Section
     #-----------------------------------------------------------------

     if (!mf_process_maxfwd_header("10")) {
             sl_send_reply("483", "Too Many Hops");
             exit;
     };

     if (msg:len > max_len) {
             sl_send_reply("513", "Message Overflow");
             exit;
     };

     #-----------------------------------------------------------------
     # Record Route Section
     #-----------------------------------------------------------------

     if (method!="REGISTER") {
             record_route();
     };

     if (method=="BYE" || method=="CANCEL") {
             unforce_rtp_proxy();
     };

     #-----------------------------------------------------------------
     # Loose Route Section
     #-----------------------------------------------------------------

     if (loose_route()) {

           if (has_totag() && method=="INVITE") {
                   if (nat_uac_test("19")) {
                           setflag(6);
                           force_rport();
                           fix_nated_contact();
                   };

                   force_rtp_proxy("l");
           };
           route(1);
           exit;
    };
    #-----------------------------------------------------------------
    # Call Type Processing Section
    #-----------------------------------------------------------------
    if (uri==myself) {
           if (method=="INVITE") {
                   route(3);
                   exit;
           } else if (method=="REGISTER") {
                   route(2);
                   exit;
           };

          if (!lookup("location")) {
                   sl_send_reply("404", "User Not
Found");
                   exit;
           };
          route(1);
    };
}


route[1] {
     #-----------------------------------------------------------------
     # Default Message Handler
     #-----------------------------------------------------------------
     t_on_reply("1");
     if (!t_relay()) {
            if (method=="INVITE" && isflagset(6)) {
                    unforce_rtp_proxy();
            };
            sl_reply_error();
     };
}

route[2] {
     #-----------------------------------------------------------------
     # REGISTER Message Handler
     #----------------------------------------------------------------
     if (!search("^Contact: \*") && nat_uac_test("19")) {
             setflag(6);
             fix_nated_register();
#               fix_nated_contact();
             force_rport();
     };
     sl_send_reply("100", "Trying");

#     if (!www_authorize("","subscriber")) {
#             www_challenge("","0");
#             exit;
#     };

#     if (!check_to()) {
#             sl_send_reply("401", "Unauthorized");
#             exit;
#     };

#     consume_credentials();

     if (!save("location")) {
             sl_reply_error();
        };
}

route[3] {
     #-----------------------------------------------------------------
     # INVITE Message Handler
     #-----------------------------------------------------------------
     if (nat_uac_test("19")) {
             setflag(6);
     };
     if (!lookup("location")) {
             sl_send_reply("404", "User Not Found");
             exit;
     };
#     if (!proxy_authorize("","subscriber")) {
#             proxy_challenge("","0");
#             break;
#     } else if (!check_from()) {
#       if(!check_from()) {
#             sl_send_reply("403", "Use From=ID");
#             exit;
#     };

#     consume_credentials();

     if (isflagset(6)) {
             force_rport();
             fix_nated_contact();
             force_rtp_proxy();
     };

        t_on_reply("1");

     if (!t_relay()) {

             if(isflagset(6)) {
                    unforce_rtp_proxy();
             };

             sl_reply_error();
     };
}

onreply_route[1] {
     if (isflagset(6) && (status=~"(180)|(183)|2[0-9][0-9]")) {
             if (!search("^Content-Length:\ 0")) {
                    force_rtp_proxy();
             };
     }
        else if (nat_uac_test("1")) {
             fix_nated_contact();
     };
}


What's wrong?

your comments are welcome.

Thanks

                                        Serge MESSA








More information about the sr-users mailing list