Hi
I have the same problem, please take a look into this report: http://lists.iptel.org/pipermail/serusers/2004-August/010930.html
 
...if the called-user belongs to the voicemail group and the caller-user cancels the call I see irregular behavior in both ser instances and no Sip-Response-Code=487 is recorded in radius acc (just an start record without stop).
 
I´ve just tried with "t_check_status" but I have the same problem... please send us some advice...
 
thank you
Rafael
 
 
ser.cfg::
        # does the user wish redirection on no availability? (i.e., is he
        # in the voicemail group?) -- determine it now and store it in
        # flag 4, before we rewrite the flag using UsrLoc
        if (is_user_in("Request-URI", "voicemail")) {
                setflag(4);
        };
        # native SIP destinations are handled using our USRLOC DB
        if (!lookup("location")) {
                # handle user which was not found
                route(4);
                break;                 
        };
        # if user is on-line and is in voicemail group, enable redirection
        if (method == "INVITE" && isflagset(4)) {
                t_on_failure("1");
        };
        t_relay();
}
# ------------- handling of unavailable user ------------------
route[4] {
        # non-Voip -- just send "off-line"
        if (!(method=="INVITE" || method=="ACK" || method=="CANCEL" || method=="BYE")) {
                sl_send_reply("404", "Not Found");
                acc_rad_request("404 Not Found");
                break;
        };
        # not voicemail subscriber
        if (!isflagset(4)) {
                sl_send_reply("404", "Not Found and no voicemail turned on");
                acc_rad_request("404 Not Found");
                break;
        };
        # forward to voicemail now
        rewritehostport("call.millicom.com.pe:5090");
        t_relay_to_udp("call.millicom.com.pe", "5090");
}
# if forwarding downstream did not succeed, try voicemail running
# at bat.iptel.org:5090
failure_route[1]{
    if (t_check_status("408|486|487")){
        revert_uri ();
        rewritehostport ("call.millicom.com.pe:5090");
        append_branch();
        t_relay();
        break;
    }
}

Richard <richard@o-matrix.org> wrote:
You can use t_check_status("487") to check the code in failure_route[1].

Richard


-----Original Message-----
From: serusers-bounces@iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of Zhang Wei
Sent: Friday, September 03, 2004 8:30 PM
To: Jan Janak
Cc: serusers@lists.iptel.org
Subject: [Serusers] How can I distinguish 487 and 603 reply?

hello,Jan
I meet some trouble when I use SER .I hope that when the call timeouts
or is declined by the callee the call would be forward to SEMS. In my
ser.cfg ,I wrote :
if (method=="INVITE")
{
t_on_failure("1");
}
But when the caller cancels the call,487 reply the callee sends aslo
make INVITE enter the failure_route. I don't export it. So how can I
distinguish 487 and 603 ?

Thanks for your help

Wei

_______________________________________________
Serusers mailing list
serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers



Do You Yahoo!?
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo.
Visíta Yahoo! Noticias.