[Serusers] Error forwarding calls to Voicemail from SER

Rafael J. Risco G.V. rafael.risco at gmail.com
Tue Nov 9 19:17:15 CET 2004


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 at 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 at 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 at 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 at call.millicom.com.pe>;tag=bb0036aea4
> > To: <sip:6609990 at call.millicom.com.pe>
> > Call-ID: bb9af400-6417-3677-81ae-0002a40055b2 at 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 at 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 at yahoo.com>
> 
> 
> __________________________________
> Do you Yahoo!?
> Check out the new Yahoo! Front Page.
> www.yahoo.com
> 
> 


-- 

rrgv




More information about the sr-users mailing list