aboutsummaryrefslogtreecommitdiffstats
path: root/configs/extensions.conf.sample
blob: 9ac1a4346bc89d4a5403d5fbd208defeac5843b7 (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
;
; 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

; 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

; Local stuff
;[local]
;exten => s,1,Goto,defaults|s|2
; Special extension for local phone numbers, long distance, etc, going
; out via the Frame Relay interface.  Patterns are prefixed with "_", which
; is ignored.
;exten => _9NXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
;exten => _91NXXNXXXXXX,1,Dial,AdtranVoFR/BYEXTENSION
;exten => _9911,1,Dial,AdtranVoFR/BYEXTENSION
;include => default

[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		; "Please hold while..."
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