I've tried redirecting the request to the voicemail URI, when the tm timer
expires.
---
if (t_check_status("480|408")) {
revert_uri();
sethostport("voicemail_ip:5060");
append_branch();
t_relay();
}
---
But that's not the way I want the voicemail working. What I'm looking for is
a way to respond "408 Request Timeout" only in the LEG2 initiated by
asterisk (and send just one CANCEL to User 2 (called)). That way asterisk
will respond 200 OK to User 1 (LEG 1) and this user will be able to record a
voicemail message.
LEG1 B2BUA
LEG2
User 1 ---------------->> OpenSIPS -------------->> Asterisk
--------------------->> OpenSIPS ------------>> User 2
|-------------------------------------------------------------------------|
I've found what the problem is. Using this Setup, the timer (most of the
times) expires simultaneously in both legs and that's the reason of why the
CANCEL and the 408 are sent to both legs as well.
I dont know if there is a way to change this behavior by configuration. I'm
going through the code to better understand how the tm module works. Thanks
for youtr help.
Regards,
Ricardo
On Mon, Dec 29, 2008 at 6:34 AM, Iñaki Baz Castillo <[email protected]> wrote:
> 2008/12/29 Ricardo Lopez Camino <[email protected]>:
>
> > The following are the relevant fragments of the opensips.cfg file
> > ------------------------
> > #-----Failure Route----
> > failure_route[1] {
> > if (t_was_cancelled()) {
> > exit;
> > }
> > }
>
> You need to inspect the selected response code in failure_route and if
> it's 408 then append_branch to the voicemail server URI. Are you doing
> it?
>
> --
> Iñaki Baz Castillo
> <[email protected]>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users