Rafael J. Risco G.V.
2004-Nov-08 09:58 UTC
[Asterisk-Users] Error forwarding calls to Voicemail from SER
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@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 ---------- Forwarded message ---------- From: Rafael J. Risco G.V. <rafael.risco@gmail.com> Date: Fri, 5 Nov 2004 14:53:29 -0500 Subject: Voicemail: Strange behavior if caller-user cancels the call To: serusers@iptel.org, sems@iptel.org Hi I need to solve this problem I?ve reported several times: please take a look into this report: http://mail.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)... same problem if I use Asterisk as a voicemail system, please send me some advice. thank you Rafael -- rrgv -- rrgv