Hi David,
In failure_route you need to add the new destination as a new branch.
Try it like this:
failure_route[1] {
log("---> TRYING GW1 <---\n");
rewritehostport("GW1:5060");
append_branch();
t_relay_to_udp("GW1","5060");
break;
}
Best regards,
Marian
David Filion wrote:
Hi,
At work are planning to use SER to route traffic between a pstn gateway,
Asterisk, and direct lookups. We would like to set up the routing to
try a second gateway if it cannot contact the primary gateway. Below is
the config file and attached is the output from a sample session.
Ideally, we would like to see
If( ! forward to GW2)
Forward(GW1);
}
From what I’ve read in the archives, forward() cannot be used (yes, I
tried it anywayJ ). The config below does get to the failure_route but
at that point two errors appear:
1(21749) ERROR: t_forward_nonack: no branched for fwding
1(21749) ERROR: failure_route: t_relay_to failed
Any tips/pointers?
David
# ----------- global configuration parameters ------------------------
listen=XXX.XXX.XXX.XXX
alias=XXX.com
alias=XXX.XXX.com
#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"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/mysql.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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# -- tm params --
#modparam("tm", "fr_timer", 10)
modparam("tm", "fr_inv_timer", 15)
# ------------------------- 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;
};
# 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 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) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
# if (!www_authorize("iptel.org",
"subscriber")) {
#
www_challenge("iptel.org", "0");
# break;
# };
save("location");
break;
};
if (method=="INVITE") {
# local user ids
if
(uri=~"^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@") {
forward("sip.dotality.com");
break;
};
# Phone #s
if
(uri=~"^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@") {
log("---> TRYING GW2
<---\n");
t_on_failure("1");
t_relay_to_udp("gw2","5060");
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();
};
};
};
}
# Fallback route for pstn gateways.
failure_route[1] {
log("---> TRYING GW1 <---\n");
t_relay_to_udp("GW1","5060");
break;
}
------------------------------------------------------------------------
0(21746) loading module /usr/local/lib/ser/modules/mysql.so
0(21746) loading module /usr/local/lib/ser/modules/sl.so
0(21746) loading module /usr/local/lib/ser/modules/tm.so
0(21746) loading module /usr/local/lib/ser/modules/rr.so
0(21746) loading module /usr/local/lib/ser/modules/maxfwd.so
0(21746) loading module /usr/local/lib/ser/modules/usrloc.so
0(21746) loading module /usr/local/lib/ser/modules/registrar.so
0(21746) loading module /usr/local/lib/ser/modules/auth.so
0(21746) loading module /usr/local/lib/ser/modules/auth_db.so
0(21746) set_mod_param_regex: usrloc matches module usrloc
0(21746) set_mod_param_regex: found <db_mode> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) set_mod_param_regex: auth_db matches module auth_db
0(21746) set_mod_param_regex: found <calculate_ha1> in module auth_db
[/usr/local/lib/ser/modules/auth_db.so]
0(21746) set_mod_param_regex: auth_db matches module auth_db
0(21746) set_mod_param_regex: found <password_column> in module auth_db
[/usr/local/lib/ser/modules/auth_db.so]
0(21746) set_mod_param_regex: rr matches module rr
0(21746) set_mod_param_regex: found <enable_full_lr> in module rr
[/usr/local/lib/ser/modules/rr.so]
0(21746) set_mod_param_regex: tm matches module tm
0(21746) set_mod_param_regex: found <fr_inv_timer> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) find_export: found <mf_process_maxfwd_header> in module maxfwd_module
[/usr/local/lib/ser/modules/maxfwd.so]
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) find_export: found <record_route> in module rr
[/usr/local/lib/ser/modules/rr.so]
0(21746) find_export: found <loose_route> in module rr
[/usr/local/lib/ser/modules/rr.so]
0(21746) find_export: found <t_relay> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) find_export: found <save> in module registrar
[/usr/local/lib/ser/modules/registrar.so]
0(21746) find_export: found <t_on_failure> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) find_export: found <t_relay_to_udp> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) find_export: found <lookup> in module registrar
[/usr/local/lib/ser/modules/registrar.so]
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) find_export: found <t_relay> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) find_export: found <sl_reply_error> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) find_export: found <t_relay_to_udp> in module tm
[/usr/local/lib/ser/modules/tm.so]
0(21746) routing table 0:
0(21746) if ( 0(21746) NOT( 0(21746) external_module_call( 0(21746)
f_ptr<0x42188c70> 0(21746) , "10" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42188c70> 0(21746) , "10" 0(21746)
); 0(21746) ) 0(21746) ) { 0(21746) external_module_call( 0(21746)
f_ptr<0x4001c760> 0(21746) , "483" 0(21746) , "Too Many Hops"
0(21746) ); 0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746)
}; 0(21746) if ( 0(21746) UNKNOWN 0(21746) <UNKNOWN> 0(21746) 65535 0(21746) ) {
0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"513" 0(21746) , "Message too big" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746)
external_module_call( 0(21746) f_ptr<0x40022f20> 0(21746) ); 0(21746) if ( 0(21746)
external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) ); 0(21746) ) { 0(21746)
external_module_call( 0(21746) f_ptr<0x4
22665d0> 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
uri 0(21746) == 0(21746) _myself_ 0(21746) ) { 0(21746) if ( 0(21746) method 0(21746) ==
0(21746) "REGISTER" 0(21746) ) { 0(21746) external_module_call( 0(21746)
f_ptr<0x4218e040> 0(21746) , "location" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
method 0(21746) == 0(21746) "INVITE" 0(21746) ) { 0(21746) if ( 0(21746) uri
0(21746) =~ 0(21746) "^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@" 0(21746) ) {
0(21746) forward( 0(21746) "sip.dotality.com" 0(21746) , 0 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if (
0(21746) uri 0(21746) =~ 0(21746) "^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@"
0(21746) ) { 0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon2 <---
" 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x422663e0> 0(21746) , "1" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42266bd0> 0(21746) ,
"gwmon2.dotality.com" 0(21746) , "5060" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
NOT( 0(21746) external_module_call( 0(21746) f_ptr<0x4218cdd0> 0(21746) ,
"location" 0(21746) ); 0(21746) external_module_call( 0(21746)
f_ptr<0x4218cdd0> 0(21746) , "location" 0(21746) ); 0(21746) ) 0(21746)
) { 0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"404" 0(21746) , "Not Found" 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) NOT(
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) ) 0(21746) )
{ 0(21746) external_module_call( 0(21746) f_ptr<0x4001c7a0>
0(21746) );
0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746)
}; 0(21746) if ( 0(21746) UNKNOWN 0(21746) <UNKNOWN> 0(21746) 65535 0(21746) ) {
0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"513" 0(21746) , "Message too big" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746)
external_module_call( 0(21746) f_ptr<0x40022f20> 0(21746) ); 0(21746) if ( 0(21746)
external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) ); 0(21746) ) { 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
uri 0(21746) == 0(21746) _myself_ 0(21746) ) { 0(21746) if ( 0(21746) method 0(21746) ==
0(21746) "REGISTER" 0(21746) ) { 0(21746) external_module_call( 0(21746)
f_ptr<0x4218e040> 0(21746) , "locat
ion" 0(21746) ); 0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746) } else
{ 0(21746) }; 0(21746) if ( 0(21746) method 0(21746) == 0(21746) "INVITE"
0(21746) ) { 0(21746) if ( 0(21746) uri 0(21746) =~ 0(21746)
"^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@" 0(21746) ) { 0(21746) forward( 0(21746)
"sip.dotality.com" 0(21746) , 0 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) uri
0(21746) =~ 0(21746) "^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@" 0(21746) ) {
0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon2 <---
" 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x422663e0> 0(21746) , "1" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42266bd0> 0(21746) ,
"gwmon2.dotality.com" 0(21746) , "5060" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
NOT( 0(21746) external_module_call( 0(21746) f_ptr<0x4218cdd0> 0(21746) ,
"location" 0(21746) ); 0(21746) external_module_call( 0(21746)
f_ptr<0x4218cdd0> 0(21746) , "location" 0(21746) ); 0(21746) ) 0(21746)
) { 0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"404" 0(21746) , "Not Found" 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) NOT(
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) ) 0(21746) )
{ 0(21746) external_module_call( 0(21746) f_ptr<0x4001c7a0>
0(21746) );
0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746)
}; 0(21746) external_module_call( 0(21746) f_ptr<0x40022f20> 0(21746) ); 0(21746)
if ( 0(21746) external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) );
0(21746) external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) ); 0(21746) ) {
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if (
0(21746) uri 0(21746) == 0(21746) _myself_ 0(21746) ) { 0(21746) if ( 0(21746) method
0(21746) == 0(21746) "REGISTER" 0(21746) ) { 0(21746) external_module_call(
0(21746) f_ptr<0x4218e040> 0(21746) , "location" 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if (
0(21746) method 0(21746) == 0(21746) "INVITE" 0(21746) ) { 0(21746) if (
0(21746) uri 0(21746) =~ 0(21746) "^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@"
0(21746) ) { 0(21
746) forward( 0(21746) "sip.dotality.com" 0(21746) , 0 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if (
0(21746) uri 0(21746) =~ 0(21746) "^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@"
0(21746) ) { 0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon2 <---
" 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x422663e0> 0(21746) , "1" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42266bd0> 0(21746) ,
"gwmon2.dotality.com" 0(21746) , "5060" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
NOT( 0(21746) external_module_call( 0(21746) f_ptr<0x4218cdd0> 0(21746) ,
"location" 0(21746) ); 0(21746) external_module_call( 0(21746)
f_ptr<0x4218cdd0> 0(21746) , "location" 0(21746) ); 0(21746) ) 0(21746)
) { 0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"404" 0(21746) , "Not Found" 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) NOT(
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) ) 0(21746) )
{ 0(21746) external_module_call( 0(21746) f_ptr<0x4001c7a0>
0(21746) );
0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746)
}; 0(21746) if ( 0(21746) external_module_call( 0(21746) f_ptr<0x40020e30>
0(21746) ); 0(21746) external_module_call( 0(21746) f_ptr<0x40020e30> 0(21746) );
0(21746) ) { 0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) );
0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746)
if ( 0(21746) uri 0(21746) == 0(21746) _myself_ 0(21746) ) { 0(21746) if ( 0(21746) method
0(21746) == 0(21746) "REGISTER" 0(21746) ) { 0(21746) external_module_call(
0(21746) f_ptr<0x4218e040> 0(21746) , "location" 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if (
0(21746) method 0(21746) == 0(21746) "INVITE" 0(21746) ) { 0(21746) if (
0(21746) uri 0(21746) =~ 0(21746) "^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@"
0(21746) ) { 0(21746) forward( 0(21746) "sip.dotality.com" 0(21746) , 0 0(21746)
); 0(21
746) drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if
( 0(21746) uri 0(21746) =~ 0(21746) "^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@"
0(21746) ) { 0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon2 <---
" 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x422663e0> 0(21746) , "1" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42266bd0> 0(21746) ,
"gwmon2.dotality.com" 0(21746) , "5060" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
NOT( 0(21746) external_module_call( 0(21746) f_ptr<0x4218cdd0> 0(21746) ,
"location" 0(21746) ); 0(21746) external_module_call( 0(21746)
f_ptr<0x4218cdd0> 0(21746) , "location" 0(21746) ); 0(21746) ) 0(21746)
) { 0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"404" 0(21746) , "Not Found" 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) NOT(
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) ) 0(21746) )
{ 0(21746) external_module_call( 0(21746) f_ptr<0x4001c7a0>
0(21746) );
0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746)
}; 0(21746) if ( 0(21746) uri 0(21746) == 0(21746) _myself_ 0(21746) ) { 0(21746) if (
0(21746) method 0(21746) == 0(21746) "REGISTER" 0(21746) ) { 0(21746)
external_module_call( 0(21746) f_ptr<0x4218e040> 0(21746) , "location"
0(21746) ); 0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746)
}; 0(21746) if ( 0(21746) method 0(21746) == 0(21746) "INVITE" 0(21746) ) {
0(21746) if ( 0(21746) uri 0(21746) =~ 0(21746)
"^sip:1[0-9][0-9][0-9][0-9][0-9][0-9]@" 0(21746) ) { 0(21746) forward( 0(21746)
"sip.dotality.com" 0(21746) , 0 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) uri
0(21746) =~ 0(21746) "^sip:[2-9][0-9][0-9][0-9][0-9][0-9][0-9]@" 0(21746) ) {
0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon2 <---
" 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x422663e0> 0(21746) , "1" 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x42266bd0> 0(21746) ,
"gwmon2.dotality.com" 0(21746) , "5060" 0(21746) ); 0(21746) drop(
0(21746) type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746)
NOT( 0(21746) external_module_call( 0(21746) f_ptr<0x4218cdd0> 0(21746) ,
"location" 0(21746) ); 0(21746) external_module_call( 0(21746)
f_ptr<0x4218cdd0> 0(21746) , "location" 0(21746) ); 0(21746) ) 0(21746)
) { 0(21746) external_module_call( 0(21746) f_ptr<0x4001c760> 0(21746) ,
"404" 0(21746) , "Not Found" 0(21746) ); 0(21746) drop( 0(21746)
type<0> 0(21746) ); 0(21746) } else { 0(21746) }; 0(21746) if ( 0(21746) NOT(
0(21746) external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746)
external_module_call( 0(21746) f_ptr<0x422665d0> 0(21746) ); 0(21746) ) 0(21746) )
{ 0(21746) external_module_call( 0(21746) f_ptr<0x4001c7a0>
0(21746) );
0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746) }; 0(21746) } else { 0(21746)
}; 0(21746)
0(21746) failure routing table 1:
0(21746) log( 0(21746) 4 0(21746) , "---> TRYING gwmon1 <---
" 0(21746) ); 0(21746) external_module_call( 0(21746) f_ptr<0x42266bd0>
0(21746) , "gwmon1.dotality.com" 0(21746) , "5060" 0(21746) );
0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746) external_module_call(
0(21746) f_ptr<0x42266bd0> 0(21746) , "gwmon1.dotality.com" 0(21746) ,
"5060" 0(21746) ); 0(21746) drop( 0(21746) type<0> 0(21746) ); 0(21746)
drop( 0(21746) type<0> 0(21746) ); 0(21746)
WARNING: no fork mode
0(21746) DEBUG: init_mod: mysql
0(21746) mysql - initializing
0(21746) DEBUG: init_mod: sl_module
stateless - initializing
0(21746) DEBUG: register_fifo_cmd: new command (sl_stats) registered
0(21746) DEBUG: MD5 calculated: 27e130c926f35560d3a0756cba4a4952
0(21746) DEBUG: init_mod: tm
0(21746) TM - initializing...
0(21746) Call-ID initialization: '3fffe87f'
0(21746) DEBUG: register_fifo_cmd: new command (t_uac_dlg) registered
0(21746) DEBUG: register_fifo_cmd: new command (t_uac_cancel) registered
0(21746) DEBUG: register_fifo_cmd: new command (t_hash) registered
0(21746) DEBUG: lock_initialize: lock initialization started
0(21746) DEBUG: register_fifo_cmd: new command (t_stats) registered
0(21746) DEBUG: MD5 calculated: 284f76854faa9948cf0e75538f706b24
0(21746) DEBUG: MD5 calculated: 54d100966b31f061ee53248c62853860
0(21746) DEBUG: init_mod: rr
0(21746) rr - initializing
0(21746) DEBUG: init_mod: maxfwd_module
Maxfwd module- initializing
0(21746) DEBUG: init_mod: usrloc
0(21746) usrloc - initializing
0(21746) DEBUG: register_fifo_cmd: new command (ul_stats) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_rm) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_rm_contact) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_dump) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_flush) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_add) registered
0(21746) DEBUG: register_fifo_cmd: new command (ul_show_contact) registered
0(21746) find_export: found <db_use_table> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_init> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_close> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_raw_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_free_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_insert> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_delete> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_update> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) connect_db(): _db_usl: sql://ser:heslo@localhost/ser
0(21746) connect_db(): user: ser password: heslo host: localhost port: (null)
database: ser
0(21746) mod_init(): Database connection opened successfuly
0(21746) DEBUG: init_mod: registrar
0(21746) registrar - initializing
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) find_export: found <ul_bind_usrloc> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_register_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_get_all_ucontacts> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_insert_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_delete_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_get_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_lock_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_unlock_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_release_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_insert_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_delete_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_get_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) find_export: found <ul_update_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(21746) DEBUG: init_mod: auth
0(21746) auth module - initializing
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(21746) DEBUG: init_mod: auth_db
0(21746) auth_db module - initializing
0(21746) find_export: found <db_use_table> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_init> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_close> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_raw_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_free_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_insert> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_delete> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <db_update> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(21746) find_export: found <pre_auth> in module auth
[/usr/local/lib/ser/modules/auth.so]
0(21746) find_export: found <post_auth> in module auth
[/usr/local/lib/ser/modules/auth.so]
0(21746) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(0) fixing /usr/local/lib/ser/modules/maxfwd.so mf_process_maxfwd_header
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/rr.so record_route
0(0) fixing /usr/local/lib/ser/modules/rr.so loose_route
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay
0(0) fixing /usr/local/lib/ser/modules/registrar.so save
0(0) query="select
username,contact,expires,q,callid,cseq,replicate,state,flags,user_agent from location
"
0(0) DEBUG: mk_proxy: doing DNS lookup...
0(0) fixing /usr/local/lib/ser/modules/tm.so t_on_failure
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay_to_udp
0(0) TM module:
fixup_t_forward(gwmon2.dotality.com, 1)
0(0) TM module: fixup_t_forward: param 1.. do nothing, wait for #2
0(0) TM module: fixup_t_forward(5060, 2)
0(0) DEBUG: mk_proxy: doing DNS lookup...
0(0) fixing /usr/local/lib/ser/modules/registrar.so lookup
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_reply_error
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay_to_udp
0(0) TM module:
fixup_t_forward(gwmon1.dotality.com, 1)
0(0) TM module: fixup_t_forward: param 1.. do nothing, wait for #2
0(0) TM module: fixup_t_forward(5060, 2)
0(0) DEBUG: mk_proxy: doing DNS lookup...
0(0) INFO: udp_init: SO_RCVBUF is initially 65535
0(0) DEBUG: udp_init: trying SO_RCVBUF: 131070
0(0) DEBUG: setting SO_RCVBUF; set=131070,verify=131070
0(0) DEBUG: udp_init: trying SO_RCVBUF: 262140
0(0) DEBUG: setting SO_RCVBUF; set=262140,verify=131070
0(0) DEBUG: setting SO_RCVBUF has no effect
0(0) DEBUG: udp_init: trying SO_RCVBUF: 133118
0(0) DEBUG: setting SO_RCVBUF; set=133118,verify=131070
0(0) DEBUG: setting SO_RCVBUF has no effect
0(0) INFO: udp_init: SO_RCVBUF is finally 131070
1(0) DEBUG: init_mod_child (-1): tm
1(0) DEBUG: callid: '3fffe87f-0(a)207.107.212.221'
1(0) DEBUG: init_mod_child (-1): usrloc
1(0) connect_db(): _db_usl: sql://ser:heslo@localhost/ser
1(0) connect_db(): user: ser password: heslo host: localhost port: (null) database:
ser
1(21749) DBG: open_uac_fifo: opening fifo...
1(21749) DEBUG: FIFO created @ /tmp/ser_fifo
1(21749) DEBUG: fifo /tmp/ser_fifo opened, mode=432
1(21749) 2(0) INFO: fifo process starting: 21751
2(0) DEBUG: init_mod_child (-2): tm
2(0) DEBUG: callid: '3fffe87f-0(a)207.107.212.221'
2(0) DEBUG: init_mod_child (-2): usrloc
2(0) connect_db(): _db_usl: sql://ser:heslo@localhost/ser
2(0) connect_db(): user: ser password: heslo host: localhost port: (null) database:
ser
DEBUG: init_mod_child (-1): auth_db
1(21749) connect_db(): _db_usl: sql://serro:47serro11@localhost/ser
1(21749) connect_db(): user: serro password: 47serro11 host: localhost port: (null)
database: ser
2(21751) DEBUG: init_mod_child (-2): auth_db
2(21751) connect_db(): _db_usl: sql://serro:47serro11@localhost/ser
2(21751) connect_db(): user: serro password: 47serro11 host: localhost port: (null)
database: ser
0(21746) 2(21751) SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
DEBUG: init_mod_child (1): tm
0(21746) DEBUG: callid: '3fffe87f-21746(a)207.107.212.221'
0(21746) DEBUG: init_mod_child (1): usrloc
0(21746) connect_db(): _db_usl: sql://ser:heslo@localhost/ser
0(21746) connect_db(): user: ser password: heslo host: localhost port: (null)
database: ser
0(21746) DEBUG: init_mod_child (1): auth_db
0(21746) connect_db(): _db_usl: sql://serro:47serro11@localhost/ser
0(21746) connect_db(): user: serro password: 47serro11 host: localhost port: (null)
database: ser
0(21746) udp_rcv_loop: probing packet received from 64.254.225.86 50963
0(21746) SIP Request:
0(21746) method: <INVITE>
0(21746) uri: <sip:8177408@ser.dotality.com>
0(21746) version: <SIP/2.0>
0(21746) parse_headers: flags=1
0(21746) Found param type 232, <branch> = <z9hG4bK96ce68a6720fdcd6>;
state=16
0(21746) end of header reached, state=5
0(21746) parse_headers: Via found, flags=1
0(21746) parse_headers: this is the first via
0(21746) After parse_msg...
0(21746) preparing to run routing scripts...
0(21746) DEBUG : is_maxfwd_present: searching for max_forwards header
0(21746) parse_headers: flags=128
0(21746) end of header reached, state=9
0(21746) DEBUG: get_hdr_field: <To> [32]; uri=[sip:8177408@ser.dotality.com]
0(21746) DEBUG: to body [<sip:8177408@ser.dotality.com>
]
0(21746) get_hdr_field: cseq <CSeq>: <35126> <INVITE>
0(21746) DEBUG: is_maxfwd_present: value = 70
0(21746) DEBUG: add_param: tag=8ced7f66b0ecec55
0(21746) end of header reached, state=29
0(21746) parse_headers: flags=256
0(21746) DEBUG: get_hdr_body : content_length=264
0(21746) found end of header
0(21746) find_first_route(): No Route headers found
0(21746) loose_route(): There is no Route HF
0(21746) check_self - checking if host==us: 16==15 && [
ser.dotality.com] ==
[207.107.212.221]
0(21746) check_self - checking if port 5060 matches port 5060
0(21746) ---> TRYING gwmon2 <---
0(21746) DEBUG: t_addifnew: msg id=1 , global msg id=0 , T on entrance=0xffffffff
0(21746) parse_headers: flags=-1
0(21746) parse_headers: flags=60
0(21746) t_lookup_request: start searching: hash=30974, isACK=0
0(21746) DEBUG: RFC3261 transaction matching failed
0(21746) DEBUG: t_lookup_request: no transaction found
0(21746) SER: new INVITE
0(21746) parse_headers: flags=-1
0(21746) check_via_address(64.254.225.86, 64.254.225.86, 0)
0(21746) WARNING:vqm_resize: resize(0) called
0(21746) DEBUG: reply sent out. buf=0x80cffe8: SIP/2.0 1..., shmem=0x402f7cc8: SIP/2.0
1
0(21746) DEBUG: t_reply: finished
0(21746) check_via_address(64.254.225.86, 64.254.225.86, 0)
0(21746) DEBUG: add_to_tail_of_timer[4]: 0x402f66d0
0(21746) DEBUG: add_to_tail_of_timer[0]: 0x402f66e4
0(21746) SER: new transaction fwd'ed
0(21746) DEBUG:destroy_avp_list: destroing list (nil)
0(21746) receive_msg: cleaning up
1(21749) DEBUG: timer routine:4,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[5]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:5,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[6]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:6,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
0(21746) udp_rcv_loop: probing packet received from 64.254.225.86 50963
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
1(21749) DEBUG: retransmission_handler : request resending (t=0x402f65a8, INVITE si ...
)
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f66d0
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:0,tl=0x402f66e4 next=(nil)
1(21749) DEBUG: FR_handler:stop retr. and send CANCEL (0x402f65a8)
1(21749) ->>>>>>>>> T_code=100, new_code=408
1(21749) ---> TRYING gwmon1 <---
1(21749) ERROR: t_forward_nonack: no branched for fwding
1(21749) ERROR: failure_route: t_relay_to failed
1(21749) DEBUG: relay_reply: branch=0, save=0, relay=0
1(21749) parse_headers: flags=-1
1(21749) check_via_address(64.254.225.86, 64.254.225.86, 0)
1(21749) DEBUG: reply relayed. buf=0x80cf8c8: SIP/2.0 4..., shmem=0x402f7cc8: SIP/2.0 4
1(21749) DEBUG: add_to_tail_of_timer[4]: 0x402f665c
1(21749) DEBUG: add_to_tail_of_timer[0]: 0x402f6670
1(21749) DEBUG: final_response_handler : done
1(21749) DEBUG: timer routine:7,tl=0x402f66d0 next=(nil)
0(21746) SIP Request:
0(21746) method: <ACK>
0(21746) uri: <sip:8177408@ser.dotality.com>
0(21746) version: <SIP/2.0>
0(21746) parse_headers: flags=1
0(21746) Found param type 232, <branch> = <z9hG4bK96ce68a6720fdcd6>;
state=16
0(21746) end of header reached, state=5
0(21746) parse_headers: Via found, flags=1
0(21746) parse_headers: this is the first via
0(21746) After parse_msg...
0(21746) preparing to run routing scripts...
0(21746) DEBUG : sl_filter_ACK: to late to be a local ACK!
0(21746) DEBUG : is_maxfwd_present: searching for max_forwards header
0(21746) parse_headers: flags=128
0(21746) DEBUG: add_param: tag=54d100966b31f061ee53248c62853860-3a9c
0(21746) end of header reached, state=29
0(21746) DEBUG: get_hdr_field: <To> [74]; uri=[sip:8177408@ser.dotality.com]
0(21746) DEBUG: to body [<sip:8177408@ser.dotality.com>]
0(21746) get_hdr_field: cseq <CSeq>: <35126> <ACK>
0(21746) DEBUG: is_maxfwd_present: value = 70
0(21746) DEBUG: add_param: tag=8ced7f66b0ecec55
0(21746) end of header reached, state=29
0(21746) parse_headers: flags=256
0(21746) DEBUG: get_hdr_body : content_length=0
0(21746) found end of header
0(21746) find_first_route(): No Route headers found
0(21746) loose_route(): There is no Route HF
0(21746) check_self - checking if host==us: 16==15 && [
ser.dotality.com] ==
[207.107.212.221]
0(21746) check_self - checking if port 5060 matches port 5060
0(21746) DEBUG:destroy_avp_list: destroing list (nil)
0(21746) receive_msg: cleaning up
1(21749) DEBUG: timer routine:4,tl=0x402f665c next=(nil)
1(21749) DEBUG: retransmission_handler : reply resending (t=0x402f65a8, SIP/2.0 4 ... )
1(21749) DEBUG: reply retransmitted. buf=0x42273d00: SIP/2.0 4..., shmem=0x402f7cc8:
SIP/2.0 4
1(21749) DEBUG: add_to_tail_of_timer[5]: 0x402f665c
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:5,tl=0x402f665c next=(nil)
1(21749) DEBUG: retransmission_handler : reply resending (t=0x402f65a8, SIP/2.0 4 ... )
1(21749) DEBUG: reply retransmitted. buf=0x42273d00: SIP/2.0 4..., shmem=0x402f7cc8:
SIP/2.0 4
1(21749) DEBUG: add_to_tail_of_timer[6]: 0x402f665c
1(21749) DEBUG: retransmission_handler : done
1(21749) DEBUG: timer routine:6,tl=0x402f665c next=(nil)
1(21749) DEBUG: retransmission_handler : reply resending (t=0x402f65a8, SIP/2.0 4 ... )
1(21749) DEBUG: reply retransmitted. buf=0x42273d00: SIP/2.0 4..., shmem=0x402f7cc8:
SIP/2.0 4
1(21749) DEBUG: add_to_tail_of_timer[7]: 0x402f665c
1(21749) DEBUG: retransmission_handler : done
0(21746) udp_rcv_loop: probing packet received from 64.254.225.86 50963
------------------------------------------------------------------------
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
--
Voice Sistem
http://www.voice-sistem.ro