[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