[Asterisk-Users] Asterisk Dial Failover

Douglas Garstang dgarstang at oneeighty.com
Thu Dec 8 21:03:28 MST 2005


All,
 
I have an Asterisk system that sends PSTN calls to an OpenSER system to be routed. I have a command like this in my extensions.conf:
 
exten => 1_.,1,Dial(SIP/${EXTEN}@proxy,20,tr)
 
There's actually two OpenSER systems for redundancy. I'm trying to find a way to have Asterisk attempt to route the call to one OpenSER system, and if it's down, fallback to another.
 
Any first thoughts on how to achieve this?
 
I can't have Asterisk do a DNS SRV lookup because Asterisks SRV lookups are broken. If I issue a series of Dial commands, such as this:
 
exten => 1_.,1,Dial(SIP/${EXTEN}@proxy1,20,tr)
exten => 1_.,2,Dial(SIP/${EXTEN}@proxy2,20,tr)
 
... what seems to happen is that when proxy1 is down, Asterisk waits the full 20 seconds before returning control. Also, This 20s includes the time is takes for the other end to answer, so if I put a small value of say 5s in there, the dial command will probably give up before someone answers at the other end. Neither is workable.
 
Asterisk SHOULD be able to distinguish between a TRYING and no response. In the event it gets no TRYING response to a dial command within a specified timeout it should return control and flag an error. If on the other hand it does get a TRYING response (and maybe a RINGING too) it should continue to wait until the 20s has expired.
 
I can't use dynamic DNS (ie putting two A records for a hostname in DNS) because Asterisk reads the extensions.conf on startup and also seems to cache what the host maps to on startup. Subsequent calls to the host always return the same IP address.
 
But... in general... how have people implemented this? 
 
Help appreciated!
Doug
 
 
 
 
 
 
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 5158 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20051208/61fbfe4d/attachment.bin


More information about the asterisk-users mailing list