2 ; Static extension configuration files, used by
3 ; the pbx_config module.
5 ; The "General" category is for certain variables. All other categories
6 ; are interpreted as extension contexts
10 ; If static is set to no, or omitted, then the pbx_config will rewrite
11 ; this file when extensions are modified. Remember that all comments
12 ; made in the file will be lost when that happens.
14 ; XXX Not yet implemented XXX
19 ; if stati=yes and writeprotect=no, you can save dialplan by
20 ; CLI command 'save dialplan' too
24 ; Remote things always ring all phones first.
26 ;exten => s,1,Dial,AdtranVoFR/4200&AdtranVoFR/4151&AdtranVoFR/4300|15
27 ;exten => s,2,Goto,default|s|2
31 ; Here are the entries you need to participate in the IAXTEL
32 ; call routing system. Most IAXTEL numbers begin with 1-700, but
33 ; there are exceptions. For more information, and to sign
34 ; up, please go to www.gnophone.com or www.iaxtel.com
37 exten => _91NXXNXXXXXX,1,StripMSD,1
38 exten => _1NXXNXXXXXX,2,Dial,IAX/iaxtel.com/BYEXTENSION@iaxtel
41 ;switch => IAX/user:[key]@myserver/mycontext
45 ; Special extension for local phone numbers, long distance, etc, going
46 ; out via the Frame Relay interface. Patterns are prefixed with "_", which
49 ; ignorepat can be used to instruct drivers to not cancel dialtone upon
50 ; receipt of a particular pattern. The most commonly used example is
51 ; of course '9' like this:
55 ; so that dialtone remains even after dialing a 9.
58 ;exten => _9NXXXXXX,1,Dial,IAX/user:[key]@myserver/BYEXTENSION
59 ;exten => _91NXXNXXXXXX,1,Dial,IAX/user:[key]@myserver/BYEXTENSION
60 ;exten => _9911,1,Dial,IAX/user:[key]@myserver/BYEXTENSION
65 ; You can use an alternative switch type as well, to resolve
66 ; extensions that are not known here, for example with remote
67 ; IAX switching you transparently get access to the remote
69 ; switch => IAX/user:password@bigserver/local
74 ; We start with what to do when a call first comes in.
76 exten => s,1,Wait,1 ; Wait a second, just for fun
77 exten => s,2,Answer ; Answer the line
78 exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
79 exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
80 exten => s,5,BackGround,demo-congrats ; Play a congratulatory message
81 exten => s,6,BackGround,demo-instruct ; Play some instructions
83 exten => 2,1,BackGround,demo-moreinfo ; Give some more information.
86 exten => 3,1,SetLanguage,fr ; Set language to french
87 exten => 3,2,Goto,s|5 ; Start with the congratulations
90 ; We also create an example user, 1234, who is on the console and has
93 exten => 1234,1,Playback,transfer|skip ; "Please hold while..."
94 ; (but skip if channel is not up)
95 exten => 1234,2,Dial,Console/dsp|10 ; Ring the console, 10 secs max
96 exten => 1234,3,Voicemail,u1234 ; Send to voicemail...
97 exten => 1234,5,Goto,s|6 ; Start over
98 exten => 1234,103,Voicemail,b1234 ; (2 + 101) "I'm on the phone"
99 exten => 1234,104,Goto,5 ; Go to voicemail, etc.
101 exten => 1235,1,Goto,1234|3 ; Right to voicemail
103 exten => 1236,1,Dial,Console/dsp ; Ring forever
104 exten => 1236,2,Goto,1234|103 ; Unless busy
107 ; # for when they're done with the demo
109 exten => #,1,Playback,demo-thanks ; "Thanks for trying the demo"
110 exten => #,2,Hangup ; Hang them up.
113 ; A timeout and "invalid extension rule"
115 exten => t,1,Goto,#|1 ; If they take too long, give up
116 exten => i,1,Playback,invalid ; "That's not valid, try again"
119 ; Create an extension, 500, for dialing the
122 exten => 500,1,Playback,demo-abouttotry ; Let them know what's going on
123 exten => 500,2,Dial,IAX/asterisk@demo ; Call the Asterisk demo
124 exten => 500,3,Playback,demo-nogo ; Couldn't connect to the demo site
125 exten => 500,4,Goto,s|6 ; Return to the start over message.
128 ; Create an extension, 600, for evaulating echo latency.
130 exten => 600,1,Playback,demo-echotest ; Let them know what's going on
131 exten => 600,2,Echo ; Do the echo test
132 exten => 600,3,Playback,demo-echodone ; Let them know it's over
133 exten => 600,4,Goto,s|6 ; Start over
136 ; Give voicemail at extension 8500
138 exten => 8500,1,VoicemailMain
139 exten => 8500,2,Goto,s|6
141 ; Here's what a phone entry would look like (IXJ for example)
143 ;exten => 1265,1,Dial,Phone/phone0|15
144 ;exten => 1265,2,Goto,s|5
148 ; By default we include the demo. In a production system, you
149 ; probably don't want to have the demo there.
153 ; This is a more complicated sample extension configuration, similar to
154 ; what we used to use at LSS.
159 ;exten => s,3,DigitTimeout,5
160 ;exten => s,4,ResponseTimeout,10
161 ;exten => s,5,BackGround,welcome
162 ;exten => *,1,Directory,default
163 ;exten => *,2,Goto,s|4
164 ;exten => #,1,Playback,goodbye
166 ;exten => 100,1,Goto,other|s|1
167 ;exten => 200,1,Intercom
168 ;exten => 400,1,MP3Player,song8.mp3
169 ;exten => 401,1,MP3Player,sample.mp3
170 ;exten => 402,1,MP3Player,sunscreen.mp3
171 ;exten => 403,1,MP3Player,http://trode.vergenet.net:8000
172 ;exten => 404,1,MP3Player,http://216.32.166.94:14900
173 ;exten => 405,1,Playback,sample
175 ; Here's the template for a typical extension, carefully broken apart
176 ; for analysis. The others are pretty much the same, but not as well
179 ; Step 1: Play back a "Please hold while I try that extension" message
180 ;exten => 4300,1,Playback,transfer
181 ; Step 2: Dial the numbers where Ben is likely to be. Try for no more
183 ;exten => 4300,2,Dial,AdtranVoFR/4300|15
184 ; Step 3: Send them to voicemail, preceeded by their unavailable message.
185 ;exten => 4300,3,Voicemail,u4300
186 ; Step 4: If they return from voicemail, go back to the top
187 ;exten => 4300,4,Goto,s|4
188 ; Step 103: If the Dialing is busy, it will try here first. We'll play a
189 ; special "I'm busy" message and send them to voicemail
190 ;exten => 4300,103,Voicemail,b4300
191 ; Step 104: And then continue from whereever the other would
192 ;exten => 4300,104,Goto,4
193 ; Exten. 4301: Provide a short-circuit so we can transfer striaght to
195 ;exten => 4301,1,Goto,4300|3
196 ; Exten. 4302: Provide a way to ring a given phone indefinitely
197 ;exten => 4302,1,Dial,AdtranVoFR/4300
199 ;exten => 4200,1,Playback,transfer
200 ;exten => 4200,2,Dial,AdtranVoFR/4200|15
201 ;exten => 4200,3,Playback,vm/4200/unavail
202 ;exten => 4200,4,Voicemail,4200
203 ;exten => 4200,5,Goto,s|4
204 ;exten => 4200,103,Playback,vm/4200/busy
205 ;exten => 4200,104,Goto,4
206 ;exten => 4201,1,Goto,4200|3
207 ;exten => 4202,1,Dial,AdtranVoFR/4200
209 ;exten => 4110,1,Playback,transfer
210 ;exten => 4110,2,Dial,AdtranVoFR/4110|15
211 ;exten => 4110,2,Wait,5
212 ;exten => 4110,3,Playback,vm/4110/unavail
213 ;exten => 4110,4,Voicemail,4110
214 ;exten => 4110,5,Goto,s|4
215 ;exten => 4110,103,Playback,vm/4110/busy
216 ;exten => 4110,104,Goto,4
217 ;exten => 4111,1,Goto,4110|3
218 ;exten => 4112,1,Dial,AdtranVoFR/4110
219 ;exten => 4113,1,Voicemail,s4110
221 ;exten => 8500,1,VoicemailMain
222 ;exten => 8500,2,Goto,s|4
223 ;exten => 762,1,Playback,somepeople
224 ;exten => 762,2,Wait,4
225 ;exten => 762,3,Goto,s|4
227 ; Timeout stuff... We could send to an operator, or just ditch them.
228 ;exten => t,1,Goto,#|1
229 ;exten => i,1,BackGround,invalid
230 include => parkedcalls
233 ;exten => s,1,Playback,digits/9
234 ;exten => s,2,Playback,digits/8
235 ;exten => s,3,Playback,digits/7
236 ;exten => s,4,Goto,100|1
237 ;exten => 100,1,Playback,digits/6
238 ;exten => 100,2,Playback,digits/5
239 ;exten => 100,3,Goto,default|s|4