[Serusers] acc problem
Jiri Kuthan
jiri at iptel.org
Wed Jan 8 22:30:03 CET 2003
That is because you don't use Record-route. You have to use
it in order to enforce reouting of subsequent requests
through SER. Otherwise, they are routed directly between
end-devices, that's how SIP works. The missing script
action is bellow, I will document this issue in user's
guide.
-Jiri
At 04:38 AM 1/8/2003, Joe_chen wrote:
>hi,
> i have met the same problem with acc. i can get the invite message for accounting,but i can't get the bye message, i also capture the udp packages on ser server, i use MSN for UA, i find the sip messeges like: invite,100 trying,180 ringing ,200 ok(for invite),but when i hangup, there are not bye message, it's like sending bye message from UA to UA directly,while not going throug ser server,so there is not BYE message for accounting, is it true?
> how to get the bye message for accounting? please help.
>my ser.cfg is like:
>..
>loadmodule "/usr/local/lib/ser/modules/mysql.so"
>loadmodule "/usr/local/lib/ser/modules/sl.so"
>loadmodule "/usr/local/lib/ser/modules/acc.so"
>#loadmodule "/usr/local/lib/ser/modules/auth.so"
>
>loadmodule "/usr/local/lib/ser/modules/print.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"
>..
>modparam("acc", "db_url","sql://ser:heslo@localhost/ser")
>modparam("acc","report_ack",1)
>
>modparam("acc","log_level",1)
>modparam("acc", "acc_flag", 1 )
>modparam("acc", "missed_flag", 3 )
>
># -- tm params --
>modparam("tm", "fr_timer", 10 )
>modparam("tm", "fr_inv_timer", 20 )
>modparam("tm", "wt_timer", 10 )
>
>..
>route{
>
> # initial sanity checks -- messages with
> # max_forwars==0, or excessively long requests
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if (len_gt( max_len )) {
> sl_send_reply("513", "Message too big");
> break;
> };
>
> # Do strict routing if pre-loaded route headers present
> rewriteFromRoute();
>
> # 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("192.168.139.125", "subscriber")) {
># www_challenge("192.168.139.125", "0");
># break;
># };
>
> save("location");
> break;
> };
>
> # native SIP destinations are handled using our USRLOC DB
> if (!lookup("location")) {
> sl_send_reply("404", "Not Found");
> break;
> };
> };
># set for accounting (the same value as in acc_flag!)
> if (method=="INVITE" || method=="BYE"){
>
> setflag(1);
>
># ... and also report on missed calls ... note that reporting
># on missed calls is mutually exclusive with silent C timer
>#
> setflag(3);
> };
# enforce routing of the whole signaling through proxy
if (method=="INVITE") {
addRecordRoute();
};
> # forward to current uri now
> if (!t_relay()) {
> sl_reply_error();
> };
>
>}
>
> thanks!
>
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
More information about the sr-users
mailing list