aboutsummaryrefslogtreecommitdiffstats
path: root/configs/extensions.conf.sample
blob: 8f10fef2d1eb30fb27e2547f0a9953aa2d57eeb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
;
; Static extension configuration files, used by
; the pbx_config module.
;
; The "General" category is for certain variables.  All other categories
; are interpreted as extension contexts
;
[general]
;
; If static is set to no, or omitted, then the pbx_config will rewrite
; this file when extensions are modified.  Remember that all comments
; made in the file will be lost when that happens. 
;
; XXX Not yet implemented XXX
;
static=yes

;
; if stati=yes and writeprotect=no, you can save dialplan by
; CLI command 'save dialplan' too
;
writeprotect=no

; Remote things always ring all phones first.
;[remote]
;exten => s,1,Dial,AdtranVoFR/4200&AdtranVoFR/4151&AdtranVoFR/4300|15
;exten => s,2,Goto,default|s|2
;include => default

;
; Here are the entries you need to participate in the IAXTEL
; call routing system.  Most IAXTEL numbers begin with 1-700, but
; there are exceptions.  For more information, and to sign
; up, please go to www.gnophone.com or www.iaxtel.com
;
[iaxtel]
exten => _91NXXNXXXXXX,1,StripMSD,1
exten => _1NXXNXXXXXX,2,Dial,IAX/iaxtel.com/BYEXTENSION@iaxtel

; Local stuff
[local]
; Special extension for local phone numbers, long distance, etc, going
; out via the Frame Relay interface.  Patterns are prefixed with "_", which
; is ignored.
;
; ignorepat can be used to instruct drivers to not cancel dialtone upon
; receipt of a particular pattern.  The most commonly used example is
; of course '9' like this:
;
; ignorepat => 9
;
; so that dialtone remains even after dialing a 9.
;
ignorepat => 9
;exten => _9NXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
;exten => _91NXXNXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
;exten => _9911,1,Dial,AdtranVoFR/BYEXTENSION
include => default
include => iaxtel
;
; You can use an alternative switch type as well, to resolve
; extensions that are not known here, for example with remote 
; IAX switching you transparently get access to the remote
; 
; switch => IAX/user:password@bigserver/local


[default]
;
; We start with what to do when a call first comes in.
;
exten => s,1,Wait,1			; Wait a second, just for fun
exten => s,2,Answer			; Answer the line
exten => s,3,DigitTimeout,5		; Set Digit Timeout to 5 seconds
exten => s,4,ResponseTimeout,10		; Set Response Timeout to 10 seconds
exten => s,5,BackGround,demo-congrats	; Play a congratulatory message
exten => s,6,BackGround,demo-instruct	; Play some instructions

exten => 2,1,BackGround,demo-moreinfo	; Give some more information.
exten => 2,2,Goto,s|6

exten => 3,1,SetLanguage,fr		; Set language to french
exten => 3,2,Goto,s|5			; Start with the congratulations

;
; We also create an example user, 1234, who is on the console and has
; voicemail, etc.
;
exten => 1234,1,Playback,transfer|skip		; "Please hold while..." 
					; (but skip if channel is not up)
exten => 1234,2,Dial,Console/dsp|10	; Ring the console, 10 secs max
exten => 1234,3,Playback,vm/1234/unavail	; "I'm not here right now"
exten => 1234,4,Voicemail,1234		; Send to voicemail...
exten => 1234,5,Goto,s|6			; Start over
exten => 1234,103,Playback,vm/1234/busy	; (2 + 101) "I'm on the phone"
exten => 1234,104,Goto,4			; Go to voicemail, etc.

exten => 1235,1,Goto,1234|3		; Right to voicemail

exten => 1236,1,Dial,Console/dsp		; Ring forever
exten => 1236,2,Goto,1234|103		; Unless busy

;
; # for when they're done with the demo
;
exten => #,1,Playback,demo-thanks		; "Thanks for trying the demo"
exten => #,2,Hangup			; Hang them up.

;
; A timeout and "invalid extension rule"
;
exten => t,1,Goto,#|1			; If they take too long, give up
exten => i,1,Playback,invalid		; "That's not valid, try again"

;
; Create an extension, 500, for dialing the
; Asterisk demo.
;
exten => 500,1,Playback,demo-abouttotry	; Let them know what's going on
exten => 500,2,Dial,IAX/asterisk@demo	; Call the Asterisk demo
exten => 500,3,Playback,demo-nogo		; Couldn't connect to the demo site
exten => 500,4,Goto,s|6			; Return to the start over message.

