michael@310:
michael@310: ;;
michael@310: ;; asterisk.conf -- Asterisk master configuration
michael@310: ;;
michael@310:
michael@310: [directories]
michael@310: astetcdir = @l_prefix@/etc/asterisk
michael@310: astmoddir = @l_prefix@/lib/asterisk/modules
michael@310: astagidir = @l_prefix@/lib/asterisk/agi-bin
michael@310: astvarlibdir = @l_prefix@/share/asterisk
michael@310: astspooldir = @l_prefix@/var/asterisk/spool
michael@310: astrundir = @l_prefix@/var/asterisk/run
michael@310: astlogdir = @l_prefix@/var/asterisk/log
michael@310: astdbdir = @l_prefix@/var/asterisk/db
michael@310:
michael@310: [files]
michael@310: astctlowner = @l_rusr@
michael@310: astctlgroup = @l_rgrp@
michael@310: astctlpermissions = 700
michael@310: astctl = asterisk.ctl
michael@310:
michael@310: [options]
michael@310: systemname = openpkg-pbx
michael@310: runuser = @l_rusr@
michael@310: rungroup = @l_rgrp@
michael@310: verbose = 0
michael@310: alwaysfork = yes
michael@310: dumpcore = no
michael@310: quiet = yes
michael@310: highpriority = no
michael@310: initcrypto = no
michael@310: nocolor = yes
michael@310: execincludes = no
michael@310: ;timestamp = yes
michael@310: ;optiondebug = no
michael@310: ;nofork = no
michael@310: ;console = no
michael@310: ;dontwarn = no
michael@310:
michael@310:
michael@414:
michael@414: ;;
michael@414: ;; amd.conf -- Answering Machine Detection configuration
michael@414: ;;
michael@414:
michael@414: [general]
michael@414: initial_silence = 2500 ; Maximum silence duration before the greeting.
michael@414: ; If exceeded then MACHINE.
michael@414: greeting = 1500 ; Maximum length of a greeting.
michael@414: ;If exceeded then MACHINE.
michael@414: after_greeting_silence = 800 ; Silence after detecting a greeting.
michael@414: ; If exceeded then HUMAN.
michael@414: total_analysis_time = 5000 ; Maximum time allowed for the algorithm to
michael@414: ; decide on a HUMAN or MACHINE.
michael@414: min_word_length = 100 ; Minimum duration of Voice to considered a word.
michael@414: between_words_silence = 50 ; Minimum duration of silence after a word to
michael@414: ; consider the audio what follows as a new word.
michael@414: maximum_number_of_words = 3 ; Maximum number of words in the greeting.
michael@414: ; If exceeded then MACHINE.
michael@414: silence_threshold = 256
michael@414:
michael@414:
michael@310:
michael@310: ;;
michael@310: ;; modules.conf -- Asterisk functionality module configuration
michael@310: ;;
michael@310:
michael@310: [modules]
michael@310: autoload = yes
michael@310:
michael@310: [global]
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; logger.conf -- Asterisk logging configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: dateformat = %F %T
michael@310: queue_log = no
michael@310: event_log = no
michael@310:
michael@310: [logfiles]
michael@310: console = error,warning,notice,verbose
michael@310: asterisk.log = error,warning,notice ; verbose,debug
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; manager.conf -- Asterisk internal manager API configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: enabled = yes
michael@310: webenabled = no
michael@310: bindaddr = 127.0.0.1
michael@310: port = 5038
michael@347:
michael@347: ; You can open a TLS connection to this socket with:
michael@347: ;
michael@399: ; openssl s_client -connect my_host:5039
michael@347: ;
michael@347: tlsenable = no
michael@347: tlsbindaddr = 127.0.0.1
michael@347: tlsbindport = 5039
michael@347: tlscertfile = @l_prefix@/etc/asterisk/asterisk.pem
michael@347: ; if tlsprivatekey is not specified search tlscertfile for key
michael@347: ;tlsprivatekey = @l_prefix@/etc/asterisk/asterkey.pem
michael@347: ;tlscipher = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
michael@347:
michael@310: displayconnects = yes
michael@310: allowmultiplelogin = yes
michael@310: timestampevents = yes
michael@310:
michael@310: [asterisk]
michael@310: secret = asterisk
michael@310: deny = 0.0.0.0/0.0.0.0
michael@310: permit = 127.0.0.1/255.0.0.0
michael@310: read = system,call,agent,user,config,log,verbose,dtmf,reporting,cdr,dialplan
michael@310: write = system,call,agent,user,config,command,reporting
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@414: ;; http.conf -- Asterisk HTTP server interface
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: enabled = no
michael@310: bindaddr = 127.0.0.1
michael@310: bindport = 8088
michael@347: tlsenable = no
michael@347: tlsbindport = 8089
michael@347: tlsbindaddr = 127.0.0.1
michael@347: tlscertfile = @l_prefix@/etc/asterisk/asterisk.pem
michael@310: enablestatic = yes
michael@310: prefix = asterisk
michael@310: redirect = / /asterisk/static/docs/index.html
michael@310:
michael@310: [post_mappings]
michael@310: uploads = @l_prefix@/var/asterisk/spool/uploads/
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; sip.conf -- Asterisk SIP configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: useragent = OpenPKG Asterisk PBX
michael@310: realm = example
michael@310: bindaddr = 127.0.0.1
michael@310: bindport = 5060
michael@310: tcpenable = yes
michael@310: tcpbindaddr = 127.0.0.1:5060
michael@310: tlsenable = no
michael@310: tlsbindaddr = 127.0.0.1:5061
michael@310: tlscipher = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
michael@310: tlscertfile = asterisk.pem
michael@310: tlscafile = asterisk.pem
michael@310: srvlookup = yes
michael@310: useclientcode = yes
michael@310: allowguest = yes
michael@310: canreinvite = no
michael@310: nat = no
michael@310: disallow = all
michael@310: allow = speex
michael@310: allow = g726
michael@310: allow = ulaw
michael@310: allow = alaw
michael@310: allow = gsm
michael@310: videosupport = no
michael@310: ;allow = h263
michael@310: ;allow = h263p
michael@310: notifyhold = yes
michael@310: notifyringing = yes
michael@310: limitonpeer = yes
michael@310: call-limit = 1
michael@310: incominglimit = 1
michael@310: context = external
michael@310: ;register = NNNNNNN:XXXXXX:NNNNNNN@sipgate.de/s
michael@310: ;tos = 0x18
michael@310:
michael@310: ;[sipgate]
michael@310: ;type = peer
michael@310: ;defaultuser = NNNNNNN
michael@310: ;host = sipgate.de
michael@310: ;fromuser = NNNNNNN
michael@310: ;fromdomain = sipgate.de
michael@310: ;canreinvite = no
michael@310: ;disallow = all
michael@310: ;allow = speex
michael@310: ;allow = g726
michael@310: ;allow = ulaw
michael@310: ;allow = alaw
michael@310: ;allow = gsm
michael@310: ;context = external
michael@310:
michael@310: ;[gw]
michael@310: ;type = friend
michael@310: ;defaultuser = gw
michael@310: ;callerid = "ISDN-to-SIP"
michael@310: ;fromdomain = example.com
michael@310: ;secret = asterisk
michael@310: ;host = dynamic
michael@310: ;canreinvite = no
michael@310: ;disallow = all
michael@310: ;allow = g726
michael@310: ;allow = ulaw
michael@310: ;allow = alaw
michael@310: ;allow = gsm
michael@310: ;dtmfmode = rfc2833
michael@310: ;qualify = yes
michael@310: ;insecure = yes
michael@310: ;context = external
michael@310: ;nat = no
michael@310:
michael@310: [std-user](!)
michael@310: type = friend
michael@310: context = internal
michael@310: host = dynamic
michael@310: dtmfmode = rfc2833
michael@310: qualify = yes
michael@310: disallow = all
michael@310: allow = speex
michael@310: allow = g726
michael@310: allow = ulaw
michael@310: allow = alaw
michael@310:
michael@310: [behind-nat](!)
michael@310: nat = yes
michael@310:
michael@310: [with-mailbox](!)
michael@310: hasvoicemail = yes
michael@310: subscribemwi = yes
michael@310: subscribecontext = internal
michael@310: vmexten = voicemail
michael@310:
michael@310: [foo](std-user,with-mailbox)
michael@310: secret = asterisk
michael@310: callerid = "Mr. Foo" <11>
michael@310: mailbox = 11@internal
michael@310:
michael@310: [bar](std-user,with-mailbox)
michael@310: secret = asterisk
michael@310: callerid = "Mr. Bar" <12>
michael@310: mailbox = 12@internal
michael@310:
michael@310:
michael@347:
michael@347: ;;
michael@347: ;; iax.conf -- Asterisk IAX configuration
michael@347: ;;
michael@347:
michael@347: ;; This configuration is reread at reload
michael@347: ;; or with the CLI command
michael@399: ;; reload chan_iax2.so
michael@347: ;;
michael@347: ;; General settings, like port number to bind to, and
michael@347: ;; an option address (the default is to bind to all
michael@347: ;; local addresses).
michael@347: ;;
michael@347: ;[general]
michael@347: ;bindport=4569 ; bindport and bindaddr may be specified
michael@347: ; ; NOTE: bindport must be specified BEFORE
michael@347: ; ; bindaddr or may be specified on a specific
michael@347: ; ; bindaddr if followed by colon and port
michael@347: ; ; (e.g. bindaddr=192.168.0.1:4569)
michael@347: ;bindaddr=127.0.0.1 ; more than once to bind to multiple
michael@399: ; ; addresses, but the first will be the
michael@347: ; ; default
michael@347:
michael@347:
michael@414:
michael@414: ;;
michael@414: ;; iaxprov.conf -- IAX2 provisioning information
michael@414: ;;
michael@414:
michael@414: ; Contains provisioning information for templates and for specific service
michael@414: ; entries.
michael@414: ;
michael@414: ; Templates provide a group of settings from which provisioning takes place.
michael@414: ; A template may be based upon any template that has been specified before
michael@414: ; it. If the template that an entry is based on is not specified then it is
michael@414: ; presumed to be 'default' (unless it is the first of course).
michael@414: ;
michael@414: ; Templates which begin with 'si-' are used for provisioning units with
michael@414: ; specific service identifiers. For example the entry "si-000364000126"
michael@414: ; would be used when the device with the corresponding service identifier of
michael@414: ; "000364000126" attempts to register or make a call.
michael@414: ;
michael@414: [default]
michael@414: port=4569 ; the port number the device should bind to (default 4569)
michael@414: server=127.0.0.1 ; our PRIMARY server for registration and placing calls
michael@414:
michael@414: ; altserver is the BACKUP server for registration and placing calls in the
michael@414: ; event the primary server is unavailable.
michael@414: ;
michael@414: altserver=127.0.0.2
michael@414:
michael@414: ; port is the port number to use for IAX2 outbound. The connections to the
michael@414: ; server and altserver (default 4569)
michael@414: ;
michael@414: serverport=4569
michael@414: language=es ; the preferred language for the device
michael@414: codec=ulaw ; requested codec, the iaxy supports ulaw and adpcm
michael@414:
michael@414: ; flags is a comma separated list of flags which the device should
michael@414: ; use and may contain any of the following keywords:
michael@414: ;
michael@414: ; "register" - Register with server
michael@414: ; "secure" - Do not accept calls / provisioning not originated by server
michael@414: ; "heartbeat" - Generate status packets on port 9999 sent to 255.255.255.255
michael@414: ; "debug" - Output extra debugging to port 9999
michael@414: ;
michael@414: ; Note that use can use += and -= to adjust parameters
michael@414: ;
michael@414: flags=register
michael@414:
michael@414: tos=ef ; see doc/ip-tos.txt
michael@414:
michael@414: ; Example iaxy provisioning
michael@414: ;
michael@414: ;[si-000364000126]
michael@414: ;user=iaxy
michael@414: ;pass=bitsy
michael@414: ;flags += debug
michael@414:
michael@414: ;[si-000364000127]
michael@414: ;user=iaxy2
michael@414: ;pass=bitsy2
michael@414: ;template=si-000364000126
michael@414: ;flags += debug
michael@414:
michael@414:
michael@414: ; If specified, the '*' provisioning is used for all devices which do not
michael@414: ; have another provisioning entry within the file. If unspecified, no
michael@414: ; provisioning will take place for devices which have no entry. DO NOT
michael@414: ; USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING.
michael@414: ;
michael@414: ;[*]
michael@414:
michael@414: ;template=default
michael@414:
michael@310:
michael@310: ;;
michael@310: ;; rtp.conf -- Asterisk RTP configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: rtpstart = 7070
michael@310: rtpend = 7089
michael@310:
michael@310:
michael@311:
michael@311: ;;
michael@311: ;; sip_notify.conf -- Asterisk NOTIFY automation from command line
michael@311: ;;
michael@311:
michael@311: ; rfc3842
michael@311: ; put empty "Content=>" at the end to have CRLF after last body line
michael@311: [clear-mwi]
michael@311: Event=>message-summary
michael@311: Content-type=>application/simple-message-summary
michael@311: Content=>Messages-Waiting: no
michael@311: Content=>Message-Account: sip:asterisk@127.0.0.1
michael@311: Content=>Voice-Message: 0/0 (0/0)
michael@311: Content=>
michael@311:
michael@311: ; Aastra
michael@311: [aastra-check-cfg]
michael@311: Event=>check-sync
michael@311:
michael@311: [aastra-xml]
michael@311: Event=>aastra-xml
michael@311:
michael@311: ; Linksys
michael@311: [linksys-cold-restart]
michael@311: Event=>reboot_now
michael@311:
michael@311: [linksys-warm-restart]
michael@311: Event=>restart_now
michael@311:
michael@311: ; Polycom
michael@311: [polycom-check-cfg]
michael@311: Event=>check-sync
michael@311:
michael@311: ; Sipura
michael@311: [sipura-check-cfg]
michael@311: Event=>resync
michael@311:
michael@311: [sipura-get-report]
michael@311: Event=>report
michael@311:
michael@311: ; Snom
michael@311: [snom-check-cfg]
michael@311: Event=>check-sync\;reboot=false
michael@311:
michael@311: [snom-reboot]
michael@311: Event=>reboot
michael@311:
michael@311: ; Cisco
michael@311: [cisco-check-cfg]
michael@311: Event=>check-sync
michael@311:
michael@311:
michael@414:
michael@414: ;;
michael@414: ;; extconfig.conf -- Static and realtime external configuration engine
michael@414: ;;
michael@414:
michael@414: [settings]
michael@414: ;
michael@414: ; Static configuration files:
michael@414: ;
michael@414: ; file.conf => driver,database[,table[,priority]]
michael@414: ;
michael@414: ; maps a particular configuration file to the given
michael@414: ; database driver, database and table (or uses the
michael@414: ; name of the file as the table if not specified)
michael@414: ;
michael@414: ;uncomment to load queues.conf via the odbc engine.
michael@414: ;
michael@414: ;queues.conf => odbc,asterisk,ast_config
michael@414: ;extensions.conf => sqlite,asterisk,ast_config
michael@414: ;
michael@414: ; The following files CANNOT be loaded from Realtime storage:
michael@414: ; asterisk.conf
michael@414: ; extconfig.conf (this file)
michael@414: ; logger.conf
michael@414: ;
michael@414: ; Additionally, the following files cannot be loaded from
michael@414: ; Realtime storage unless the storage driver is loaded
michael@414: ; early using 'preload' statements in modules.conf:
michael@414: ; manager.conf
michael@414: ; cdr.conf
michael@414: ; rtp.conf
michael@414: ;
michael@414: ;
michael@414: ; Realtime configuration engine
michael@414: ;
michael@414: ; maps a particular family of realtime
michael@414: ; configuration to a given database driver,
michael@414: ; database and table (or uses the name of
michael@414: ; the family if the table is not specified
michael@414: ;
michael@414: ;example => odbc,asterisk,alttable,1
michael@414: ;example => mysql,asterisk,alttable,2
michael@414: ;example2 => ldap,"dc=oxymium,dc=net",example2
michael@414: ;
michael@414: ; Additionally, priorities are now supported for use as failover methods
michael@414: ; for retrieving realtime data. If one connection fails to retrieve any
michael@414: ; information, the next sequential priority will be tried next. This
michael@414: ; especially works well with ODBC connections, since res_odbc now caches
michael@414: ; when connection failures occur and prevents immediately retrying those
michael@414: ; connections until after a specified timeout. Note: priorities must
michael@414: ; start at 1 and be sequential (i.e. if you have only priorities 1, 2,
michael@414: ; and 4, then 4 will be ignored, because there is no 3).
michael@414: ;
michael@414: ; "odbc" is shown in the examples below, but is not the only valid realtime
michael@414: ; engine. There is:
michael@414: ; odbc ... res_config_odbc
michael@414: ; sqlite ... res_config_sqlite
michael@414: ; pgsql ... res_config_pgsql
michael@414: ; curl ... res_config_curl
michael@414: ; ldap ... res_config_ldap
michael@414: ;
michael@414: ;iaxusers => odbc,asterisk
michael@414: ;iaxpeers => odbc,asterisk
michael@414: ;sippeers => odbc,asterisk
michael@414: ;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
michael@414: ;voicemail => odbc,asterisk
michael@414: ;extensions => odbc,asterisk
michael@414: ;meetme => mysql,general
michael@414: ;queues => odbc,asterisk
michael@414: ;queue_members => odbc,asterisk
michael@414: ;musiconhold => mysql,general
michael@414: ;queue_log => mysql,general
michael@414: ;
michael@414: ;
michael@414: ; While most dynamic realtime engines are automatically used when defined in
michael@414: ; this file, 'extensions', distinctively, is not. To activate dynamic realtime
michael@414: ; extensions, you must turn them on in each respective context within
michael@414: ; extensions.conf with a switch statement. The syntax is:
michael@414: ; switch => Realtime/[[db_context@]tablename]/
michael@414: ; The only option available currently is the 'p' option, which disallows
michael@414: ; extension pattern queries to the database. If you have no patterns defined
michael@414: ; in a particular context, this will save quite a bit of CPU time. However,
michael@414: ; note that using dynamic realtime extensions is not recommended anymore as a
michael@414: ; best practice; instead, you should consider writing a static dialplan with
michael@414: ; proper data abstraction via a tool like func_odbc.
michael@414:
michael@414:
michael@310:
michael@310: ;;
michael@310: ;; extensions.conf -- Asterisk inbound & outbound call configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: static = yes
michael@310: writeprotect = yes
michael@310: autofallthrough = yes
michael@310:
michael@310: [globals]
michael@310: MEETME_SPOOLDIR = @l_prefix@/var/asterisk/spool/meetme
michael@310: STAFF = SIP/foo&SIP/bar
michael@310: CONSOLE = Console/dsp
michael@310: DOLLAR = $
michael@310:
michael@310: ;;
michael@310: ;; SPECIAL CONTEXTS
michael@310: ;;
michael@310:
michael@310: [macro-dial]
michael@310: exten = s,1,Dial(${ARG1},${ARG2},${ARG3})
michael@310: exten = s,n,Goto(s-${DIALSTATUS},1)
michael@310: exten = s-ANSWER,1,Hangup
michael@310: exten = s-BUSY,1,GotoIf($["${ARG4}" == ""]?novm)
michael@310: exten = s-BUSY,n,GotoIf($[${MAILBOX_EXISTS(${ARG4})} == 0]?novm)
michael@310: exten = s-BUSY,n,VoiceMail(${ARG4},b)
michael@310: exten = s-BUSY,n,Playback(vm-goodbye)
michael@310: exten = s-BUSY,n(novm),Hangup
michael@310: exten = s-NOANSWER,1,GotoIf($["${ARG4}" == ""]?novm)
michael@310: exten = s-NOANSWER,n,MailboxExists(${ARG4})
michael@310: exten = s-NOANSWER,n,GotoIf($[${MAILBOX_EXISTS(${ARG4})} == 0]?novm)
michael@310: exten = s-NOANSWER,n,VoiceMail(${ARG4},u)
michael@310: exten = s-NOANSWER,n,Playback(vm-goodbye)
michael@310: exten = s-NOANSWER,n(novm),Hangup
michael@310: exten = _s-.,1,Goto(s-NOANSWER,1)
michael@310:
michael@310: [default]
michael@310: ; currently empty
michael@310:
michael@310: ;;
michael@310: ;; EXTERNAL DIAL CONTEXT
michael@310: ;;
michael@310:
michael@310: [external]
michael@310: include = default
michael@310:
michael@310: ; external incoming SIP connection
michael@310: exten = example,hint,${STAFF}
michael@310: exten = example,1,Goto(s,1)
michael@310: exten = s,n,Ringing
michael@310: exten = s,n,Wait(1)
michael@310: exten = s,n,Answer
michael@310: exten = s,n,Macro(dial,${STAFF},30,gTtr,1@external)
michael@310:
michael@310: ; external to internal mapping
michael@310: exten = foo,hint,SIP/foo
michael@310: exten = foo,1,Goto(internal,foo,1)
michael@310: exten = bar,hint,SIP/bar
michael@310: exten = bar,1,Goto(internal,bar,1)
michael@310:
michael@310: ;;
michael@310: ;; INTERNAL DIAL CONTEXT
michael@310: ;;
michael@310:
michael@310: [internal]
michael@310: include = default
michael@310: ;include = parkedcalls
michael@310:
michael@310: ; internal to external mapping
michael@310: exten = example,1,Goto(external,example,1)
michael@310:
michael@310: ; internal user #11
michael@310: exten = foo,hint,SIP/foo
michael@310: exten = foo,1,Goto(11,1)
michael@310: exten = 11,hint,SIP/foo
michael@310: exten = 11,1,Macro(dial,SIP/foo,30,gTtr,11@internal)
michael@310:
michael@310: ; internal user #12
michael@310: exten = bar,hint,SIP/bar
michael@310: exten = bar,1,Goto(12,1)
michael@310: exten = 12,hint,SIP/bar
michael@310: exten = 12,1,Macro(dial,SIP/bar,30,gTtr,12@internal)
michael@310:
michael@310: ; internal group #20
michael@310: exten = all,1,Goto(20,1)
michael@310: exten = 20/foo,1,Macro(dial,SIP/bar,60,)
michael@310: exten = 20/bar,1,Macro(dial,SIP/foo,60,)
michael@310:
michael@310: ; internal service #7
michael@310: exten = conference,1,Goto(70,1)
michael@310: exten = _7[0-9],1,Set(confno=${EXTEN:1})
michael@310: exten = _7[0-9],n,Goto(7,enter)
michael@310: exten = 7,1,Set(TIMEOUT(digit)=3)
michael@310: exten = 7,n,Set(TIMEOUT(response)=6)
michael@310: exten = 7,n(repeat),Read(confno,conf-getconfno,3)
michael@310: exten = 7,n,GotoIf($[${confno} >= 0 & ${confno} <= 9]?enter)
michael@310: exten = 7,n,Playback(conf-invalid)
michael@310: exten = 7,n,Goto(repeat)
michael@310: exten = 7,n(enter),Playback(conf-placeintoconf)
michael@310: exten = 7,n,SayNumber(${confno})
michael@310: exten = 7,n,Set(SPYGROUP=conference-${confno})
michael@310: exten = 7,n,Set(confopt=cCpsMvio)
michael@310: exten = 7,n,GotoIf($[${confno} >= 4 & ${confno} <= 9]?l1:l2)
michael@310: exten = 7,n(l1),Set(confopt=${confopt}i)
michael@310: exten = 7,n(l2),GotoIf($[${confno} >= 7 & ${confno} <= 9]?l3:l4)
michael@310: exten = 7,n(l3),Set(confopt=${confopt}r)
michael@310: exten = 7,n,Set(MEETME_RECORDINGFILE=${MEETME_SPOOLDIR}/meetme-conference-${confno}-${STRFTIME(${EPOCH},UTC,%Y%m%d%H%M)})
michael@310: exten = 7,n,Set(MEETME_RECORDINGFORMAT=wav49)
michael@310: exten = 7,n,Playback(this-call-may-be-monitored-or-recorded)
michael@310: exten = 7,n(l4),MeetMe(${confno},${confopt})
michael@310: exten = 7,n,Playback(beep)
michael@310: exten = 7,n,Wait(1)
michael@310: exten = 7,n,Playback(vm-goodbye)
michael@310: exten = 7,n,Hangup
michael@310:
michael@310: ; internal service #80/#*80
michael@310: exten = voicemail,1,Goto(80,1)
michael@310: exten = 80,1,GotoIf($[${MAILBOX_EXISTS(${CALLERID(num)}@internal)} == 0]?novm)
michael@310: exten = 80,n,VoiceMailMain(${CALLERID(num)}@internal,s)
michael@310: exten = 80,n,Hangup
michael@310: exten = 80,n(novm),Playback(invalid)
michael@310: exten = 80,n,Hangup
michael@310: exten = _*80.,1,GotoIf($[${MAILBOX_EXISTS(${EXTEN:3}@internal)} == 0]?novm)
michael@310: exten = _*80.,n,VoiceMailMain(${EXTEN:3}@internal)
michael@310: exten = _*80.,n,Hangup
michael@310: exten = _*80.,n(novm),Playback(invalid)
michael@310: exten = _*80.,n,Hangup
michael@310:
michael@310: ; internal service #81
michael@310: exten = echo,1,Goto(81,1)
michael@310: exten = 81,1,Answer
michael@310: exten = 81,n,Playback(demo-echotest)
michael@310: exten = 81,n,Wait(1)
michael@310: exten = 81,n,Playback(beep)
michael@310: exten = 81,n,Echo
michael@310: exten = 81,n,Wait(1)
michael@310: exten = 81,n,Playback(demo-echodone)
michael@310: exten = 81,n,Wait(1)
michael@310: exten = 81,n,Playback(vm-goodbye)
michael@310: exten = 81,n,Hangup
michael@310:
michael@310: ; internal service #82
michael@310: exten = reload,1,Goto(82,1)
michael@310: exten = 82,1,Answer
michael@310: exten = 82,n,Read(pin,conf-getpin,4)
michael@310: exten = 82,n,GotoIf($[${pin} = 1234]?ok)
michael@310: exten = 82,n,Playback(conf-invalidpin)
michael@310: exten = 82,n,Hangup
michael@310: exten = 82,n(ok),Playback(beep)
michael@310: exten = 82,n,Wait(1)
michael@310: exten = 82,n,Playback(beep)
michael@310: exten = 82,n,Wait(1)
michael@310: exten = 82,n,Playback(beep)
michael@310: exten = 82,n,Wait(1)
michael@310: exten = 82,n,System(@l_prefix@/sbin/asterisk -rx reload)
michael@310: exten = 82,n,Hangup
michael@310:
michael@310: ; external outgoing ISDN (via SIP-to-ISDN gateway call-through)
michael@310: ;exten = _0.,1,Set(number=${EXTEN:1})
michael@310: ;exten = _0.,n,Set(enum=${ENUMLOOKUP(+${number},ALL)})
michael@310: ;exten = _0.,n,Set(enum_is_sip_url=${REGEX("^SIP/.+" ${enum})})
michael@310: ;exten = _0.,n,GotoIf($["${enum_is_sip_url}" = "1"]?sip:isdn)
michael@310: ;exten = _0.,n(sip),Dial(${enum},60,o)
michael@310: ;exten = _0.,n,Goto(_0.,7)
michael@310: ;exten = _0.,n(isdn),Dial(SIP/gw,60,D(w1234w0#31#${number}#))
michael@310: ;exten = _0.,n,Hangup
michael@310:
michael@310: ; internal outgoing SIP call (part 1/2)
michael@310: ; (notice sort-order trickery!)
michael@310: include = internal-siponly
michael@310:
michael@310: [internal-siponly]
michael@310: ; internal outgoing SIP call (part 2/2)
michael@310: ; (notice sort-order trickery!)
michael@310: exten = _.[@].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},60,o)
michael@310: exten = _.[@].,n,Hangup
michael@310: exten = _.[@].,102,Busy
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; enum.conf -- Asterisk ENUM configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: search = e164.arpa
michael@310: search = e164.org
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@414: ;; musiconhold.conf -- Asterisk music on hold configuration
michael@310: ;;
michael@310:
michael@310: [default]
michael@310: mode = files
michael@310: directory = @l_prefix@/share/asterisk/moh
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; voicemail.conf -- Asterisk voice mail configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: format = wav49
michael@310: serveremail = example@example.com
michael@310: attach = yes
michael@310: maxmsg = 20
michael@310: maxsecs = 180
michael@310: minsecs = 3
michael@310: maxgreet = 60
michael@310: skipms = 3000
michael@310: maxsilence = 10
michael@310: silencethreshold = 128
michael@310: maxlogins = 3
michael@310: charset = ISO-8859-1
michael@310: pbxskip = yes
michael@310: fromstring = Asterisk PBX
michael@310: usedirectory = yes
michael@310: emailsubject = [PBX]: New voice message ${VM_MSGNUM} in mailbox ${VM_MAILBOX}
michael@310: 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
michael@310: pagerfromstring = Asterisk PBX
michael@310: pagersubject = New VM
michael@310: pagerbody = New ${VM_DUR} long msg in box ${VM_MAILBOX}\nfrom ${VM_CALLERID}, on ${VM_DATE}
michael@310: emaildateformat = %A, %d %B %Y %H:%M:%S %r
michael@310: mailcmd = @l_prefix@/sbin/sendmail -t
michael@310:
michael@310: [default]
michael@310:
michael@310: [external]
michael@310: 1 = 1234,Example,example@example.com,,delete=yes
michael@310:
michael@310: [internal]
michael@310: 11 = 1234,Mr. Foo,foo@example.com,,delete=no
michael@310: 12 = 1234,Mr. Bar,bar@example.com,,delete=no
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; cdr.conf -- Asterisk Call Detail Record (CDR) configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: enable = yes
michael@310: unanswered = no
michael@310: batch = no
michael@310: size = 100
michael@310: time = 300
michael@310: scheduleronly = no
michael@310: safeshutdown = yes
michael@310: endbeforehexten = yes
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; cdr_custom.conf -- Asterisk Call Detail Record (CDR) via Comma Separated Value (CSV) format configuration
michael@310: ;;
michael@310:
michael@310: [mappings]
michael@310: 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)}"
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; cdr_sqlite3_custom.conf -- Asterisk Call Detail Record (CDR) via SQLite RDBMS format configuration
michael@310: ;;
michael@310:
michael@310: [master]
michael@310: table = cdr
michael@310: columns = start, answer, end, duration, billsec, clid, src, dst, dcontext, channel, dstchannel, lastapp, lastdata, disposition, amaflags, accountcode, uniqueid, userfield
michael@310: 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)}"
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; cdr_manager.conf -- Asterisk Call Detail Record (CDR) via Asterisk Manager Interface (AMI) configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: enabled = yes
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; meetme.conf -- Asterisk conference configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: audiobuffers = 32
michael@310: ;schedule = yes
michael@310: ;logmembercount = yes
michael@310: ;fuzzystart = 300
michael@310: ;earlyalert = 3600
michael@310: ;endalert = 120
michael@310:
michael@310: [rooms]
michael@310: conf = 0
michael@310: conf = 1
michael@310: conf = 2
michael@310: conf = 3
michael@310: conf = 4
michael@310: conf = 5
michael@310: conf = 6
michael@310: conf = 7
michael@310: conf = 8
michael@310: conf = 9,1234,1234
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; codecs.conf -- Asterisk codec configuration
michael@310: ;;
michael@310:
michael@310: [speex]
michael@310: quality = 6
michael@310: complexity = 4
michael@310: enhancement = true
michael@310: vad = true
michael@310: vbr = true
michael@310: abr = 8000
michael@310: vbr_quality = 5
michael@310: dtx = false
michael@310: preprocess = false
michael@310: pp_vad = false
michael@310: pp_agc = false
michael@310: pp_agc_level = 8000
michael@310: pp_denoise = false
michael@310: pp_dereverb = false
michael@310: pp_dereverb_decay = 0.4
michael@310: pp_dereverb_level = 0.3
michael@310:
michael@310: [plc]
michael@310: genericplc = true
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; chan_dahdi.conf -- Asterisk DAHDI channel configuration
michael@310: ;;
michael@310:
michael@310: ; (an empty configuration is ok, but required even for DAHDI "dahdidummy" only)
michael@310: [trunkgroups]
michael@310: [channels]
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; capi.conf -- Asterisk ISDN/CAPI channel configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: nationalprefix = 0
michael@310: internationalprefix= 00
michael@310: rxgain = 1.0
michael@310: txgain = 1.0
michael@310: ulaw = no
michael@310: debug = yes
michael@310:
michael@310: [ISDN1]
michael@310: isdnmode = msn
michael@310: incomingmsn = *
michael@310: controller = 0
michael@310: group = 1
michael@310: ;prefix = 0
michael@310: softdtmf = off
michael@310: relaxdtmf = off
michael@310: accountcode =
michael@310: context = external
michael@310: holdtype = local
michael@310: ;immediate = yes
michael@310: echocancel = no
michael@310: echosquelch = no
michael@310: ;echotail = 64
michael@310: ;bridge = yes
michael@310: ;callgroup = 1
michael@310: ;deflect = 1234567
michael@310: devices = 2
michael@310: ;dtmf_generate = yes
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@414: ;; features.conf -- Asterisk call features configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: ;parkext = 700
michael@310: ;parkpos = 701-720
michael@310: ;context = parkedcalls
michael@310:
michael@310:
michael@414:
michael@414: ;;
michael@414: ;; festival.conf -- Asterisk festival configuration
michael@414: ;;
michael@414:
michael@414: [general]
michael@414: host = localhost ; default 'localhost'
michael@414: port = 1314 ; default '1314'
michael@414: usecache = no ; default 'no'
michael@414:
michael@414: ; If usecache=yes, a directory to store waveform cache files.
michael@414: ; The cache is never cleared (yet), so you must take care of cleaning it
michael@414: ; yourself (just delete any or all files from the cache).
michael@414: ; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
michael@414: ; Defaults to /tmp/
michael@414: ;
michael@414: ;cachedir = /opsw/var/asterisk/festivalcache/
michael@414: ;
michael@414: ; Festival command to send to the server.
michael@414: ; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n
michael@414: ; %s is replaced by the desired text to say. The command MUST end with a
michael@414: ; (quit) directive, or the cache handling mechanism will hang. Do not
michael@414: ; forget the \n at the end.
michael@414: ;
michael@414: festivalcommand = (tts_textasterisk "%s" 'file)(quit)\n
michael@414:
michael@414:
michael@399:
michael@399: ;;
michael@399: ;; gtalk.conf -- Asterisk GTalk configuration
michael@399: ;;
michael@399:
michael@399: [general]
michael@399: ;context = default ; Context to dump call into
michael@399: ;bindaddr = 0.0.0.0 ; Address to bind to
michael@399: ;externip = 127.0.0.1 ; Set your external ip if you are behind a NAT.
michael@399: ;stunaddr = ; Get your external ip from a STUN server.
michael@399: ; ; Note, if the STUN query is successful, this
michael@399: ; ; will replace any value placed in externip;
michael@399: ;allowguest = yes ; Allow calls from people not in list of peers
michael@399:
michael@399: [guest] ; special account for options on guest account
michael@399: ;disallow = all
michael@399: ;allow = ulaw
michael@399: ;context = guest
michael@399:
michael@399: [ogorman]
michael@399: ;username = @gmail.com ; username of the peer you're
michael@399: ; ; calling or accepting calls from
michael@399: ;disallow = all
michael@399: ;allow = ulaw
michael@399: ;context = default
michael@399: ;connection = asterisk ; client or component in jabber.conf
michael@399: ; ; for the call to leave on.
michael@399:
michael@399:
michael@310:
michael@310: ;;
michael@310: ;; jabber.conf -- Asterisk Jabber configuration
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: ;debug = yes
michael@310: ;autoprune = yes
michael@310: ;autoregister = yes
michael@310:
michael@310: ;[asterisk]
michael@310: ;type = client
michael@310: ;serverhost = jabber.example.com
michael@310: ;username = asterisk@example.com/asterisk
michael@310: ;secret = asterisk
michael@310: ;priority = 1
michael@310: ;port = 5222
michael@310: ;usetls = no
michael@310: ;usesasl = no
michael@310: ;buddy = buddy@example.com
michael@310: ;status = available
michael@310: ;timeout = 100
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@414: ;; indications.conf -- Asterisk tone indications
michael@310: ;;
michael@310:
michael@310: [general]
michael@310: country = us
michael@310:
michael@310: ; United States
michael@310: ; (according to tones in North America)
michael@310: [us]
michael@310: description = United States (US)
michael@310: ringcadence = 2000,4000
michael@310: dial = 350+440
michael@310: busy = 480+620/500,0/500
michael@310: ring = 440+480/2000,0/4000
michael@310: congestion = 480+620/250,0/250
michael@310: callwaiting = 440/300,0/10000
michael@310: dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
michael@310: record = 1400/500,0/15000
michael@310: info = !950/330,!1400/330,!1800/330,0
michael@310: 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
michael@310:
michael@310: ; United Kingdom
michael@310: ; (partly according to BT SIN350)
michael@310: [uk]
michael@310: description = United Kingdom (UK)
michael@310: ringcadence = 400,200,400,2000
michael@310: dial = 350+440
michael@310: busy = 400/375,0/375
michael@310: ring = 400+450/400,0/200,400+450/400,0/2000
michael@310: congestion = 400/400,0/350,400/225,0/525
michael@310: callwaiting = 400/100,0/4000
michael@310: dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
michael@310: record = 1400/500,0/60000
michael@310: info = 950/330,0/15,1400/330,0/15,1800/330,0/1000
michael@310: stutter = 350+440/750,440/750
michael@310:
michael@310: ; Germany
michael@310: ; (according to http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf)
michael@310: [de]
michael@310: description = Germany (DE)
michael@310: ringcadence = 1000,4000
michael@310: dial = 425
michael@310: busy = 425/480,0/480
michael@310: ring = 425/1000,0/4000
michael@310: congestion = 425/240,0/240
michael@310: 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
michael@310: dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
michael@310: record = 1400/80,0/15000
michael@310: info = 950/330,1400/330,1800/330,0/1000
michael@310: stutter = 425+400
michael@310:
michael@310:
michael@347:
michael@347: ;;
michael@347: ;; ccss.conf -- Asterisk Call Completion Supplementary Services configuration
michael@347: ;;
michael@347:
michael@347: ; Warning! The CCSS implementation brings several changes to the
michael@347: ; channel components of Asterisk. To use CCSS, specify the number
michael@347: ; of maximum requests in this file but do not forget to specify
michael@347: ; the new CCSS related channel specific options in other config
michael@347: ; files as well! Some are 'cc_offer_timer', 'ccbs_available_timer',
michael@347: ; 'cc_agent_policy=never' and many more (in other files.)
michael@347:
michael@347: [general]
michael@347: ; There is only a single option that may be defined in this file.
michael@347: ; The cc_max_requests option is a global limit on the number of
michael@347: ; CC requests that may be in the Asterisk system at any time.
michael@347: ;
michael@347: cc_max_requests = 20
michael@347:
michael@347:
michael@347:
michael@347: ;;
michael@347: ;; res_fax.conf -- Asterisk fax resource configuration
michael@347: ;;
michael@347:
michael@347: [general]
michael@347: ; Maximum Transmission Rate
michael@347: ; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
michael@347: ; Set this value to the maximum desired transfer rate. Default: 14400
michael@347: maxrate=14400
michael@347:
michael@347: ; Minimum Transmission Rate
michael@347: ; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
michael@347: ; Set this value to the minimum desired transfer rate. Default: 2400
michael@347: minrate=2400
michael@347:
michael@347: ; Send Progress/Status events to manager session
michael@347: ; Manager events with 'call' class permissions will receive events indicating the
michael@347: ; steps to initiate a fax session. Fax completion events are always sent to manager
michael@347: ; sessions with 'call' class permissions, regardless of the value of this option.
michael@347: ; Default: no
michael@347: statusevents=yes
michael@347:
michael@347: ; modem capabilities
michael@347: ; Possible values are { v17 | v27 | v29 }
michael@347: ; Set this value to modify the default modem options. Default: v17,v27,v29
michael@347: modems=v17,v27,v29
michael@347:
michael@347: ; Enable/disable T.30 ECM (error correction mode) by default.
michael@347: ; Default: Enabled
michael@347: ecm=yes
michael@347:
michael@347:
michael@310:
michael@310: ;;
michael@310: ;; res_odbc.conf -- Asterisk ODBC resource configuration
michael@310: ;;
michael@310:
michael@310: [ENV]
michael@310:
michael@310: [asterisk-sqlite]
michael@310: enabled = no
michael@310: dsn = asterisk-sqlite
michael@310: username =
michael@310: password =
michael@310: pre-connect = no
michael@310: sanitysql = SELECT 1
michael@310: ;idlecheck = 3600
michael@310: backslash_is_escape= yes
michael@310: share_connections = yes
michael@310: limit = 10
michael@310:
michael@310:
michael@310:
michael@310: ;;
michael@310: ;; func_odbc.conf -- Asterisk ODBC dialplan function configuration
michael@310: ;;
michael@310:
michael@310: ; SQLite-based Asterisk Database Access (random SQL access)
michael@310: ; Set(=${ASTDB_SQL(SELECT [...])})
michael@310: ; Set(ASTDB_SQL(UPDATE [...]))
michael@310: [SQL]
michael@310: prefix = ASTDB
michael@310: dsn = asterisk-sqlite
michael@310: readsql = ${ARG1}
michael@310: writesql = ${ARG1}
michael@310:
michael@310: ; SQLite-based Asterisk Database Access (fixed key/value access)
michael@310: ; Set(=${ASTDB_MAP()})
michael@310: ; Set(ASTDB_MAP()=)
michael@310: [MAP]
michael@310: prefix = ASTDB
michael@310: dsn = asterisk-sqlite
michael@310: readsql = SELECT val FROM map WHERE key='${SQL_ESC(${ARG1})}'
michael@310: writesql = UPDATE map SET val='${SQL_ESC(${VAL1})}' WHERE key='${SQL_ESC(${ARG1})}'
michael@310: escapecommas = no
michael@310:
michael@310:
michael@310:
michael@310: -----BEGIN CERTIFICATE-----
michael@310: MIIDNjCCAp+gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
michael@310: FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
michael@310: A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
michael@310: cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
michael@310: bmFrZW9pbC5kb20wHhcNOTkxMDIxMTgyMTUxWhcNMDExMDIwMTgyMTUxWjCBpzEL
michael@310: MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
michael@310: a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
michael@310: cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
michael@310: AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
michael@310: gQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92Vaat6CpIEEGue
michael@310: yG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9ziYon8jWsbK2aE
michael@310: +L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQABo24wbDAbBgNV
michael@310: HREEFDASgRB3d3dAc25ha2VvaWwuZG9tMDoGCWCGSAGG+EIBDQQtFittb2Rfc3Ns
michael@310: IGdlbmVyYXRlZCBjdXN0b20gc2VydmVyIGNlcnRpZmljYXRlMBEGCWCGSAGG+EIB
michael@310: AQQEAwIGQDANBgkqhkiG9w0BAQQFAAOBgQB6MRsYGTXUR53/nTkRDQlBdgCcnhy3
michael@310: hErfmPNl/Or5jWOmuufeIXqCvM6dK7kW/KBboui4pffIKUVafLUMdARVV6BpIGMI
michael@310: 5LmVFK3sgwuJ01v/90hCt4kTWoT8YHbBLtQh7PzWgJoBAY7MJmjSguYCRt91sU4K
michael@310: s0dfWsdItkw4uQ==
michael@310: -----END CERTIFICATE-----
michael@310: -----BEGIN RSA PRIVATE KEY-----
michael@310: MIICXgIBAAKBgQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92V
michael@310: aat6CpIEEGueyG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9zi
michael@310: Yon8jWsbK2aE+L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQAB
michael@310: AoGBAKTvnFGKSkUJnNQGe66I0wunGgCA3W7kbarAzEF2qKYhGlZhJQnn68RmVnAW
michael@310: pXUFvB+vmtu/+4J9OmWBJsGHFvC9xH32a0PWNr7APjAKrjAD8GWS7Z6BjuxN8QhD
michael@310: WlFMmpYhYIjT1jt7RNfs2gJGS2Ryu3zutUQGwtUB9Pou03dJAkEA6yttwVINFqQP
michael@310: utgUZ1JUHrN/rE73FzYsF/CwJp5d3rLHenZzLT0iW+kNDLUw/VpzYxK7bF2Qrt/3
michael@310: QIUWwm2InQJBAMpe+jhNMJeLDLc3tG3zeithT0mFkuzWWmT2PJgQ0V78UWhw/fSn
michael@310: Qqnq7KBY/DNjlfhezrozLDD73/ccmha0Ax8CQQCBaBlyOtNm9QqO116K6HvPlRiZ
michael@310: Wa6QQEgNOG3GInknFZu9ILcKWsywZNLAfmgh0gcSqnkmDWqTQD0PbOz0Ok/lAkEA
michael@310: g24JrfUbwOASww9PhDUju/a36rTwhhZ0oKt3EP+jKsBOErmHhZP3bKlhQoZoTOu5
michael@310: Y5QXSMChS7LZcwDFZkdE2wJATRgMbhErif+ZRwt9XJRdCo5Sx6ewyGyxjc5gvUyK
michael@310: KegHcgru/ZC3pGlujRD2LqxgJNAn5QTdW4LK8xVPFySTYg==
michael@310: -----END RSA PRIVATE KEY-----
michael@310: