[Serusers] Error forwarding calls to Voicemail from SER

Girish gr_sh2003 at yahoo.com
Wed Nov 10 13:58:15 CET 2004


Rafael,

As i said in my previous mail, it just was a guess. Can you try modifying your route[1] something
like this. I think this will send only the unanswered calls to voicemail. All other 4** status
will be ignored. I havent tested it though. 

Also, you were right. It is route[1], not route[4].

route[1] {

   if (t_check_status("408")){
      revert_uri();
      rewritehostport("200.110.2.132:5060");
      append_branch();
      t_relay ();
      break;
   }
   
}

Good Luck,

--- "Rafael J. Risco G.V." <rafael.risco at gmail.com> wrote:

> 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");
> > > }
> > >
> > >


=====
Girish Gopinath  <gr_sh2003 at yahoo.com>

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the sr-users mailing list