[Freeswitch-users] failover based on initial INVITE timeout

Hristo Trendev dist.lists at gmail.com
Tue Aug 18 10:48:19 PDT 2009


progress_timeout will wait for media (tried it, but I don't need
that). I want to detect the case when the destination gateway is down
and there is no response (not even 100, 407, etc) to the initial
INVITE sent by FS.

According to the wiki, this is exactly what originate_timeout is used
for. Actually the wiki gives as example for originate_timeout exactly
what I'm trying to accomplish.

It seems to me that FS ignores 100 and alike messages, which are sent
as response to initial INVITE and doesn't cancel originate_timeout
timer if such message is received.

The more I look into this, the more I start to think that it's a bug.

On Tue, Aug 18, 2009 at 6:33 PM, Brian West<brian at freeswitch.org> wrote:
> I think you wanna use progress_timeout
> http://wiki.freeswitch.org/wiki/Channel_Variables#progress_timeout
> /b
> On Aug 18, 2009, at 10:24 AM, Hristo Trendev wrote:
>
> I am trying to implement failover dialing plan as described in:
> http://wiki.freeswitch.org/wiki/Channel_Variables#originate_timeout
>
> I figured out that originate_timeout must be passed as
> {originate_timeout=<timeout>} in front of the dial string to have any
> effect (setting it as channel variable as described in the example
> above has no effect).
>
> I have set the timeout to 1 second, so expected behavior is to try the
> second gateway if no response is received from the first one in 1
> second. The problem is that FS cancels the first request with
> [NO_ANSWER] and tries to route the call via the second gateway even
> though it receives response from the first during that 1 second.
>
> The response received is "100 Trying" provisional response (checked
> with sofia siptrace). I'm guessing that either 100 provisional
> responses don't cancel the originate_timeout timer (bug?) or I am
> doing it the wrong way.
>
> I was also thinking of using the timer-T1 or timer-T1X64 parameter in
> the sip profile, but I need this to be set per dial string, not per
> profile, besides, it seems that these timers (T1, T1X64) affect both
> invite and non-invite requests, so this is not really an option.
> Also, I tried leg_timeout, but it doesn't really do what I need it to.
>
> Anyone has any idea how to implement this?
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>




More information about the FreeSWITCH-users mailing list