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:
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
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