[asterisk-users] retry loop in ansible ?

C. Maj chris at PenguinPBX.com
Mon Jan 8 11:16:13 CST 2024


On 12/6/23 02:08, Axel Rau wrote:
> I have a simple config with some phones ringing simultaneously.
> Some of them are softphones (zoiper apps on iPhone w/o push notification).
> If such an app did bot register in time, it has no chance to pick up the call.
> If I could configure a retry loop checking for registered candidates,
> say once a second until one phone takes the call, this would allow me
> to pick up the call with zoiper app registered late.
> 
> How could this be done in ansible?

Did you mean asterisk ?

If so, then you might look into the While()/EndWhile() applications, 
combined with timeouts to Dial() application, starting with something 
very basic such as the following:

same = n,Set(tries=0)
same = n,While($[${INC(tries)}<99])
same = n,Set(PUSH(team,&)=${PJSIP_DIAL_CONTACTS(1234)})
same = n,Set(PUSH(team,&)=${PJSIP_DIAL_CONTACTS(5678)})
same = n,Dial(${team},10)
same = n,Wait(1)
same = n,EndWhile()

...at most that would be 11 seconds in between registration of x5678 and 
the next time it gets called when x1234 is not answering.

Other approaches might involve Queue()'s with some ChannelRedirect()'s 
or even Bridge()'s, maybe AGI/ARI, etc.

BTW the Asterisk Forums are a great place to post these kinds of 
questions in the future: https://community.asterisk.org

Regards,

-- 
🤠 C. Maj, TechnoCaptain
🐧 Penguin PBX Solutions
📞 Denver 720-32-42-72-9
💡 Beyond 1-833-PNGN-PBX
🌐 http://PeNGuiNPBX.com




More information about the asterisk-users mailing list