;
; Create an extension, 600, for evaulating echo latency.
;
exten => 600,1,Playback,demo-echotest	; Let them know what's going on
exten => 600,2,Echo			; Do the echo test
exten => 600,3,Playback,demo-echodone	; Let them know it's over
exten => 600,4,Goto,s|6			; Start over

;
; Give voicemail at extension 8500
;
exten => 8500,1,VoicemailMain
exten => 8500,2,Goto,s|6
;
; Here's what a phone entry would look like (IXJ for example)
;
;exten => 1265,1,Dial,Phone/phone0|15
;exten => 1265,2,Goto,s|5

; This is a more complicated sample extension configuration, similar to
; what we use at LSS.

;[default]
;exten => s,1,Wait,0
;exten => s,2,Answer
;exten => s,3,DigitTimeout,5
;exten => s,4,ResponseTimeout,10
;exten => s,5,BackGround,welcome
;exten => *,1,Directory,default
;exten => *,2,Goto,s|4
;exten => #,1,Playback,goodbye
;exten => #,2,Hangup
;exten => 100,1,Goto,other|s|1
;exten => 200,1,Intercom
;exten => 400,1,MP3Player,song8.mp3
;exten => 401,1,MP3Player,sample.mp3
;exten => 402,1,MP3Player,sunscreen.mp3
;exten => 403,1,MP3Player,http://trode.vergenet.net:8000
;exten => 404,1,MP3Player,http://216.32.166.94:14900
;exten => 405,1,Playback,sample
;
; Here's the template for a typical extension, carefully broken apart
; for analysis.  The others are pretty much the same, but not as well
; documented.
;
; Step 1:  Play back a "Please hold while I try that extension" message
;exten => 4300,1,Playback,transfer
; Step 2:  Dial the numbers where Ben is likely to be.  Try for no more
;          than 15 seconds.
;exten => 4300,2,Dial,AdtranVoFR/4300|15
; Step 3:  If there is no answer, play back a message stating that Ben is
;          unavailable.  Alternatively, we could have rung an operator first.
;exten => 4300,3,Playback,vm/4300/unavail
; Step 4:  Send them to voicemail.
;exten => 4300,4,Voicemail,4300
; Step 5:  If they return from voicemail, go back to the top
;exten => 4300,5,Goto,s|4
; Step 103: If the Dialing is busy, it will try here first.  We'll play a
;           special "I'm busy" message...
;exten => 4300,103,Playback,vm/4300/busy
; Step 104: And then continue as if it had been busy in the first place.
;exten => 4300,104,Goto,4
; Exten. 4301: Provide a short-circuit so we can transfer striaght to 
;              voicemail.
;exten => 4301,1,Goto,4300|3
; Exten. 4302: Provide a way to ring a given phone indefinitely
;exten => 4302,1,Dial,AdtranVoFR/4300

;exten => 4200,1,Playback,transfer
;exten => 4200,2,Dial,AdtranVoFR/4200|15
;exten => 4200,3,Playback,vm/4200/unavail
;exten => 4200,4,Voicemail,4200
;exten => 4200,5,Goto,s|4
;exten => 4200,103,Playback,vm/4200/busy
;exten => 4200,104,Goto,4
;exten => 4201,1,Goto,4200|3
;exten => 4202,1,Dial,AdtranVoFR/4200

;exten => 4110,1,Playback,transfer
;exten => 4110,2,Dial,AdtranVoFR/4110|15
;exten => 4110,2,Wait,5
;exten => 4110,3,Playback,vm/4110/unavail
;exten => 4110,4,Voicemail,4110
;exten => 4110,5,Goto,s|4
;exten => 4110,103,Playback,vm/4110/busy
;exten => 4110,104,Goto,4
;exten => 4111,1,Goto,4110|3
;exten => 4112,1,Dial,AdtranVoFR/4110
;exten => 4113,1,Voicemail,s4110

;exten => 8500,1,VoicemailMain
;exten => 8500,2,Goto,s|4
;exten => 762,1,Playback,somepeople
;exten => 762,2,Wait,4
;exten => 762,3,Goto,s|4

; Timeout stuff...  We could send to an operator, or just ditch them.
;exten => t,1,Goto,#|1
;exten => i,1,BackGround,invalid
include => parkedcalls

;[other]
;exten => s,1,Playback,digits/9
;exten => s,2,Playback,digits/8
;exten => s,3,Playback,digits/7
;exten => s,4,Goto,100|1
;exten => 100,1,Playback,digits/6
;exten => 100,2,Playback,digits/5
;exten => 100,3,Goto,default|s|4