[general]
static=yes
writeprotect=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
IAXINFO=slepp:password ; IAXtel username/password
FWDEXTEN=267595 ; FWD Extension Number
IAXTELEXTEN=17007772505 ; IAXtel number
FNETWORKS=8829900003301
MAIN_CONTEXT=default
MAIN_EXTEN=s
;;; Dial IAXtel numbers
[macro-iax-out]
exten => s,
3,
Dial(IAX2/
${IAXINFO}@iaxtel.com/
${ARG1}@iaxtel||r
)
;;; Handle free world dialup numbers
[macro-fwd-out]
exten => s,
3,
Dial(SIP/${ARG1}@fwd.pulver.com||r
)
;;; Handle calls going OUT to iaxtel or FWD
[outgoing]
; If we got here, and do not know why, hangup
; Local numbers
exten =>
_17007772505,
1,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
1)
exten =>
_17009267595,
1,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
1)
exten =>
_17009.,
1,
Macro(fwd-out,
${EXTEN:5}) ; Free World Dialup
exten =>
_1700NXXXXXX,
1,
Macro(iax-out,
${EXTEN}) ; IAXtel
; Toll-free numbers (US)
exten =>
_1800NXXXXXX,
1,
Macro(fwd-out,*
${EXTEN})
exten =>
_1866NXXXXXX,
1,
Macro(fwd-out,*
${EXTEN})
exten =>
_1877NXXXXXX,
1,
Macro(fwd-out,*
${EXTEN})
exten =>
_1888NXXXXXX,
1,
Macro(fwd-out,*
${EXTEN})
; Perform ENUM lookups here
exten =>
_4.,
3,
Dial(${ENUM},
30,tr
)
; Incoming SIP calls to FWDEXTEN
[from-sip]
exten =>
${FWDEXTEN},
1,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
1)
; Incoming Line Share wtih Fierymoon
[fiery-enum-incoming]
exten =>
_17804254798,
1,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
1) ; Incoming call for us via ENUM
exten =>
_1NXXNXXXXXX,
1,
SetVar(enumok=
0)
exten =>
_1NXXNXXXXXX,
2,
DBget(enumok=enumok/
${EXTEN:1:6})
exten =>
_1NXXNXXXXXX,
3,
GotoIf(${enumok}?
4:
900)
exten =>
_1NXXNXXXXXX,
5,
Dial(Zap/1/
${EXTEN:4})
exten =>
_1NXXNXXXXXX,
6,
Hangup
exten =>
_1NXXNXXXXXX,
106,
Wait(10)
exten =>
_1NXXNXXXXXX,
107,
Hangup
;;; Record messages for playback in IVR
[audrec]
exten =>
188011,
4,
Read(RECID|recording/asterisk
-1)
exten =>
188011,
6,
Playback(recording/asterisk
-2)
exten =>
188011,
7,
Record(/tmp/recordings/asterisk-
${RECID}:gsm
)
exten =>
188011,
8,
Playback(recording/asterisk
-3)
exten =>
188011,
9,
Playback(/tmp/recordings/asterisk-
${RECID})
exten =>
188011,
10,
Read(OKAY|recording/asterisk
-4)
exten =>
188011,
11,
GotoIf($
[${OKAY} = 1]?:
5)
exten =>
188011,
12,
Festival(The file has been saved into file number
${RECID}.
)
exten =>
188011,
13,
Wait(2)
;;; Queuing and music on hold
[macro-queue-caller]
exten => s,
2,
DBget(music=music-choice/
${CALLERID})
exten => s,
3,
GotoIf($
["${music}" =
""]?
5:
4)
exten => s,
5,
Queue(${ARG1},tH
)
exten => s,
7,
Goto(netmonks-main,s,
${MAINEXT})
; Change and save the caller MOH preference
[macro-change-moh]
exten => s,
2,
DBput(music-choice/
${CALLERID}=
${ARG1})
exten => s,
3,
Queue(${ARG2},tH
)
; This "menu" is used from the support queue
[support-moh]
exten =>
1,
1,
Macro(change-moh,default,support
)
exten =>
2,
1,
Macro(change-moh,slow,support
)
;;; Main NetMonks incoming
[netmonks-main]
exten => s,
6,
Background,netmonks/thank-you-for-calling
exten => s,
7,
SetVar(MAIN_PRIORITY=
${PRIORITY})
exten => s,
8,
Background,netmonks/if-you-know-the-ext
; Extension 1 - Gets us to the support queue
exten =>
1,
1,
Macro(queue-caller,support
)
; Get a directory of extensions
; Dump various information to the console
exten =>
3,
1,
NoOp,Context:
${CONTEXT}
exten =>
3,
3,
NoOp,TimeStamp:
${TIMESTAMP}
exten =>
3,
4,
NoOp,
Exten:
${EXTEN}
exten =>
3,
5,
NoOp,Language:
${LANGUAGE}
exten =>
3,
6,
NoOp,Priority:
${PRIORITY}
exten =>
3,
7,
NoOp,CallerID:
${CALLERID}
exten =>
3,
8,
NoOp,CallerIDNum:
${CALLERIDNUM}
exten =>
3,
9,
NoOp,CallerIDName:
${CALLERIDNAME}
exten =>
3,
10,
NoOp,Channel:
${CHANNEL}
exten =>
3,
11,
NoOp,RDNIS:
${RDNIS}
exten =>
3,
12,
NoOp,SIPDomain:
${SIPDOMAIN}
exten =>
3,
13,
NoOp,SIP_Codec:
${SIP_CODEC}
exten =>
3,
14,
NoOp,UniqueID:
${UNIQUEID}
exten =>
3,
15,
NoOp,DNID:
${DNID}
exten =>
3,
16,
NoOp,AccountCode:
${ACCOUNTCODE}
exten =>
4,
1,
EAGI(/web/netmonks.ca/php-test.
agi)
exten =>
4,
2,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
exten =>
5,
1,
EAGI(festival-fortune.pl
)
exten =>
5,
2,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
exten =>
6,
2,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
exten => i,
2,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
exten => t,
1,
Playback(tt-somethingwrong
)
exten => t,
2,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
;;; NetMonks Extensions
; Standard voice mail passoff
[macro-stdexten]
exten => s,
1,
Dial(${ARG2},
45)
exten => s,
3,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
exten => s,
103,
Goto(${MAIN_CONTEXT},
${MAIN_EXTEN},
${MAIN_PRIORITY})
[netmonks-ext]
exten =>
801,
1,
Macro(stdexten,
${EXTEN},IAX2/proso@slepp
)
exten =>
802,
1,
Macro(stdexten,
${EXTEN},IAX2/proso@methos
)
exten =>
803,
1,
Macro(stdexten,
${EXTEN},OH323/
188310)
exten =>
896,
2,
Playback(agent-loggedoff
)
exten =>
899,
1,
DISA,
9772|outgoing
; Default context
[default]
include => netmonks-main
include => netmonks-ext
include => parkedcalls
;include => outgoing
[agent-locations]
include => netmonks-ext
include => outgoing
[local]
include => netmonks-ext
include => outgoing
include => audrec