<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-9">
<META content="MSHTML 6.00.2900.2627" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi List,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Now i'm able to log INVITE,ACK,BYE,CANCEL messages
into database, the new problem is broken calls: think that a SIP user 12345
dials 54321, the telephone rings, conversation is okay, they talk let say 1
minute and a bit more, suddenly caller or callee unplugs the ATA, so there's
no BYE message :( How can i setup it to log that broken calls without
CANCEL or BYE messages?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks,</FONT></DIV>
<DIV><FONT face=Arial size=2>Ozan Blotter</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>here's my SER.CFG</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>>>>>>>>>>>>>>>>>>>>>>>>></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>[root@localhost ser]# cat
ser.cfg<BR>debug=3<BR>fork=yes<BR>log_stderror=no</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>listen=192.168.1.9
# put your server IP address here<BR>port=5060<BR>children=4</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>dns=no<BR>rev_dns=no</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>fifo="/tmp/ser_fifo"<BR>fifo_db_url="mysql://ser:heslo@localhost/ser"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>loadmodule
"/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule
"/usr/local/lib/ser/modules/sl.so"<BR>loadmodule
"/usr/local/lib/ser/modules/tm.so"<BR>loadmodule
"/usr/local/lib/ser/modules/rr.so"<BR>loadmodule
"/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule
"/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule
"/usr/local/lib/ser/modules/registrar.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth_db.so"<BR>loadmodule
"/usr/local/lib/ser/modules/acc.so"<BR>loadmodule
"/usr/local/lib/ser/modules/uri_db.so"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")<BR>modparam("auth_db", "calculate_ha1",
1)<BR>modparam("auth_db", "password_column", "password")<BR>modparam("usrloc",
"db_mode", 1)<BR>modparam("rr", "enable_full_lr", 1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>modparam("acc", "log_level", 1)<BR>modparam("acc",
"db_flag", 1)<BR>modparam("acc", "log_missed_flag", 3)<BR>modparam("acc",
"log_fmt", "fimos")<BR>modparam("acc", "db_url",
"mysql://ser:heslo@localhost/ser")<BR>modparam("acc", "db_missed_flag",
2)<BR>modparam("acc", "early_media", 1)<BR>modparam("acc",
"failed_transactions", 1)<BR>modparam("acc", "log_flag", 1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>setflag(1);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# Sanity Check Section<BR> #
-----------------------------------------------------------------<BR>
if (!mf_process_maxfwd_header("10"))
{<BR>
sl_send_reply("483", "Too Many
Hops");<BR>
break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if
(msg:len > max_len)
{<BR>
sl_send_reply("513", "Message
Overflow");<BR>
break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# Record Route Section<BR> #
-----------------------------------------------------------------<BR>
if (method!="REGISTER")
{<BR>
record_route();<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# Loose Route Section<BR> #
-----------------------------------------------------------------<BR>
if (loose_route())
{<BR>
route(1);<BR>
break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# Call Type Processing Section<BR> #
-----------------------------------------------------------------<BR>
if (uri!=myself)
{<BR>
route(1);<BR>
break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if
(uri==myself)
{<BR>
if (method=="INVITE" || method=="BYE" || method=="CANCEL")
{<BR>
setflag(1);<BR>
route(3);<BR>
break;<BR>
} else if (method=="REGISTER")
{<BR>
route(2);<BR>
break;<BR>
};</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>
lookup("aliases");<BR>
if (uri!=myself)
{<BR>
route(1);<BR>
break;<BR>
};</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>
if (!lookup("location"))
{<BR>
sl_send_reply("404", "User Not
Found");<BR>
break;<BR>
};</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>
route(1);<BR> };<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[1] {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# Default Message Handler<BR> #
-----------------------------------------------------------------<BR>
if (!t_relay())
{<BR>
sl_reply_error();<BR>
};<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[2] {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR>
# REGISTER Message Handler<BR> #
----------------------------------------------------------------<BR>
sl_send_reply("100", "Trying");</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV><FONT face=Arial size=2>
<DIV><BR> if
(!www_authorize("","subscriber"))
{<BR>
www_challenge("","0");<BR>
break;<BR> };</DIV>
<DIV> </DIV>
<DIV> if (!check_to())
{<BR>
sl_send_reply("401",
"Unauthorized");<BR>
break;<BR> };</DIV>
<DIV> </DIV>
<DIV> consume_credentials();</DIV>
<DIV> </DIV>
<DIV> if (!save("location"))
{<BR>
sl_reply_error();<BR> };<BR>}</DIV>
<DIV> </DIV>
<DIV>route[3] {<BR> #
-----------------------------------------------------------------<BR>
# INVITE Message Handler<BR> #
-----------------------------------------------------------------<BR>
if (!proxy_authorize("localhost","subscriber"))
{<BR>
proxy_challenge("localhost","0");<BR>
break;<BR> } else if (!check_from())
{<BR>
sl_send_reply("403", "Use
From=ID");<BR>
break;<BR> };</DIV>
<DIV> </DIV>
<DIV> consume_credentials();</DIV>
<DIV> </DIV>
<DIV>
lookup("aliases");<BR> if
(uri!=myself)
{<BR>
route(1);<BR>
break;<BR> };</DIV>
<DIV> </DIV>
<DIV> if (!lookup("location"))
{<BR>
sl_send_reply("404", "User Not
Found");<BR>
break;<BR> };</DIV>
<DIV> </DIV>
<DIV> route(1);<BR>}</DIV>
<DIV> </DIV>
<DIV>[root@localhost ser]#<BR></DIV>
<DIV>>>>>>>>>>>>>>>>>>>>>>>>></FONT></DIV></BODY></HTML>