[asterisk-users] Dial an extension to modify dialplan
Frank Vanoni
mailinglist at linuxista.com
Mon May 8 09:35:40 CDT 2017
Hello
I have the following scenario:
[mynicecontext]
exten => 2000,1,Dial(SIP/deviceA&SIP/deviceB&SIP/deviceC)
As expected, by dialing 2000, all three devices will ring. And that's
fine.
However, there are situations where I only want "deviceA" and "deviceB"
to ring. I would like to have an extension to dial in order to modify
the dialplan.
Here is what I did...
In extensions.conf:
------ snip -----
[mynicecontext]
#include "ringdevice.conf
exten => 2000,1,GoTo(ringdevice,ring,1)
exten => 4000,1,System(/bin/cat /etc/asterisk/twodevices.txt
> /etc/asterisk/ringdevice.conf)
exten => 4000,2,Wait(3)
exten => 4000,3,System(/usr/sbin/asterisk -rx "dialplan reload")
exten => 4000,4,Playback(service&de-activated)
exten => 4001,1,System(/bin/cat /etc/asterisk/alldevices.txt
> /etc/asterisk/ringdevice.conf)
exten => 4001,2,Wait(3)
exten => 4001,3,System(/usr/sbin/asterisk -rx "dialplan reload")
exten => 4001,4,Playback(service&activated)
------ end snip -----
twodevices.txt contains
exten => ring,1,Dial(SIP/deviceA&SIPdeviceB)
alldevices.txt contains
exten => ring,1,Dial(SIP/deviceA&SIPdeviceB&SIP/deviceC)
By dialing 4000 or 4001, the dialplan is modified and reloaded
accordingly.
Is there a better solution?
Frank
More information about the asterisk-users
mailing list