hello Girish
I did some test using t_check_status ("487") in failure_route[1] like this:
failure_route[1] {
if (t_check_status("487")){
revert_uri ();
rewritehostport ("200.110.2.132:5060");
append_branch();
t_relay_to_udp("200.110.2.132", "5060");
}
...but did not work, can you send us more details about how to use
t_check_status("487") in route[4]?
thanks
rafael
On Tue, 9 Nov 2004 02:25:26 -0800 (PST), Girish <gr_sh2003(a)yahoo.com> wrote:
Hello,
Just a guess.. Can you add t_check_status (487) in your route[4] and see if the INVITE
goes to
Asterisk after cancelling?
--- "Rafael J. Risco G.V." <rafael.risco(a)gmail.com> wrote:
Hello
I have to insist in this issue since I´ve done several test using Sems
and asterisk with very simple configuration files including the
original example from ser-cvs... in brief: if I call to a user who
belongs to voicemail group and I cancel the call before VM forward
routine begin then an "invite" is sent to a voicemail server
generating and sending a file with No audio, and I cant account this
call with "Sip-Response-Code=487" (just an start record without
stop)...
does someone know how to solve this problem????
thanks in advance
Rafael
PS:
ser.cfg and asterisk debug for this test:
#
# SER SIMPLE CFG for VM without acc...
# ----------- 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=9
fork=yes
log_stderror=yes
#*/
listen=127.0.0.1
port=5060
# simple proxy script for forwarding to voicemail server
# for unavailable users
#
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/mysql.so"
loadmodule "/usr/local/lib/ser/modules/group.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
# time to give up on ringing -- global timer, applies to
# all transactions
modparam("tm", "fr_inv_timer", 90)
# database with user group membership
modparam("group", "db_url",
"mysql://ser:heslo@localhost/ser")
# --------------------- request routing logic -------------------
route {
if (!mf_process_maxfwd_header("10")) {
log("LOG: Too many hops\n");
sl_send_reply("483", "Alas Too Many Hops");
break;
};
if (!(method=="REGISTER")) record_route();
if (loose_route()) {
t_relay();
break;
};
if (!uri==myself) {
t_relay();
break;
};
if (method == "REGISTER") {
if (!save("location")) {
sl_reply_error();
};
break;
};
# 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")) {
sl_send_reply("404", "Not Found");
break;
};
# not voicemail subscriber
if (!isflagset(4)) {
sl_send_reply("404", "Not Found and no voicemail turned
on");
break;
};
# forward to voicemail now
rewritehostport("200.110.2.132:5060");
t_relay_to_udp("200.110.2.132", "5060");
}
# if forwarding downstream did not succeed, try voicemail running
# at 200.110.2.132:5060
failure_route[1] {
revert_uri();
rewritehostport("200.110.2.132:5060");
append_branch();
t_relay_to_udp("200.110.2.132", "5060");
}
Asterisk Voicemail server sip debug:
_______________________->>
*CLI>
Sip read:
INVITE sip:6609990@200.110.2.132:5060 SIP/2.0
Record-Route: <sip:200.110.2.131;ftag=bb0036aea4;lr=on>
Via: SIP/2.0/UDP 200.110.2.131;branch=z9hG4bKe24b.b9e800b5.1
Via: SIP/2.0/UDP 10.0.1.27:5060;rport=5060;branch=z9hG4bKbb0036aea4125
From: <sip:6603000@call.millicom.com.pe>;tag=bb0036aea4
To: <sip:6609990@call.millicom.com.pe>
Call-ID: bb9af400-6417-3677-81ae-0002a40055b2(a)10.0.1.27
CSeq: 125 INVITE
Supported: timer, replaces
Min-SE: 1800
Date: Sun, 05 Jul 1970 12:53:15 GMT
User-Agent: AddPac SIP Gateway
Contact: <sip:6603000@10.0.1.27:5060>
Accept: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, REFER, NOTIFY
Content-Type: application/sdp
Content-Length: 285
Max-Forwards: 16
P-hint: usrloc applied
=====
Girish Gopinath <gr_sh2003(a)yahoo.com>
__________________________________
Do you Yahoo!?
Check out the new Yahoo! Front Page.
www.yahoo.com