You will need the CVS version. Or you can use the Media Proxy - which has something similar and works with 0.8.12.
Dhiraj
-----Original Message----- From: serusers-bounces@iptel.org [mailto:serusers-bounces@lists.iptel.org]On Behalf Of VCI Help Desk Sent: 29 June 2004 14:01 To: serusers@lists.iptel.org Subject: Re: [Serusers] nat_uac_test
I didn't mention it but I have version 0.8.12 from source (not RPM). I've tried searching all the modules source code and I can't find any references to nat_uac_test. Is this function in the nathelper module or in something else?
Bill Dunn
----- Original Message ----- From: Klaus Darilion To: Bill Cc: serusers@lists.iptel.org Sent: Tuesday, June 29, 2004 2:46 AM Subject: Re: [Serusers] nat_uac_test
probably you use an old ser version (rpm?). Get the latest stable from cvs and build ser yourself. Then you have the nathelper module with all features which were introduced after the first 0.8.12 release.
klaus
Bill wrote:
Shown below is my ser.cfg file. For some reason the nat_uac_test
routine doesn't work. The debugging says it doesn't know the command and believes I left out a module. I can't find much documentation on this command. Did I leave out a module or something required to use this?
Bill
# # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei 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 debug=7 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/ser_fifo" fifo_mode=0666
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/lib/ser/modules/mysql.so"
loadmodule "/lib/ser/modules/sl.so" loadmodule "/lib/ser/modules/tm.so" loadmodule "/lib/ser/modules/maxfwd.so" loadmodule "/lib/ser/modules/registrar.so" loadmodule "/lib/ser/modules/auth.so" # loadmodule "/lib/ser/modules/textops.so" # loadmodule "/lib/ser/modules/enum.so" loadmodule "/lib/ser/modules/group.so"
loadmodule "/lib/ser/modules/nathelper.so" modparam("nathelper", "natping_interval", 10)
# loadmodule "/lib/ser/modules/vm.so" # modparam("vm", "db_url", "sql://root:@127.0.0.1/ser") # modparam("vm", "email_column", "sip@xxx.xxx.net
# modparam("vm", "domain_column", "ser.vci.net")
loadmodule "/lib/ser/modules/acc.so" modparam("acc", "db_url", "sql://root:@127.0.0.1/ser") modparam("acc", "log_missed_flag", 2) modparam("acc", "log_level", 1) modparam("acc", "log_flag", 1) modparam("acc", "db_flag", 2) modparam("acc", "db_missed_flag", 2)
loadmodule "/lib/ser/modules/usrloc.so" modparam("usrloc", "db_mode", 0) modparam("usrloc", "db_mode", 2)
loadmodule "/lib/ser/modules/auth_db.so" modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password")
loadmodule "/lib/ser/modules/rr.so" modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { log("1,Connection from someone behind a NAT"); }; if (uri =~ "^sip:admin" ) { log(1, "Connection from admin@xxx.xxx.net
mailto:admin@xxx.xxx.net"); };
if (method=="CANCEL") { log(1,"Sent CANCEL request"); } if (method=="INVITE") { log(1,"Sent INVITE request"); } # we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol record_route(); # loose-route processing if (loose_route()) { t_relay(); break; }; setflag(2); # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { log(1,"processing request for ser.vci.net domain"); if (method=="REGISTER") { log(1,"register request for xxx.xxx.net domain"); if (!www_authorize("xxx.xxx.net", "subscriber")) { www_challenge("ser.vci.net", "0"); break; }; save("location"); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { log(1,"404 - Not Found"); acc_db_request("404 Not Found", "acc"); sl_send_reply("404", "Not Found"); break; }; }; # forward to current uri now; use stateful forwarding; that # works reliably even if we forward from TCP to UDP if (!t_relay()) { log(1,"not sure what this does"); sl_reply_error(); };
}
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________ Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers