asterisk/asterisk.txt

Sat, 24 Mar 2012 21:40:49 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 24 Mar 2012 21:40:49 +0100
changeset 414
fd611cde817f
parent 399
9360a38b5c9f
permissions
-rw-r--r--

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.
  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>

mercurial