Sat, 24 Mar 2012 21:40:49 +0100
Introduce many changes to the buildconf and source code including:
(01) clean up, update, and partially update default config files,
(02) seems that Melware is unable to perform release engineering so
update chan_capi to new daily snapshot to solve echo problems,
(03) correct Asterisk inadequate hard coded gmime version check,
(04) force postgresql pthreads linkage to solve build problem,
(05) remove buggy hard coded LibXML configure definitions,
(06) remove local architecture specification to allow GCC
internal logic to determine proper CPU type instead,
(07) remove vendor sound install target causing uncontrolled
downloads and non RPM managed file installation,
(08) solve long outstanding bug in tcptls causing Asterisk
to ignore any intermediate CA certificate signatures,
(09) back out Digium engineering team's bright idea of replacing the
very portable and pervasive POSIX rand(1) with ast_random(), and
then not even implementing it causing all references to fail in
platforms not providing the very new POSIX.1-2008 mkdtemp(3)
function only distributed by BSD and some Linux,
(10) withdraw advanced linker symbol manipulations from SVR5 builds
until either Binutils supports hybrid versioned and anonymous
linker scripts or GCC stops hard coding versioned linker scripts,
(11) correct missing library linkage, some tailored to a specific OS,
(12) remove outdated logic for the no longer distributed gmime-config(1),
(13) remove local gmime buildconf hacks now that Asterisk has corrected
their own build configuration to almost portably support gmime,
(14) solve build problems relating to undetected LibXML paths,
(15) correct erroneous out of tree include definitions,
(16) improve some variable and comment naming,
(17) simplify sound language path hierarchy creation,
and correct australian english installation logic.
1 <file name="asterisk.conf">
2 ;;
3 ;; asterisk.conf -- Asterisk master configuration
4 ;;
6 [directories]
7 astetcdir = @l_prefix@/etc/asterisk
8 astmoddir = @l_prefix@/lib/asterisk/modules
9 astagidir = @l_prefix@/lib/asterisk/agi-bin
10 astvarlibdir = @l_prefix@/share/asterisk
11 astspooldir = @l_prefix@/var/asterisk/spool
12 astrundir = @l_prefix@/var/asterisk/run
13 astlogdir = @l_prefix@/var/asterisk/log
14 astdbdir = @l_prefix@/var/asterisk/db
16 [files]
17 astctlowner = @l_rusr@
18 astctlgroup = @l_rgrp@
19 astctlpermissions = 700
20 astctl = asterisk.ctl
22 [options]
23 systemname = openpkg-pbx
24 runuser = @l_rusr@
25 rungroup = @l_rgrp@
26 verbose = 0
27 alwaysfork = yes
28 dumpcore = no
29 quiet = yes
30 highpriority = no
31 initcrypto = no
32 nocolor = yes
33 execincludes = no
34 ;timestamp = yes
35 ;optiondebug = no
36 ;nofork = no
37 ;console = no
38 ;dontwarn = no
40 </file>
41 <file name="amd.conf">
42 ;;
43 ;; amd.conf -- Answering Machine Detection configuration
44 ;;
46 [general]
47 initial_silence = 2500 ; Maximum silence duration before the greeting.
48 ; If exceeded then MACHINE.
49 greeting = 1500 ; Maximum length of a greeting.
50 ;If exceeded then MACHINE.
51 after_greeting_silence = 800 ; Silence after detecting a greeting.
52 ; If exceeded then HUMAN.
53 total_analysis_time = 5000 ; Maximum time allowed for the algorithm to
54 ; decide on a HUMAN or MACHINE.
55 min_word_length = 100 ; Minimum duration of Voice to considered a word.
56 between_words_silence = 50 ; Minimum duration of silence after a word to
57 ; consider the audio what follows as a new word.
58 maximum_number_of_words = 3 ; Maximum number of words in the greeting.
59 ; If exceeded then MACHINE.
60 silence_threshold = 256
62 </file>
63 <file name="modules.conf">
64 ;;
65 ;; modules.conf -- Asterisk functionality module configuration
66 ;;
68 [modules]
69 autoload = yes
71 [global]
73 </file>
74 <file name="logger.conf">
75 ;;
76 ;; logger.conf -- Asterisk logging configuration
77 ;;
79 [general]
80 dateformat = %F %T
81 queue_log = no
82 event_log = no
84 [logfiles]
85 console = error,warning,notice,verbose
86 asterisk.log = error,warning,notice ; verbose,debug
88 </file>
89 <file name="manager.conf">
90 ;;
91 ;; manager.conf -- Asterisk internal manager API configuration
92 ;;
94 [general]
95 enabled = yes
96 webenabled = no
97 bindaddr = 127.0.0.1
98 port = 5038
100 ; You can open a TLS connection to this socket with:
101 ;
102 ; openssl s_client -connect my_host:5039
103 ;
104 tlsenable = no
105 tlsbindaddr = 127.0.0.1
106 tlsbindport = 5039
107 tlscertfile = @l_prefix@/etc/asterisk/asterisk.pem
108 ; if tlsprivatekey is not specified search tlscertfile for key
109 ;tlsprivatekey = @l_prefix@/etc/asterisk/asterkey.pem
110 ;tlscipher = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
112 displayconnects = yes
113 allowmultiplelogin = yes
114 timestampevents = yes
116 [asterisk]
117 secret = asterisk
118 deny = 0.0.0.0/0.0.0.0
119 permit = 127.0.0.1/255.0.0.0
120 read = system,call,agent,user,config,log,verbose,dtmf,reporting,cdr,dialplan
121 write = system,call,agent,user,config,command,reporting
123 </file>
124 <file name="http.conf">
125 ;;
126 ;; http.conf -- Asterisk HTTP server interface
127 ;;
129 [general]
130 enabled = no
131 bindaddr = 127.0.0.1
132 bindport = 8088
133 tlsenable = no
134 tlsbindport = 8089
135 tlsbindaddr = 127.0.0.1
136 tlscertfile = @l_prefix@/etc/asterisk/asterisk.pem
137 enablestatic = yes
138 prefix = asterisk
139 redirect = / /asterisk/static/docs/index.html
141 [post_mappings]
142 uploads = @l_prefix@/var/asterisk/spool/uploads/
144 </file>
145 <file name="sip.conf">
146 ;;
147 ;; sip.conf -- Asterisk SIP configuration
148 ;;
150 [general]
151 useragent = OpenPKG Asterisk PBX
152 realm = example
153 bindaddr = 127.0.0.1
154 bindport = 5060
155 tcpenable = yes
156 tcpbindaddr = 127.0.0.1:5060
157 tlsenable = no
158 tlsbindaddr = 127.0.0.1:5061
159 tlscipher = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
160 tlscertfile = asterisk.pem
161 tlscafile = asterisk.pem
162 srvlookup = yes
163 useclientcode = yes
164 allowguest = yes
165 canreinvite = no
166 nat = no
167 disallow = all
168 allow = speex
169 allow = g726
170 allow = ulaw
171 allow = alaw
172 allow = gsm
173 videosupport = no
174 ;allow = h263
175 ;allow = h263p
176 notifyhold = yes
177 notifyringing = yes
178 limitonpeer = yes
179 call-limit = 1
180 incominglimit = 1
181 context = external
182 ;register = NNNNNNN:XXXXXX:NNNNNNN@sipgate.de/s
183 ;tos = 0x18
185 ;[sipgate]
186 ;type = peer
187 ;defaultuser = NNNNNNN
188 ;host = sipgate.de
189 ;fromuser = NNNNNNN
190 ;fromdomain = sipgate.de
191 ;canreinvite = no
192 ;disallow = all
193 ;allow = speex
194 ;allow = g726
195 ;allow = ulaw
196 ;allow = alaw
197 ;allow = gsm
198 ;context = external
200 ;[gw]
201 ;type = friend
202 ;defaultuser = gw
203 ;callerid = "ISDN-to-SIP" <gw>
204 ;fromdomain = example.com
205 ;secret = asterisk
206 ;host = dynamic
207 ;canreinvite = no
208 ;disallow = all
209 ;allow = g726
210 ;allow = ulaw
211 ;allow = alaw
212 ;allow = gsm
213 ;dtmfmode = rfc2833
214 ;qualify = yes
215 ;insecure = yes
216 ;context = external
217 ;nat = no
219 [std-user](!)
220 type = friend
221 context = internal
222 host = dynamic
223 dtmfmode = rfc2833
224 qualify = yes
225 disallow = all
226 allow = speex
227 allow = g726
228 allow = ulaw
229 allow = alaw
231 [behind-nat](!)
232 nat = yes
234 [with-mailbox](!)
235 hasvoicemail = yes
236 subscribemwi = yes
237 subscribecontext = internal
238 vmexten = voicemail
240 [foo](std-user,with-mailbox)
241 secret = asterisk
242 callerid = "Mr. Foo" <11>
243 mailbox = 11@internal
245 [bar](std-user,with-mailbox)
246 secret = asterisk
247 callerid = "Mr. Bar" <12>
248 mailbox = 12@internal
250 </file>
251 <file name="iax.conf">
252 ;;
253 ;; iax.conf -- Asterisk IAX configuration
254 ;;
256 ;; This configuration is reread at reload
257 ;; or with the CLI command
258 ;; reload chan_iax2.so
259 ;;
260 ;; General settings, like port number to bind to, and
261 ;; an option address (the default is to bind to all
262 ;; local addresses).
263 ;;
264 ;[general]
265 ;bindport=4569 ; bindport and bindaddr may be specified
266 ; ; NOTE: bindport must be specified BEFORE
267 ; ; bindaddr or may be specified on a specific
268 ; ; bindaddr if followed by colon and port
269 ; ; (e.g. bindaddr=192.168.0.1:4569)
270 ;bindaddr=127.0.0.1 ; more than once to bind to multiple
271 ; ; addresses, but the first will be the
272 ; ; default
274 </file>
275 <file name="iaxprov.conf">
276 ;;
277 ;; iaxprov.conf -- IAX2 provisioning information
278 ;;
280 ; Contains provisioning information for templates and for specific service
281 ; entries.
282 ;
283 ; Templates provide a group of settings from which provisioning takes place.
284 ; A template may be based upon any template that has been specified before
285 ; it. If the template that an entry is based on is not specified then it is
286 ; presumed to be 'default' (unless it is the first of course).
287 ;
288 ; Templates which begin with 'si-' are used for provisioning units with
289 ; specific service identifiers. For example the entry "si-000364000126"
290 ; would be used when the device with the corresponding service identifier of
291 ; "000364000126" attempts to register or make a call.
292 ;
293 [default]
294 port=4569 ; the port number the device should bind to (default 4569)
295 server=127.0.0.1 ; our PRIMARY server for registration and placing calls
297 ; altserver is the BACKUP server for registration and placing calls in the
298 ; event the primary server is unavailable.
299 ;
300 altserver=127.0.0.2
302 ; port is the port number to use for IAX2 outbound. The connections to the
303 ; server and altserver (default 4569)
304 ;
305 serverport=4569
306 language=es ; the preferred language for the device
307 codec=ulaw ; requested codec, the iaxy supports ulaw and adpcm
309 ; flags is a comma separated list of flags which the device should
310 ; use and may contain any of the following keywords:
311 ;
312 ; "register" - Register with server
313 ; "secure" - Do not accept calls / provisioning not originated by server
314 ; "heartbeat" - Generate status packets on port 9999 sent to 255.255.255.255
315 ; "debug" - Output extra debugging to port 9999
316 ;
317 ; Note that use can use += and -= to adjust parameters
318 ;
319 flags=register
321 tos=ef ; see doc/ip-tos.txt
323 ; Example iaxy provisioning
324 ;
325 ;[si-000364000126]
326 ;user=iaxy
327 ;pass=bitsy
328 ;flags += debug
330 ;[si-000364000127]
331 ;user=iaxy2
332 ;pass=bitsy2
333 ;template=si-000364000126
334 ;flags += debug
337 ; If specified, the '*' provisioning is used for all devices which do not
338 ; have another provisioning entry within the file. If unspecified, no
339 ; provisioning will take place for devices which have no entry. DO NOT
340 ; USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING.
341 ;
342 ;[*]
344 ;template=default
345 </file>
346 <file name="rtp.conf">
347 ;;
348 ;; rtp.conf -- Asterisk RTP configuration
349 ;;
351 [general]
352 rtpstart = 7070
353 rtpend = 7089
355 </file>
356 <file name="sip_notify.conf">
357 ;;
358 ;; sip_notify.conf -- Asterisk NOTIFY automation from command line
359 ;;
361 ; rfc3842
362 ; put empty "Content=>" at the end to have CRLF after last body line
363 [clear-mwi]
364 Event=>message-summary
365 Content-type=>application/simple-message-summary
366 Content=>Messages-Waiting: no
367 Content=>Message-Account: sip:asterisk@127.0.0.1
368 Content=>Voice-Message: 0/0 (0/0)
369 Content=>
371 ; Aastra
372 [aastra-check-cfg]
373 Event=>check-sync
375 [aastra-xml]
376 Event=>aastra-xml
378 ; Linksys
379 [linksys-cold-restart]
380 Event=>reboot_now
382 [linksys-warm-restart]
383 Event=>restart_now
385 ; Polycom
386 [polycom-check-cfg]
387 Event=>check-sync
389 ; Sipura
390 [sipura-check-cfg]
391 Event=>resync
393 [sipura-get-report]
394 Event=>report
396 ; Snom
397 [snom-check-cfg]
398 Event=>check-sync\;reboot=false
400 [snom-reboot]
401 Event=>reboot
403 ; Cisco
404 [cisco-check-cfg]
405 Event=>check-sync
407 </file>
408 <file name="extconfig.conf">
409 ;;
410 ;; extconfig.conf -- Static and realtime external configuration engine
411 ;;
413 [settings]
414 ;
415 ; Static configuration files:
416 ;
417 ; file.conf => driver,database[,table[,priority]]
418 ;
419 ; maps a particular configuration file to the given
420 ; database driver, database and table (or uses the
421 ; name of the file as the table if not specified)
422 ;
423 ;uncomment to load queues.conf via the odbc engine.
424 ;
425 ;queues.conf => odbc,asterisk,ast_config
426 ;extensions.conf => sqlite,asterisk,ast_config
427 ;
428 ; The following files CANNOT be loaded from Realtime storage:
429 ; asterisk.conf
430 ; extconfig.conf (this file)
431 ; logger.conf
432 ;
433 ; Additionally, the following files cannot be loaded from
434 ; Realtime storage unless the storage driver is loaded
435 ; early using 'preload' statements in modules.conf:
436 ; manager.conf
437 ; cdr.conf
438 ; rtp.conf
439 ;
440 ;
441 ; Realtime configuration engine
442 ;
443 ; maps a particular family of realtime
444 ; configuration to a given database driver,
445 ; database and table (or uses the name of
446 ; the family if the table is not specified
447 ;
448 ;example => odbc,asterisk,alttable,1
449 ;example => mysql,asterisk,alttable,2
450 ;example2 => ldap,"dc=oxymium,dc=net",example2
451 ;
452 ; Additionally, priorities are now supported for use as failover methods
453 ; for retrieving realtime data. If one connection fails to retrieve any
454 ; information, the next sequential priority will be tried next. This
455 ; especially works well with ODBC connections, since res_odbc now caches
456 ; when connection failures occur and prevents immediately retrying those
457 ; connections until after a specified timeout. Note: priorities must
458 ; start at 1 and be sequential (i.e. if you have only priorities 1, 2,
459 ; and 4, then 4 will be ignored, because there is no 3).
460 ;
461 ; "odbc" is shown in the examples below, but is not the only valid realtime
462 ; engine. There is:
463 ; odbc ... res_config_odbc
464 ; sqlite ... res_config_sqlite
465 ; pgsql ... res_config_pgsql
466 ; curl ... res_config_curl
467 ; ldap ... res_config_ldap
468 ;
469 ;iaxusers => odbc,asterisk
470 ;iaxpeers => odbc,asterisk
471 ;sippeers => odbc,asterisk
472 ;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
473 ;voicemail => odbc,asterisk
474 ;extensions => odbc,asterisk
475 ;meetme => mysql,general
476 ;queues => odbc,asterisk
477 ;queue_members => odbc,asterisk
478 ;musiconhold => mysql,general
479 ;queue_log => mysql,general
480 ;
481 ;
482 ; While most dynamic realtime engines are automatically used when defined in
483 ; this file, 'extensions', distinctively, is not. To activate dynamic realtime
484 ; extensions, you must turn them on in each respective context within
485 ; extensions.conf with a switch statement. The syntax is:
486 ; switch => Realtime/[[db_context@]tablename]/<opts>
487 ; The only option available currently is the 'p' option, which disallows
488 ; extension pattern queries to the database. If you have no patterns defined
489 ; in a particular context, this will save quite a bit of CPU time. However,
490 ; note that using dynamic realtime extensions is not recommended anymore as a
491 ; best practice; instead, you should consider writing a static dialplan with
492 ; proper data abstraction via a tool like func_odbc.
494 </file>
495 <file name="extensions.conf">
496 ;;
497 ;; extensions.conf -- Asterisk inbound & outbound call configuration
498 ;;
500 [general]
501 static = yes
502 writeprotect = yes
503 autofallthrough = yes
505 [globals]
506 MEETME_SPOOLDIR = @l_prefix@/var/asterisk/spool/meetme
507 STAFF = SIP/foo&SIP/bar
508 CONSOLE = Console/dsp
509 DOLLAR = $
511 ;;
512 ;; SPECIAL CONTEXTS
513 ;;
515 [macro-dial]
516 exten = s,1,Dial(${ARG1},${ARG2},${ARG3})
517 exten = s,n,Goto(s-${DIALSTATUS},1)
518 exten = s-ANSWER,1,Hangup
519 exten = s-BUSY,1,GotoIf($["${ARG4}" == ""]?novm)
520 exten = s-BUSY,n,GotoIf($[${MAILBOX_EXISTS(${ARG4})} == 0]?novm)
521 exten = s-BUSY,n,VoiceMail(${ARG4},b)
522 exten = s-BUSY,n,Playback(vm-goodbye)
523 exten = s-BUSY,n(novm),Hangup
524 exten = s-NOANSWER,1,GotoIf($["${ARG4}" == ""]?novm)
525 exten = s-NOANSWER,n,MailboxExists(${ARG4})
526 exten = s-NOANSWER,n,GotoIf($[${MAILBOX_EXISTS(${ARG4})} == 0]?novm)
527 exten = s-NOANSWER,n,VoiceMail(${ARG4},u)
528 exten = s-NOANSWER,n,Playback(vm-goodbye)
529 exten = s-NOANSWER,n(novm),Hangup
530 exten = _s-.,1,Goto(s-NOANSWER,1)
532 [default]
533 ; currently empty
535 ;;
536 ;; EXTERNAL DIAL CONTEXT
537 ;;
539 [external]
540 include = default
542 ; external incoming SIP connection
543 exten = example,hint,${STAFF}
544 exten = example,1,Goto(s,1)
545 exten = s,n,Ringing
546 exten = s,n,Wait(1)
547 exten = s,n,Answer
548 exten = s,n,Macro(dial,${STAFF},30,gTtr,1@external)
550 ; external to internal mapping
551 exten = foo,hint,SIP/foo
552 exten = foo,1,Goto(internal,foo,1)
553 exten = bar,hint,SIP/bar
554 exten = bar,1,Goto(internal,bar,1)
556 ;;
557 ;; INTERNAL DIAL CONTEXT
558 ;;
560 [internal]
561 include = default
562 ;include = parkedcalls
564 ; internal to external mapping
565 exten = example,1,Goto(external,example,1)
567 ; internal user <foo> #11
568 exten = foo,hint,SIP/foo
569 exten = foo,1,Goto(11,1)
570 exten = 11,hint,SIP/foo
571 exten = 11,1,Macro(dial,SIP/foo,30,gTtr,11@internal)
573 ; internal user <bar> #12
574 exten = bar,hint,SIP/bar
575 exten = bar,1,Goto(12,1)
576 exten = 12,hint,SIP/bar
577 exten = 12,1,Macro(dial,SIP/bar,30,gTtr,12@internal)
579 ; internal group <all> #20
580 exten = all,1,Goto(20,1)
581 exten = 20/foo,1,Macro(dial,SIP/bar,60,)
582 exten = 20/bar,1,Macro(dial,SIP/foo,60,)
584 ; internal service <conference> #7<n>
585 exten = conference,1,Goto(70,1)
586 exten = _7[0-9],1,Set(confno=${EXTEN:1})
587 exten = _7[0-9],n,Goto(7,enter)
588 exten = 7,1,Set(TIMEOUT(digit)=3)
589 exten = 7,n,Set(TIMEOUT(response)=6)
590 exten = 7,n(repeat),Read(confno,conf-getconfno,3)
591 exten = 7,n,GotoIf($[${confno} >= 0 & ${confno} <= 9]?enter)
592 exten = 7,n,Playback(conf-invalid)
593 exten = 7,n,Goto(repeat)
594 exten = 7,n(enter),Playback(conf-placeintoconf)
595 exten = 7,n,SayNumber(${confno})
596 exten = 7,n,Set(SPYGROUP=conference-${confno})
597 exten = 7,n,Set(confopt=cCpsMvio)
598 exten = 7,n,GotoIf($[${confno} >= 4 & ${confno} <= 9]?l1:l2)
599 exten = 7,n(l1),Set(confopt=${confopt}i)
600 exten = 7,n(l2),GotoIf($[${confno} >= 7 & ${confno} <= 9]?l3:l4)
601 exten = 7,n(l3),Set(confopt=${confopt}r)
602 exten = 7,n,Set(MEETME_RECORDINGFILE=${MEETME_SPOOLDIR}/meetme-conference-${confno}-${STRFTIME(${EPOCH},UTC,%Y%m%d%H%M)})
603 exten = 7,n,Set(MEETME_RECORDINGFORMAT=wav49)
604 exten = 7,n,Playback(this-call-may-be-monitored-or-recorded)
605 exten = 7,n(l4),MeetMe(${confno},${confopt})
606 exten = 7,n,Playback(beep)
607 exten = 7,n,Wait(1)
608 exten = 7,n,Playback(vm-goodbye)
609 exten = 7,n,Hangup
611 ; internal service <voicemail> #80/#*80<n>
612 exten = voicemail,1,Goto(80,1)
613 exten = 80,1,GotoIf($[${MAILBOX_EXISTS(${CALLERID(num)}@internal)} == 0]?novm)
614 exten = 80,n,VoiceMailMain(${CALLERID(num)}@internal,s)
615 exten = 80,n,Hangup
616 exten = 80,n(novm),Playback(invalid)
617 exten = 80,n,Hangup
618 exten = _*80.,1,GotoIf($[${MAILBOX_EXISTS(${EXTEN:3}@internal)} == 0]?novm)
619 exten = _*80.,n,VoiceMailMain(${EXTEN:3}@internal)
620 exten = _*80.,n,Hangup
621 exten = _*80.,n(novm),Playback(invalid)
622 exten = _*80.,n,Hangup
624 ; internal service <echo> #81
625 exten = echo,1,Goto(81,1)
626 exten = 81,1,Answer
627 exten = 81,n,Playback(demo-echotest)
628 exten = 81,n,Wait(1)
629 exten = 81,n,Playback(beep)
630 exten = 81,n,Echo
631 exten = 81,n,Wait(1)
632 exten = 81,n,Playback(demo-echodone)
633 exten = 81,n,Wait(1)
634 exten = 81,n,Playback(vm-goodbye)
635 exten = 81,n,Hangup
637 ; internal service <reload> #82
638 exten = reload,1,Goto(82,1)
639 exten = 82,1,Answer
640 exten = 82,n,Read(pin,conf-getpin,4)
641 exten = 82,n,GotoIf($[${pin} = 1234]?ok)
642 exten = 82,n,Playback(conf-invalidpin)
643 exten = 82,n,Hangup
644 exten = 82,n(ok),Playback(beep)
645 exten = 82,n,Wait(1)
646 exten = 82,n,Playback(beep)
647 exten = 82,n,Wait(1)
648 exten = 82,n,Playback(beep)
649 exten = 82,n,Wait(1)
650 exten = 82,n,System(@l_prefix@/sbin/asterisk -rx reload)
651 exten = 82,n,Hangup
653 ; external outgoing ISDN (via SIP-to-ISDN gateway call-through)
654 ;exten = _0.,1,Set(number=${EXTEN:1})
655 ;exten = _0.,n,Set(enum=${ENUMLOOKUP(+${number},ALL)})
656 ;exten = _0.,n,Set(enum_is_sip_url=${REGEX("^SIP/.+" ${enum})})
657 ;exten = _0.,n,GotoIf($["${enum_is_sip_url}" = "1"]?sip:isdn)
658 ;exten = _0.,n(sip),Dial(${enum},60,o)
659 ;exten = _0.,n,Goto(_0.,7)
660 ;exten = _0.,n(isdn),Dial(SIP/gw,60,D(w1234w0#31#${number}#))
661 ;exten = _0.,n,Hangup
663 ; internal outgoing SIP call (part 1/2)
664 ; (notice sort-order trickery!)
665 include = internal-siponly
667 [internal-siponly]
668 ; internal outgoing SIP call (part 2/2)
669 ; (notice sort-order trickery!)
670 exten = _.[@].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},60,o)
671 exten = _.[@].,n,Hangup
672 exten = _.[@].,102,Busy
674 </file>
675 <file name="enum.conf">
676 ;;
677 ;; enum.conf -- Asterisk ENUM configuration
678 ;;
680 [general]
681 search = e164.arpa
682 search = e164.org
684 </file>
685 <file name="musiconhold.conf">
686 ;;
687 ;; musiconhold.conf -- Asterisk music on hold configuration
688 ;;
690 [default]
691 mode = files
692 directory = @l_prefix@/share/asterisk/moh
694 </file>
695 <file name="voicemail.conf">
696 ;;
697 ;; voicemail.conf -- Asterisk voice mail configuration
698 ;;
700 [general]
701 format = wav49
702 serveremail = example@example.com
703 attach = yes
704 maxmsg = 20
705 maxsecs = 180
706 minsecs = 3
707 maxgreet = 60
708 skipms = 3000
709 maxsilence = 10
710 silencethreshold = 128
711 maxlogins = 3
712 charset = ISO-8859-1
713 pbxskip = yes
714 fromstring = Asterisk PBX
715 usedirectory = yes
716 emailsubject = [PBX]: New voice message ${VM_MSGNUM} in mailbox ${VM_MAILBOX}
717 emailbody = Dear ${VM_NAME},\n\njust wanted to let you know you were left a ${VM_DUR} long\nvoice message (number ${VM_MSGNUM}) in voice mailbox ${VM_MAILBOX}\nfrom caller ${VM_CALLERID},\non ${VM_DATE}.\nYou might want to check it when you get a chance. Thanks!\n\n\t\t\t\t-- OpenPKG Asterisk PBX\n
718 pagerfromstring = Asterisk PBX
719 pagersubject = New VM
720 pagerbody = New ${VM_DUR} long msg in box ${VM_MAILBOX}\nfrom ${VM_CALLERID}, on ${VM_DATE}
721 emaildateformat = %A, %d %B %Y %H:%M:%S %r
722 mailcmd = @l_prefix@/sbin/sendmail -t
724 [default]
726 [external]
727 1 = 1234,Example,example@example.com,,delete=yes
729 [internal]
730 11 = 1234,Mr. Foo,foo@example.com,,delete=no
731 12 = 1234,Mr. Bar,bar@example.com,,delete=no
733 </file>
734 <file name="cdr.conf">
735 ;;
736 ;; cdr.conf -- Asterisk Call Detail Record (CDR) configuration
737 ;;
739 [general]
740 enable = yes
741 unanswered = no
742 batch = no
743 size = 100
744 time = 300
745 scheduleronly = no
746 safeshutdown = yes
747 endbeforehexten = yes
749 </file>
750 <file name="cdr_custom.conf">
751 ;;
752 ;; cdr_custom.conf -- Asterisk Call Detail Record (CDR) via Comma Separated Value (CSV) format configuration
753 ;;
755 [mappings]
756 master.csv = "${CDR(start)}", "${CDR(answer)}", "${CDR(end)}", "${CDR(duration)}", "${CDR(billsec)}", "${CDR(clid)}", "${CDR(src)}", "${CDR(dst)}", "${CDR(dcontext)}", "${CDR(channel)}", "${CDR(dstchannel)}", "${CDR(lastapp)}", "${CDR(lastdata)}", "${CDR(disposition)}", "${CDR(amaflags)}", "${CDR(accountcode)}", "${CDR(uniqueid)}", "${CDR(userfield)}"
758 </file>
759 <file name="cdr_sqlite3_custom.conf">
760 ;;
761 ;; cdr_sqlite3_custom.conf -- Asterisk Call Detail Record (CDR) via SQLite RDBMS format configuration
762 ;;
764 [master]
765 table = cdr
766 columns = start, answer, end, duration, billsec, clid, src, dst, dcontext, channel, dstchannel, lastapp, lastdata, disposition, amaflags, accountcode, uniqueid, userfield
767 values = "${CDR(start)}", "${CDR(answer)}", "${CDR(end)}", "${CDR(duration)}", "${CDR(billsec)}", "${CDR(clid)}", "${CDR(src)}", "${CDR(dst)}", "${CDR(dcontext)}", "${CDR(channel)}", "${CDR(dstchannel)}", "${CDR(lastapp)}", "${CDR(lastdata)}", "${CDR(disposition)}", "${CDR(amaflags)}", "${CDR(accountcode)}", "${CDR(uniqueid)}", "${CDR(userfield)}"
769 </file>
770 <file name="cdr_manager.conf">
771 ;;
772 ;; cdr_manager.conf -- Asterisk Call Detail Record (CDR) via Asterisk Manager Interface (AMI) configuration
773 ;;
775 [general]
776 enabled = yes
778 </file>
779 <file name="meetme.conf">
780 ;;
781 ;; meetme.conf -- Asterisk conference configuration
782 ;;
784 [general]
785 audiobuffers = 32
786 ;schedule = yes
787 ;logmembercount = yes
788 ;fuzzystart = 300
789 ;earlyalert = 3600
790 ;endalert = 120
792 [rooms]
793 conf = 0
794 conf = 1
795 conf = 2
796 conf = 3
797 conf = 4
798 conf = 5
799 conf = 6
800 conf = 7
801 conf = 8
802 conf = 9,1234,1234
804 </file>
805 <file name="codecs.conf">
806 ;;
807 ;; codecs.conf -- Asterisk codec configuration
808 ;;
810 [speex]
811 quality = 6
812 complexity = 4
813 enhancement = true
814 vad = true
815 vbr = true
816 abr = 8000
817 vbr_quality = 5
818 dtx = false
819 preprocess = false
820 pp_vad = false
821 pp_agc = false
822 pp_agc_level = 8000
823 pp_denoise = false
824 pp_dereverb = false
825 pp_dereverb_decay = 0.4
826 pp_dereverb_level = 0.3
828 [plc]
829 genericplc = true
831 </file>
832 <file name="chan_dahdi.conf">
833 ;;
834 ;; chan_dahdi.conf -- Asterisk DAHDI channel configuration
835 ;;
837 ; (an empty configuration is ok, but required even for DAHDI "dahdidummy" only)
838 [trunkgroups]
839 [channels]
841 </file>
842 <file name="capi.conf">
843 ;;
844 ;; capi.conf -- Asterisk ISDN/CAPI channel configuration
845 ;;
847 [general]
848 nationalprefix = 0
849 internationalprefix= 00
850 rxgain = 1.0
851 txgain = 1.0
852 ulaw = no
853 debug = yes
855 [ISDN1]
856 isdnmode = msn
857 incomingmsn = *
858 controller = 0
859 group = 1
860 ;prefix = 0
861 softdtmf = off
862 relaxdtmf = off
863 accountcode =
864 context = external
865 holdtype = local
866 ;immediate = yes
867 echocancel = no
868 echosquelch = no
869 ;echotail = 64
870 ;bridge = yes
871 ;callgroup = 1
872 ;deflect = 1234567
873 devices = 2
874 ;dtmf_generate = yes
876 </file>
877 <file name="features.conf">
878 ;;
879 ;; features.conf -- Asterisk call features configuration
880 ;;
882 [general]
883 ;parkext = 700
884 ;parkpos = 701-720
885 ;context = parkedcalls
887 </file>
888 <file name="festival.conf">
889 ;;
890 ;; festival.conf -- Asterisk festival configuration
891 ;;
893 [general]
894 host = localhost ; default 'localhost'
895 port = 1314 ; default '1314'
896 usecache = no ; default 'no'
898 ; If usecache=yes, a directory to store waveform cache files.
899 ; The cache is never cleared (yet), so you must take care of cleaning it
900 ; yourself (just delete any or all files from the cache).
901 ; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
902 ; Defaults to /tmp/
903 ;
904 ;cachedir = /opsw/var/asterisk/festivalcache/
905 ;
906 ; Festival command to send to the server.
907 ; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n
908 ; %s is replaced by the desired text to say. The command MUST end with a
909 ; (quit) directive, or the cache handling mechanism will hang. Do not
910 ; forget the \n at the end.
911 ;
912 festivalcommand = (tts_textasterisk "%s" 'file)(quit)\n
914 </file>
915 <file name="gtalk.conf">
916 ;;
917 ;; gtalk.conf -- Asterisk GTalk configuration
918 ;;
920 [general]
921 ;context = default ; Context to dump call into
922 ;bindaddr = 0.0.0.0 ; Address to bind to
923 ;externip = 127.0.0.1 ; Set your external ip if you are behind a NAT.
924 ;stunaddr = <hostname> ; Get your external ip from a STUN server.
925 ; ; Note, if the STUN query is successful, this
926 ; ; will replace any value placed in externip;
927 ;allowguest = yes ; Allow calls from people not in list of peers
929 [guest] ; special account for options on guest account
930 ;disallow = all
931 ;allow = ulaw
932 ;context = guest
934 [ogorman]
935 ;username = <person>@gmail.com ; username of the peer you're
936 ; ; calling or accepting calls from
937 ;disallow = all
938 ;allow = ulaw
939 ;context = default
940 ;connection = asterisk ; client or component in jabber.conf
941 ; ; for the call to leave on.
943 </file>
944 <file name="jabber.conf">
945 ;;
946 ;; jabber.conf -- Asterisk Jabber configuration
947 ;;
949 [general]
950 ;debug = yes
951 ;autoprune = yes
952 ;autoregister = yes
954 ;[asterisk]
955 ;type = client
956 ;serverhost = jabber.example.com
957 ;username = asterisk@example.com/asterisk
958 ;secret = asterisk
959 ;priority = 1
960 ;port = 5222
961 ;usetls = no
962 ;usesasl = no
963 ;buddy = buddy@example.com
964 ;status = available
965 ;timeout = 100
967 </file>
968 <file name="indications.conf">
969 ;;
970 ;; indications.conf -- Asterisk tone indications
971 ;;
973 [general]
974 country = us
976 ; United States
977 ; (according to tones in North America)
978 [us]
979 description = United States (US)
980 ringcadence = 2000,4000
981 dial = 350+440
982 busy = 480+620/500,0/500
983 ring = 440+480/2000,0/4000
984 congestion = 480+620/250,0/250
985 callwaiting = 440/300,0/10000
986 dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
987 record = 1400/500,0/15000
988 info = !950/330,!1400/330,!1800/330,0
989 stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
991 ; United Kingdom
992 ; (partly according to BT SIN350)
993 [uk]
994 description = United Kingdom (UK)
995 ringcadence = 400,200,400,2000
996 dial = 350+440
997 busy = 400/375,0/375
998 ring = 400+450/400,0/200,400+450/400,0/2000
999 congestion = 400/400,0/350,400/225,0/525
1000 callwaiting = 400/100,0/4000
1001 dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
1002 record = 1400/500,0/60000
1003 info = 950/330,0/15,1400/330,0/15,1800/330,0/1000
1004 stutter = 350+440/750,440/750
1006 ; Germany
1007 ; (according to http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf)
1008 [de]
1009 description = Germany (DE)
1010 ringcadence = 1000,4000
1011 dial = 425
1012 busy = 425/480,0/480
1013 ring = 425/1000,0/4000
1014 congestion = 425/240,0/240
1015 callwaiting = !425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,0
1016 dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
1017 record = 1400/80,0/15000
1018 info = 950/330,1400/330,1800/330,0/1000
1019 stutter = 425+400
1021 </file>
1022 <file name="ccss.conf">
1023 ;;
1024 ;; ccss.conf -- Asterisk Call Completion Supplementary Services configuration
1025 ;;
1027 ; Warning! The CCSS implementation brings several changes to the
1028 ; channel components of Asterisk. To use CCSS, specify the number
1029 ; of maximum requests in this file but do not forget to specify
1030 ; the new CCSS related channel specific options in other config
1031 ; files as well! Some are 'cc_offer_timer', 'ccbs_available_timer',
1032 ; 'cc_agent_policy=never' and many more (in other files.)
1034 [general]
1035 ; There is only a single option that may be defined in this file.
1036 ; The cc_max_requests option is a global limit on the number of
1037 ; CC requests that may be in the Asterisk system at any time.
1038 ;
1039 cc_max_requests = 20
1041 </file>
1042 <file name="res_fax.conf">
1043 ;;
1044 ;; res_fax.conf -- Asterisk fax resource configuration
1045 ;;
1047 [general]
1048 ; Maximum Transmission Rate
1049 ; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
1050 ; Set this value to the maximum desired transfer rate. Default: 14400
1051 maxrate=14400
1053 ; Minimum Transmission Rate
1054 ; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
1055 ; Set this value to the minimum desired transfer rate. Default: 2400
1056 minrate=2400
1058 ; Send Progress/Status events to manager session
1059 ; Manager events with 'call' class permissions will receive events indicating the
1060 ; steps to initiate a fax session. Fax completion events are always sent to manager
1061 ; sessions with 'call' class permissions, regardless of the value of this option.
1062 ; Default: no
1063 statusevents=yes
1065 ; modem capabilities
1066 ; Possible values are { v17 | v27 | v29 }
1067 ; Set this value to modify the default modem options. Default: v17,v27,v29
1068 modems=v17,v27,v29
1070 ; Enable/disable T.30 ECM (error correction mode) by default.
1071 ; Default: Enabled
1072 ecm=yes
1074 </file>
1075 <file name="res_odbc.conf">
1076 ;;
1077 ;; res_odbc.conf -- Asterisk ODBC resource configuration
1078 ;;
1080 [ENV]
1082 [asterisk-sqlite]
1083 enabled = no
1084 dsn = asterisk-sqlite
1085 username =
1086 password =
1087 pre-connect = no
1088 sanitysql = SELECT 1
1089 ;idlecheck = 3600
1090 backslash_is_escape= yes
1091 share_connections = yes
1092 limit = 10
1094 </file>
1095 <file name="func_odbc.conf">
1096 ;;
1097 ;; func_odbc.conf -- Asterisk ODBC dialplan function configuration
1098 ;;
1100 ; SQLite-based Asterisk Database Access (random SQL access)
1101 ; Set(<variable_name>=${ASTDB_SQL(SELECT [...])})
1102 ; Set(ASTDB_SQL(UPDATE [...]))
1103 [SQL]
1104 prefix = ASTDB
1105 dsn = asterisk-sqlite
1106 readsql = ${ARG1}
1107 writesql = ${ARG1}
1109 ; SQLite-based Asterisk Database Access (fixed key/value access)
1110 ; Set(<variable_name>=${ASTDB_MAP(<key>)})
1111 ; Set(ASTDB_MAP(<key>)=<value>)
1112 [MAP]
1113 prefix = ASTDB
1114 dsn = asterisk-sqlite
1115 readsql = SELECT val FROM map WHERE key='${SQL_ESC(${ARG1})}'
1116 writesql = UPDATE map SET val='${SQL_ESC(${VAL1})}' WHERE key='${SQL_ESC(${ARG1})}'
1117 escapecommas = no
1119 </file>
1120 <file name="asterisk.pem">
1121 -----BEGIN CERTIFICATE-----
1122 MIIDNjCCAp+gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
1123 FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
1124 A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
1125 cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
1126 bmFrZW9pbC5kb20wHhcNOTkxMDIxMTgyMTUxWhcNMDExMDIwMTgyMTUxWjCBpzEL
1127 MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
1128 a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
1129 cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
1130 AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
1131 gQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92Vaat6CpIEEGue
1132 yG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9ziYon8jWsbK2aE
1133 +L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQABo24wbDAbBgNV
1134 HREEFDASgRB3d3dAc25ha2VvaWwuZG9tMDoGCWCGSAGG+EIBDQQtFittb2Rfc3Ns
1135 IGdlbmVyYXRlZCBjdXN0b20gc2VydmVyIGNlcnRpZmljYXRlMBEGCWCGSAGG+EIB
1136 AQQEAwIGQDANBgkqhkiG9w0BAQQFAAOBgQB6MRsYGTXUR53/nTkRDQlBdgCcnhy3
1137 hErfmPNl/Or5jWOmuufeIXqCvM6dK7kW/KBboui4pffIKUVafLUMdARVV6BpIGMI
1138 5LmVFK3sgwuJ01v/90hCt4kTWoT8YHbBLtQh7PzWgJoBAY7MJmjSguYCRt91sU4K
1139 s0dfWsdItkw4uQ==
1140 -----END CERTIFICATE-----
1141 -----BEGIN RSA PRIVATE KEY-----
1142 MIICXgIBAAKBgQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92V
1143 aat6CpIEEGueyG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9zi
1144 Yon8jWsbK2aE+L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQAB
1145 AoGBAKTvnFGKSkUJnNQGe66I0wunGgCA3W7kbarAzEF2qKYhGlZhJQnn68RmVnAW
1146 pXUFvB+vmtu/+4J9OmWBJsGHFvC9xH32a0PWNr7APjAKrjAD8GWS7Z6BjuxN8QhD
1147 WlFMmpYhYIjT1jt7RNfs2gJGS2Ryu3zutUQGwtUB9Pou03dJAkEA6yttwVINFqQP
1148 utgUZ1JUHrN/rE73FzYsF/CwJp5d3rLHenZzLT0iW+kNDLUw/VpzYxK7bF2Qrt/3
1149 QIUWwm2InQJBAMpe+jhNMJeLDLc3tG3zeithT0mFkuzWWmT2PJgQ0V78UWhw/fSn
1150 Qqnq7KBY/DNjlfhezrozLDD73/ccmha0Ax8CQQCBaBlyOtNm9QqO116K6HvPlRiZ
1151 Wa6QQEgNOG3GInknFZu9ILcKWsywZNLAfmgh0gcSqnkmDWqTQD0PbOz0Ok/lAkEA
1152 g24JrfUbwOASww9PhDUju/a36rTwhhZ0oKt3EP+jKsBOErmHhZP3bKlhQoZoTOu5
1153 Y5QXSMChS7LZcwDFZkdE2wJATRgMbhErif+ZRwt9XJRdCo5Sx6ewyGyxjc5gvUyK
1154 KegHcgru/ZC3pGlujRD2LqxgJNAn5QTdW4LK8xVPFySTYg==
1155 -----END RSA PRIVATE KEY-----
1156 </file>