Direct Inward System Access in VICIDIAL

DISA stands for Direct Inward System Access. DISA allows outside callers to call into the PBX and obtain an internal dial tone.  I could not find the DISA application in the VICIBOX asterisk so I wrote using Read Command. 

In this scenario, if someone calls my pilot number 03202212345 they will route to ingroup But if a selected list of numbers that I specified in the context calls the same number they will hear 3 beeps, and then they can enter their number to call. So they can call anywhere using the office line. This is how implemented DISA in the Vicibox system.

vim /etc/asterisk/extensions.conf


exten => 03202212345,1,NoOP(-----------------------------------------------------)

            same => n,NoOP(------ ${CALLERID(num)} is calling Our Lines ------)

            same => n,GotoIf($["${CALLERID(num)}" = "0175649736"]?VICIDIAL-DISA)

            same => n,GotoIf($["${CALLERID(num)}" = "0171234575"]?VICIDIAL-DISA)

            same => n,GotoIf($["${CALLERID(num)}" = "0312347623"]?VICIDIAL-DISA)

            same => n,AGI(agi-DID_route.agi)

            same => n,Hangup()

            same => n(VICIDIAL-DISA),PlayBack(beep)

            same => n,Playback(beep)

            same => n,Read(Number,beep,,,,30)

            same => n,NoOP(---- User Entered ${Number} to call using DISA Feature ------)

            same => n,Dial(SIP/MYTRUNKSIPUSER/${Number})

            same => n,Hangup()