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