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