[Asterisk-Users] Fail over to Pri on VoIP connection failure
Damon Estep
damon at suburbanbroadband.net
Fri Jan 27 15:00:18 MST 2006
> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-
> bounces at lists.digium.com] On Behalf Of Andrew Kohlsmith
> Sent: Friday, January 27, 2006 2:45 PM
> To: asterisk-users at lists.digium.com
> Subject: Re: [Asterisk-Users] Fail over to Pri on VoIP connection
failure
>
> On Friday 27 January 2006 16:24, Damon Estep wrote:
> > If you have qualify=yes I assume that triggers a sip query to get
> > channel capabilities from the peer? What is the qualify timeout? Can
it
> > be manipulated?
>
> qualify (for SIP) sends a SIP OPTIONS packet to the peer and waits for
a
> response. If it does not receive one within 1000ms (by default) and
> qualifysmoothing is not enabled, it will flag the peer as UNREACHABLE
> which
> means that any attempts to Dial() the peer will fail immediately with
> CHANUNAVAIL. Asterisk continues to send these "pings" until it
receives a
> response within the accepted timeframe and once it gets responses
again it
> will flag the peer as being available once again.
>
> There are some other tuning parameters which can be used to modify
this
> behaviour slightly but this is what qualify does in a nutshell.
Since your original hint on qualify=yes have been hunting for the
parameter tuning capabilities of this feature - to no avail. Are you
aware of any reference anywhere on tuning the qualify frequency and
timeout? I assume this (tuning) does not require code changes. Correct?
>
> > If the goal was strictly to try one provider, and if the channel
fails
> > qualify, then try the next, is the macro you posted needed?
>
> Correct.
>
> > Couldn't you just;
> >
> > Exten => ####,1,Dial(SIP/{$exten at peer1}
> > Exten => ####,2,Dial(SIP/{$exten at peer2}
> > Exten => ####,3,Congestion(15)
> > Exnte => ####,4,Hangup
>
> Well I've never been a fan of just letting things "fall off the edge"
and
> expecting them to work reliably. I use the 'g' Dial() option so that
I
> can
> handle failover and call completion correctly or properly -- instead
of
> just
> letting it do "whatever svn trunk deems right at this point" I
> specifically
> do things based on how the call terminated. It's just a nicer way of
> doing
> what you've provided, and ends up being more robust to code policy
> changes.
Sounds like words of wisdom to me :)
Thanks a million
D
More information about the asterisk-users
mailing list