[asterisk-users] PRI failover to SIP trunk

Dave Fullerton dfullertasterisk at shorelinecontainer.com
Fri Jul 10 10:40:25 CDT 2009


Steve Totaro wrote:
> On Fri, Jul 10, 2009 at 10:45 AM, Dave Fullerton <
> dfullertasterisk at shorelinecontainer.com> wrote:
> 
>> Tzafrir Cohen wrote:
>>> On Thu, Jul 09, 2009 at 05:31:18PM -0400, Steve Totaro wrote:
>>>
>>> You have a small typo:
>>>
>>>> exten => _.,1,Dial(Zap,g1,${EXTEN})
>>>> exten => _.,2,Dial(SIP,Provider,${EXTEN})
>>>   exten => _.,1,Dial(Zap/g1/${EXTEN})
>>>   exten => _.,2,Dial(SIP/Provider/${EXTEN})
>>>
>>> ('/' instead of ',')
>>>
>> While this will work, be aware that there are circumstances where you
>> may end up calling the number twice, once through each provider. One
>> example is if the number you dial is busy, that progress will be passed
>> via the PRI to asterisk and the dialplan will continue to the next
>> priority. In this case, dialing the number again through the SIP
>> provider. To avoid this you will need to use some dialplan logic and
>> check the result of the DIALSTATUS variable. See this page for examples:
>>
>> http://www.voip-info.org/wiki/view/Asterisk+variable+DIALSTATUS
>>
>> -Dave
>>
>>
> Good point.
> 
> I was unaware that "busy" back from a TDM circuit would progress in the
> dialplan rather than going to the h exten.
> 
> What other cases are there like that?

It is my understanding (through trial and error, reading, etc) that any 
Dial command that does not result in an answered state will continue in 
the dialplan after a timeout (if specified) or some sort of progress is 
received. If the called channel results in an answer then dialplan 
processing stops as soon as one party hangs up (unless the g option is 
specified).

This works on any channels that can pass progress (SIP/IAX and Zap/DAHDI 
PRI and BRI). Zap/DAHDI Analog channels are considered answered as soon 
as the dial is complete so you won't be able to use this trick under 
normal circumstances.

-Dave



More information about the asterisk-users mailing list