;===================================================================== ; Sample extensions.conf file ;===================================================================== [globals] [default] ; ; Extension for evaulating echo latency. ; exten => 10,1,Playback(demo-echotest); Let them know what's going on exten => 10,2,Playback(beep); Let them know to start exten => 10,3,Echo; Do the echo test exten => 10,4,Playback(demo-echodone); Let them know it's over exten => 10,5,Hangup ; ; Generate a Constant 1000Hz tone at 0dbm (mu-law) ; exten => 11,1,Milliwatt() exten => 11,2,Hangup ; ; Record a temporary GSM file ; exten => 12,1,Wait(2) exten => 12,2,Record(/tmp/asterisk-recording:gsm) exten => 12,3,Wait(2) exten => 12,4,Playback(/tmp/asterisk-recording) exten => 12,5,Wait(2) exten => 12,6,Hangup ; ; Say Current Date and Time ; exten => 13,1,DateTime() exten => 13,2,Wait(1) exten => 13,3,DateTime() exten => 13,4,Hangup ; ; ; Read back caller's number ; exten => 14,1,Wait(1) exten => 14,2,SayDigits(${CALLERIDNUM}) exten => 14,3,Wait(1) exten => 14,4,SayDigits(${CALLERIDNUM}) exten => 14,5,Hangup ; ; Access Voicemail ; exten => 666,1,VoicemailMain exten => 666,2,Hangup ; ; Sample Zap Phone ; ;exten => 30,1,Dial(Zap/2,20); Ring for 20 seconds ;exten => 30,2,Voicemail(u${EXTEN}) ;exten => 30,3,Hangup; Unavail voicemail if extension doesn't answer ;exten => 30,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy ;exten => 30,103,Hangup ; ; Sample SIP Phone ; ; [default] exten => 19,1,Dial(SIP/19,20); Ring for 20 seconds exten => 19,2,Dial(SIP/20,20) ;exten => 19,2,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer ;exten => 19,3,Hangup exten => 19,3,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 19,4,Hangup exten => 20,1,Dial(SIP/20,20); Ring for 20 seconds exten => 20,2,Dial(SIP/19,20) ;exten => 20,2,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer ;exten => 20,3,Hangup exten => 20,3,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 20,4,Hangup exten => 21,1,Dial(SIP/21,20); Ring for 20 seconds exten => 21,2,Dial(SIP/22,20) exten => 21,3,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer exten => 21,4,Hangup exten => 21,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 21,103,Hangup exten => 22,1,Dial(SIP/22,20); Ring for 20 seconds exten => 22,2,Dial(SIP/21,20) exten => 22,3,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer exten => 22,4,Hangup exten => 22,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 22,103,Hangup exten => 23,1,Dial(SIP/23,20); Ring for 20 seconds exten => 23,2,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer exten => 23,3,Hangup exten => 23,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 23,103,Hangup exten => 25,2,Voicemail(u${EXTEN}); exten => 24,1,Dial(SIP/24,20); Ring for 20 seconds exten => 24,2,Dial(SIP/19,20) exten => 21,3,Dial(SIP/20,20) exten => 24,4,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer exten => 24,5,Hangup exten => 24,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 24,103,Hangup exten => 25,1,Dial(SIP/25,20); Ring for 20 seconds exten => 25,2,Voicemail(u${EXTEN}); Unavail voicemail if extension doesn't answer exten => 25,3,Hangup exten => 25,102,Voicemail(b${EXTEN}); Busy Voicemail if extension is busy exten => 25,103,Hangup ; ; Sample Zap Fax ; exten => 32,1,Dial(Zap/3,20,d); Ring for 20 seconds, request a low latency call exten => 32,2,Hangup ; [incoming] ; ; Incoming calls with no destination land here (usually from the PSTN) ; exten => s,1,Answer exten => s,2,DigitTimeout(20); Set Digit Timeout to 20 seconds exten => s,3,ResponseTimeout(40); Set Response Timeout to 40 seconds exten => s,4,Background(vm-extension); Ask them for the extension they want exten => 1,1,Dial(SIP/23,20); Ring for 20 seconds exten => 1,2,Voicemail(23) ;(u${EXTEN}) exten => 1,3,Hangup exten => 2,1,Dial(SIP/21,20) exten => 2,2,Dial(SIP/22,20) exten => 2,3,Dial(SIP/19,20) exten => 2,4,Voicemail(21) ;(u${EXTEN}) exten => 2,5,Hangup exten => 3,1,Dial(SIP/24,20) exten => 3,2,Dial(SIP/19,20) exten => 3,3,Dial(SIP/20,20) exten => 3,4,Voicemail(24) exten => 3,5,Hangup exten => 0,1,Dial(SIP/24,20) exten => 0,2,Dial(SIP/19,20) exten => 0,3,Dial(SIP/20,20) exten => 0,4,Voicemail(24) exten => 0,5,Hangup ; ; If we detect a fax tone send call to extension 22 priority 1 ; Not all fax machines/fax modems send a fax tone when calling. ; If we get a call from one of those then we can't detect that it's a fax call. ; This only works for devices on Zap channels (Digium cards). ; exten => fax,1,Goto(22,1) ; ; Hang up the line if the caller doesn't do anything ; exten => t,1,Hangup ; ; Allow incoming calls from the outside to dial our internal extensions ; ;include => extensions ;[toll-trunks] ; ; Outbound 1-nxx-nxx-xxxx goes via: NuFone ; ;exten => _91NXXNXXXXXX,1,Dial(IAX/bobdobbs@nufone/${EXTEN:1}) ;exten => _91NXXNXXXXXX,2,Congestion ;[default] [local-trunks] ; ; Outbound to nxx-xxxx goes via: PSTN ; ;exten => _9.,1,Dial(Zap/3/${EXTEN:1}) exten => _9NXXXXXX,1,Dial(Zap/3/${EXTEN:1}) exten => _9NXXXXXX,2,Congestion ; ; Outbound to nxx-nxx-xxxx are considered local calls and go via: PSTN ; In some places calls to these numbers are toll calls and this exten should ; be in [toll-access] if that is the case.. ; ;exten => _9NXXXXXX,1,Dial(Zap/1/${EXTEN:1}) ;exten => _9NXXXXXX,2,Congestion ; ; Extensions that are this context are allowed to only call local PSTN numbers and other extensions ; ignorepat => 9; Continue dialtone after dialing "9" only works on ZAP include => default ;include => local-trunks; Access to Local numbers ;[toll-access] ; ; Extensions that are this context are allowed to call local and long distance PSTN numbers and other extensions ; ;ignorepat => 9; Continue dialtone after dialing "9" only works on ZAP ;include => local-access; Everything local-access has ;include => toll-trunks; Access to toll numbers