[Serusers] ser+asterisk+voicemail

Rafael J. Risco G.V. rafael.risco at gmail.com
Wed Mar 30 15:34:48 CEST 2005


Hi Hofi
You must use t_check_status... this will solve your problem:

failure_route[1]{
        if (t_check_status("408|486")){   ## Do not include 487!!
                revert_uri ();
                rewritehostport ("x.x.x.x:port");
                append_branch();
                t_relay();
                break;
        }
}

regards

Rafael J. Risco G.V.
Millicom Peru SA



On Wed, 30 Mar 2005 11:58:32 +0200 (CEST), hofi <raid at hofi.priv.at> wrote:
> hi
> 
> the first problem is solved (pstn to voicemail !working!)
> 
> ser config snip:
> 
> loadmodule "/usr/local/lib/ser/modules/sl.so"
> loadmodule "/usr/local/lib/ser/modules/tm.so"
> 
> # ------------- tm parameters
> modparam("tm", "fr_timer", 40)
> modparam("tm", "fr_inv_timer", 35)
> modparam("tm", "wt_timer", 5)
> modparam("tm", "fr_inv_timer_avp", "inv_timeout")
> 
> route {
>      if (is_user_in("Request-URI", "voicemail")) {
>                setflag(4);
>        };
> 
>        if (lookup("location") | lookup("aliases")) {
>                if (method == "INVITE" && isflagset(4)) {
>                log (1, "++++++++++++voicemail***********************");
>                t_on_failure("1");
>                avp_write("i:30", "inv_timeout");
>            }
>                route(2);
>                break;
>        };
> 
> }
> 
> route [2] {
>        if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
> !search("^Route:")){
>                sl_send_reply("479", "We don't forward to private IP
> addresses");
>                break;
>        };
>        if (isflagset(2)) {
>                force_rtp_proxy();
>        };
>        t_on_reply("1");
>        if (!t_relay()) {
>                sl_reply_error();
>        };
> }
> 
> failure_route[1] {
>        log (1, "++++++++++++Failure Route******************");
>        revert_uri();
>        rewritehost("XXX.XXX.XXX.XXX");
>        append_branch();
>        t_relay_to_udp("XXX.XXX.XXX.XXX", "5060");
> }
> 
> but for my second problem I do not find the error
> 
> 2) if ua1 call ua2 (and ua2 is in the voicemail group) and ua1 hangs up
> ser forwards to asterisk and the voicemail is run in the background, but
> instead the call should be cancelled and not forwarded to the voicemail
> 
> thx
> 
> regards
> hofi
> 
> > I never did figure out exactly what the cause was [sorry], but we were
> > looking into a secondary carrier and ran into the same problems you
> > describe below.  We took one of our Cisco AS5350's to their NOC to put
> > in place of their nextone and everything worked just fine.  You may
> > want to look at the settings on your inalp.  We were unable to get it
> > to work with the nextone.  My guess was that it had something to do
> > with codec translations but I have no data to back that up.  All the
> > SIP messaging seemed to be there.
> >
> > I'd be interested in what fixes this, so if you discover a solution,
> > please post to the list.
> >
> > Thanks.
> >
> > dan
> >
> >
> > On Tue, 29 Mar 2005 20:36:08 +0200 (CEST), hofi <raid at hofi.priv.at> wrote:
> >> hi all
> >>
> >> configuration:
> >>
> >> inalp gw (pstn) ------> ser ------> asterisk (only voicemail)
> >>
> >> the following problems occur:
> >>
> >> 1) ser forwards the call to asterisk (if the user is in the voicemail
> >> group) if the client does not answer after 30 sec.
> >> from sip to sip is working.
> >> but if a call comes from the pstn to a sip client, the client rings and
> >> hangs up after 30 sec. ser then forwards it to the asterisk, but the
> >> pstn
> >> call keeps on ringing and no voicemail is to hear.
> >>
> >> ser writes the following error
> >>
> >> Mar 29 13:24:39 sip /usr/local/sbin/ser[7017]:
> >> ++++++++++++INVITE******************
> >> Mar 29 13:24:39 sip /usr/local/sbin/ser[7017]:
> >> ++++++++++++voicemail***********************
> >> Mar 29 13:25:19 sip /usr/local/sbin/ser[7022]:
> >> ++++++++++++Failure Route******************
> >> Mar 29 13:25:19 sip /usr/local/sbin/ser[7022]:
> >> ++++++++++++Failure Route******************
> >> Mar 29 13:25:19 sip /usr/local/sbin/ser[7017]:
> >> ++++++++++++voicemail***********************
> >> Mar 29 13:25:19 sip /usr/local/sbin/ser[7016]: ERROR:
> >> t_should_relay_response: status rewrite by UAS: stored: 408, received:
> >> 200
> >> Mar 29 13:25:20 sip /usr/local/sbin/ser[7017]: ERROR:
> >> t_should_relay_response: status rewrite by UAS: stored: 408, received:
> >> 200
> >> Mar 29 13:25:21 sip /usr/local/sbin/ser[7016]: ERROR:
> >> t_should_relay_response: status rewrite by UAS: stored: 408, received:
> >> 200
> >> Mar 29 13:25:24 sip last message repeated 3 times
> >> Mar 29 13:25:28 sip /usr/local/sbin/ser[7015]:
> >>  ++++++++++++Loose Route******************
> >> Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: contact_parser(): Empty
> >> body Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: parse_contact():
> >> Error
> >> while parsing
> >> Mar 29 13:25:28 sip /usr/local/sbin/ser[7014]: get_contact_uri: Error
> >> while parsing Contact body
> >>
> >> 2) if ua1 call ua2 (and ua2 is in the voicemail group) and ua1 hangs up
> >> ser forwards to asterisk and the voicemail is run in the background, but
> >> instead the call should be cancelled and not forwarded to the voicemail
> >>
> >> does anyone know about these problems?
> >>
> >> regards
> >> raid
> >>
> >> ser config snip:
> >>
> >> loadmodule "/usr/local/lib/ser/modules/sl.so"
> >> loadmodule "/usr/local/lib/ser/modules/tm.so"
> >>
> >> # ------------- tm parameters
> >> modparam("tm", "fr_timer", 30)
> >> modparam("tm", "fr_inv_timer", 25)
> >> modparam("tm", "wt_timer", 5)
> >> modparam("tm", "fr_inv_timer_avp", "inv_timeout")
> >>
> >> route {
> >>         if (lookup("location") | lookup("aliases")) {
> >>                 if (is_user_in("Request-URI", "voicemail")) {
> >>                 log (1, "++++++++++++voicemail***********************");
> >> t_on_failure("1");
> >>                 avp_write("i:30", "inv_timeout");
> >>                 t_relay();
> >>                 route(2);
> >>                 break;
> >>         } else {
> >>                 log (1, "++++++++++++no voicemail********************");
> >> route(2);
> >>                 break;
> >>                 }
> >>         }
> >>
> >> }
> >>
> >> route [2] {
> >>         if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)"
> >> &&
> >> !search("^Route:")){
> >>                 sl_send_reply("479", "We don't forward to private IP
> >> addresses");
> >>                 break;
> >>         };
> >>         if (isflagset(2)) {
> >>                 force_rtp_proxy();
> >>         };
> >>         t_on_reply("1");
> >>         if (!t_relay()) {
> >>                 sl_reply_error();
> >>         };
> >> }
> >>
> >> failure_route[1] {
> >>         log (1, "++++++++++++Failure Route******************");
> >>         revert_uri();
> >>         rewritehostport("XXX.XXX.XXX.XXX:5060");
> >>         append_branch();
> >>         t_on_failure("1");
> >>         t_relay();
> >>         break();
> >>
> >> }
> >>
> >> _______________________________________________
> >> Serusers mailing list
> >> serusers at lists.iptel.org
> >> http://lists.iptel.org/mailman/listinfo/serusers
> >>
> >
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
> 


-- 

rrgv




More information about the sr-users mailing list