84 lines
2.1 KiB
Plaintext
84 lines
2.1 KiB
Plaintext
; /etc/asterisk/extensions.conf
|
|
|
|
; Remember, context names for each SIP account are specified in pjsip_wizard.conf.
|
|
;
|
|
[globals]
|
|
; first queue.
|
|
QUEUE_ONE = queue-one
|
|
|
|
; Voicemail address (configured in voicemail.conf)
|
|
VOICEMAIL_BOX = 1000@default
|
|
|
|
; Trunk numbers.
|
|
TRUNK_ONE_CID = +447123456789
|
|
|
|
; First, some safeguards against abuse of the built-in contexts.
|
|
[default]
|
|
exten => s,1,Verbose(1, "info: ${CALLERID(num)} was passed to default")
|
|
same => n,Hangup(3)
|
|
|
|
[presence]
|
|
exten => _X.,hint,PJSIP/${EXTEN}
|
|
|
|
[app-lastcallreturn]
|
|
exten => 1471,1,Verbose(1, "info: ${CALLERID(num)} dialed app-lastcallreturn.")
|
|
same => n,Set(number=${DB(lastcaller/${CALLERID(num)})})
|
|
same => n,Answer(2)
|
|
same => n,GotoIf($["${number}" = ""]?nonum,1)
|
|
same => n,Playback(info-about-last-call&telephone-number)
|
|
same => n,Wait(1)
|
|
same => n,SayDigits(${number})
|
|
same => n,Wait(1)
|
|
same => n,Playback(to-call-num-press)
|
|
same => n,Playback(digits/3)
|
|
same => n,WaitExten(10)
|
|
same => n,Goto(timeout,1)
|
|
|
|
exten => 3,1,Goto(outbound-one,${number},1)
|
|
same => n,Hangup()
|
|
|
|
exten => nonum,1,Playback(unidentified-no-callback)
|
|
same => n,Hangup()
|
|
|
|
exten => timeout,1,Playback(vm-goodbye)
|
|
same => Hangup()
|
|
|
|
[app-vm]
|
|
exten = 1571,1,Verbose(1, "info: ${CALLERID(num)} dialed voicemail")
|
|
same = n,VoiceMailMain(${CALLERID(num)}@default,s)
|
|
same = n,Hangup()
|
|
|
|
[from-quectel0]
|
|
exten => ${TRUNK_ONE_CID},1,Queue(${QUEUE_ONE},nr,,,50)
|
|
same => n,Answer(500)
|
|
same => n,Voicemail(${VOICEMAIL_BOX},su)
|
|
same => n,Hangup()
|
|
|
|
[from-ext]
|
|
exten => 123,1,Goto(i,1)
|
|
same => n,Hangup()
|
|
|
|
exten => _XX.,1,Dial(Quectel/quectel0/${EXTEN},,r)
|
|
same => n,Hangup()
|
|
|
|
exten => 1471,1,Goto(app-lastcallreturn,${EXTEN},1)
|
|
same => n,Hangup()
|
|
|
|
exten => 1571,1,Goto(app-vm,${EXTEN},1)
|
|
same => n,Hangup()
|
|
|
|
exten => i,1,Answer(1)
|
|
same => n,PlayTones(info)
|
|
same => n,Wait(2)
|
|
same => n,Playback(cannot-complete-as-dialed&check-number-dial-again)
|
|
same => n,PlayTones(info)
|
|
same => n,Wait(1)
|
|
same => n,Playback(cannot-complete-as-dialed&check-number-dial-again)
|
|
same => n,PlayTones(info)
|
|
same => n,Hangup()
|
|
|
|
[to-ext]
|
|
exten => s,1,Set(DB(lastcaller/${EXTEN})=${CALLERID(num)})
|
|
same => n,Dial(PJSIP/${EXTEN},,r)
|
|
same => n,Hangup()
|