--- Jiri Kuthan jiri@iptel.org wrote:
in front of the t_relay which forwards the transaction you wish to report on. -jiri
The only place I have t_relay is the loose forward section. if (loose_route()) { t_relay(); break; };
Should I place setflag(3) before t_relay() in this section? Or should it be in the section in which the call is made?
In my ser.cfg (entire file is at the bottom of this page) the call is made with the following lines: if (uri=~"sip:1[0-9]+@.*") { rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
::My ser.cfg :: # ----------- 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"
alias=mysip.mydomain.com # ------------------ module loading ---------------------------------- loadmodule "/usr/local/lib/ser/modules/mysql.so" loadmodule "/usr/local/lib/ser/modules/nathelper.so" loadmodule "/usr/local/lib/ser/modules/textops.so" loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/acc.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters --------------- modparam("usrloc", "db_mode", 2) modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") modparam("rr", "enable_full_lr", 1) modparam("acc", "log_level", 2) modparam("acc", "db_url", "sql://ser:heslo@localhost/ser") modparam("acc", "db_flag", 2)
# ------------------------- 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 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)
# 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; };
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("switch.myprovider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; }; if (uri=~"sip:011[0-9]+@.*") {
rewritehostport("switch.myprovider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
if (uri==myself) {
if (method=="REGISTER") { if (!www_authorize("mysip.mydomain.com", "subscriber")) {
www_challenge("mysip.mydomain.com", "0"); break; };
save("location"); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { 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()) { sl_reply_error(); }; lookup("aliases"); save("aliases");
}
===== Asterisk is my lover, and IAX2 is our scented lubricant
__________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/