I recently set up database accounting with SER and I was testing it out to see if there were any situations in which the logging might fail. I found that if I unplug my SIP device during a call, then a SIP BYE message will not be created in my database. Is there any configuration change I can make to fix this problem, or is this due to the design of the SIP protocol?
Thank you for your time.
Just in case it is a configuration problem, I have included my ser.cfg
#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=sip.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()) { if (method == "BYE") { setflag(2); }; t_relay(); break; };
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; }; if (uri=~"sip:011[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
if (uri==myself) {
if (method=="REGISTER") { if (!www_authorize("sip.mydomain.com", "subscriber")) {
www_challenge("sip.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");
}
__________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
If you unplug a SIP phone then the other SIP phone must send a BYE, otherwise it will be not logged. If you unplug both of them then you will see no BYE. To get the BYE logged when one of the phones fails, you should enable logging of failed transactions too in acc module.
Jan.
On 12-01 13:25, jerk face wrote:
I recently set up database accounting with SER and I was testing it out to see if there were any situations in which the logging might fail. I found that if I unplug my SIP device during a call, then a SIP BYE message will not be created in my database. Is there any configuration change I can make to fix this problem, or is this due to the design of the SIP protocol?
Thank you for your time.
Just in case it is a configuration problem, I have included my ser.cfg
#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=sip.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()) { if (method == "BYE") { setflag(2); }; t_relay(); break; };
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; }; if (uri=~"sip:011[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
if (uri==myself) { if (method=="REGISTER") { if
(!www_authorize("sip.mydomain.com", "subscriber")) {
www_challenge("sip.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");
}
Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
you should enable logging of failed transactions too
in acc module.
Ok, so how would I do that? modparam("acc", "db_missed_flag", 3) But where would I add setflag(3)?
Thank you for your time
--- Jan Janak jan@iptel.org wrote:
If you unplug a SIP phone then the other SIP phone must send a BYE, otherwise it will be not logged. If you unplug both of them then you will see no BYE. To get the BYE logged when one of the phones fails, you should enable logging of failed transactions too in acc module.
Jan.
On 12-01 13:25, jerk face wrote:
I recently set up database accounting with SER and
I
was testing it out to see if there were any
situations
in which the logging might fail. I found that if
I
unplug my SIP device during a call, then a SIP BYE message will not be created in my database. Is
there
any configuration change I can make to fix this problem, or is this due to the design of the SIP protocol?
Thank you for your time.
Just in case it is a configuration problem, I have included my ser.cfg
#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=sip.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()) { if (method == "BYE") { setflag(2); }; t_relay(); break; };
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; }; if (uri=~"sip:011[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
if (uri==myself) { if (method=="REGISTER") { if
(!www_authorize("sip.mydomain.com", "subscriber"))
{
www_challenge("sip.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");
}
Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
__________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
in front of the t_relay which forwards the transaction you wish to report on. -jiri
At 03:36 PM 1/13/2004, jerk face wrote:
you should enable logging of failed transactions too
in acc module.
Ok, so how would I do that? modparam("acc", "db_missed_flag", 3) But where would I add setflag(3)?
Thank you for your time
--- Jan Janak jan@iptel.org wrote:
If you unplug a SIP phone then the other SIP phone must send a BYE, otherwise it will be not logged. If you unplug both of them then you will see no BYE. To get the BYE logged when one of the phones fails, you should enable logging of failed transactions too in acc module.
Jan.
On 12-01 13:25, jerk face wrote:
I recently set up database accounting with SER and
I
was testing it out to see if there were any
situations
in which the logging might fail. I found that if
I
unplug my SIP device during a call, then a SIP BYE message will not be created in my database. Is
there
any configuration change I can make to fix this problem, or is this due to the design of the SIP protocol?
Thank you for your time.
Just in case it is a configuration problem, I have included my ser.cfg
#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=sip.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()) { if (method == "BYE") { setflag(2); }; t_relay(); break; };
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; }; if (uri=~"sip:011[0-9]+@.*") {
rewritehostport("sip.provider.net:5060"); setflag(2); if(!t_relay()) { sl_reply_error(); }; break; };
if (uri==myself) { if (method=="REGISTER") { if
(!www_authorize("sip.mydomain.com", "subscriber"))
{
www_challenge("sip.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");
}
Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/