Mark

 

Thanks for the re-post

 

What I see in ngrep and var/log/messages  is a “CANCEL” from the ua and a failure “487” on a reply. Don’t know which happens first. Even if I take out the “break” if  and add “487” to the if(method==   statement, it goes to the asterisk server but vm doesn’t play, no audio, and it drops the call anyway. I think I’ll try what you suggested about creating another t_on_failure[] and test for it within the main routing block.  

 

Rick

 


From: Mark Aiken [mailto:aiken.mark@gmail.com]
Sent: Friday, September 30, 2005 5:22 PM
To: Leon Sun
Cc: rthompson@vir2com.com; serusers@lists.iptel.org
Subject: Re: [Serusers] ser and * voicemail

 

SER normally sends a 487 when the INVITE timer runs out so you would need to trigger the voicemail on that event. We have our feature server handing timeouts not SER (our SER timeout is set to a very large value) so I'm not sure the best way to proceed.

Does SER call the failure_route for a locally generated 487 timeout? If so then rather than the 'break' you have there now just forward to vm. I would set a different t_on_failure instead of reusing "1" though, so you dont keep forwarding if the vm fails.

Mark

On 9/30/05, Leon Sun <leon.sun@keywestcommunications.com> wrote:

Rick,

 

I had same problem before and I gave it up since I didn't get any answer from list. I am using another way(tricky but working) to do voice mail. Hope it can help you if you can't fix it.

 

1.       Check location in your routing parts before relay, if not, forward to Asterisk.

2.       set up unconditional forward in ATA as 00 + ATA'DID. Make a route in SER and point 00* to Asterisk.

3.       Strip 00 in Asterisk and send it to voicemail2(${EXTEN})

 

Regards

 

Leon Sun

 


From: serusers-bounces@iptel.org [mailto:serusers-bounces@iptel.org ] On Behalf Of Rick Thompson
Sent: Friday, September 30, 2005 12:58 PM
To: serusers@iptel.org
Subject: [Serusers] ser and * voicemail

 

Hi All

 

I'm working with a ser script, written by someone that's gone now, that routes inbound calls to an asterisk server for voicemail. The failure_route[1], sends calls to asterisk and the IVR plays if the ua is unreachable (not in location) "404", "408" or  the ua is busy "486" but it doesn't when the inv time exceeds 30 sec (rings for 30 sec or more). The call just stops ringing and 10 sec later gets a fast busy. Any ideas from anyone would be greatly appreciated. Here is the code I'm working with.

 

 

failure_route[1] {

            xlog("L_ALERT", "%Tf %mf ****** Failure Route 1: <%rm> <%rr> <%rs>\n");

            if(t_check_status("487")) {

                        break;

            };

 

            if(method=="INVITE" && (t_check_status("486|408|404|480"))) {

                        if(avp_db_load("$ruri", "s:mailbox"))

                                    avp_pushto("$ruri/username", "s:mailbox");

                        prefix("V");

                        rewritehostport("A.B.C.D:5060");

                        append_branch();

                        xlog("L_ALERT", "****** Transfering to Voicemail\n");

                        t_on_reply("1");

                        t_relay();

            };

}

Thanks

 

Rick

 


_______________________________________________
Serusers mailing list
serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers