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(a)vir2com.com; serusers(a)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(a)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(a)iptel.org [mailto:serusers-bounces@lists.iptel.org
<mailto:nces@iptel.org> ] On Behalf Of Rick Thompson
Sent: Friday, September 30, 2005 12:58 PM
To: serusers(a)lists.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(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers