;; ;; asterisk.conf -- Asterisk master configuration ;; [directories] astetcdir = @l_prefix@/etc/asterisk astmoddir = @l_prefix@/lib/asterisk/modules astagidir = @l_prefix@/share/asterisk/agi-bin astvarlibdir = @l_prefix@/share/asterisk astspooldir = @l_prefix@/var/asterisk/spool astrundir = @l_prefix@/var/asterisk/run astlogdir = @l_prefix@/var/asterisk/log astdbdir = @l_prefix@/var/asterisk/db [files] astctlowner = @l_rusr@ astctlgroup = @l_rgrp@ astctlpermissions = 700 astctl = asterisk.ctl [options] systemname = openpkg-pbx runuser = @l_rusr@ rungroup = @l_rgrp@ verbose = 0 alwaysfork = yes dumpcore = no quiet = yes highpriority = no initcrypto = no nocolor = yes execincludes = no ;timestamp = yes ;optiondebug = no ;nofork = no ;console = no ;dontwarn = no ;; ;; modules.conf -- Asterisk functionality module configuration ;; [modules] autoload = yes noload = chan_iax2.so ; not yet wished noload = chan_mgcp.so ; not yet wished noload = chan_skinny.so ; not yet wished noload = chan_ooh323.so ; not yet wished noload = chan_gtalk.so ; not yet wished noload = app_conference.so ; not yet wished load = app_meetme.so ; wished load = res_musiconhold.so ; wished [global] ;; ;; logger.conf -- Asterisk logging configuration ;; [general] dateformat = %F %T queue_log = no event_log = no [logfiles] console = error,warning,notice,verbose asterisk.log = error,warning,notice ; verbose,debug ;; ;; manager.conf -- Asterisk internal manager API configuration ;; [general] enabled = no port = 5038 bindaddr = 10.10.0.1 displayconnects = yes [asterisk] secret = asterisk deny = 0.0.0.0/0.0.0.0 permit = 10.10.0.0/255.255.0.0 read = system,call,log,verbose,command,agent,user write = system,call,log,verbose,command,agent,user ;; ;; sip.conf -- Asterisk SIP configuration ;; [general] useragent = OpenPKG Asterisk PBX realm = example bindaddr = 127.0.0.1 bindport = 5060 tcpenable = yes tcpbindaddr = 127.0.0.1:5060 tlsenable = no tlsbindaddr = 127.0.0.1:5061 tlscipher = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL tlscertfile = asterisk.pem tlscafile = asterisk.pem srvlookup = yes useclientcode = yes allowguest = yes canreinvite = no nat = no disallow = all allow = speex allow = g726 allow = ulaw allow = alaw allow = gsm videosupport = no ;allow = h263 ;allow = h263p context = external ;register = NNNNNNN:XXXXXX:NNNNNNN@sipgate.de/s ;tos = 0x18 ;[sipgate] ;type = peer ;defaultuser = NNNNNNN ;host = sipgate.de ;fromuser = NNNNNNN ;fromdomain = sipgate.de ;canreinvite = no ;disallow = all ;allow = speex ;allow = g726 ;allow = ulaw ;allow = alaw ;allow = gsm ;context = external ;[gw] ;type = friend ;defaultuser = gw ;callerid = "ISDN-to-SIP" ;fromdomain = example.com ;secret = asterisk ;host = dynamic ;canreinvite = no ;disallow = all ;allow = g726 ;allow = ulaw ;allow = alaw ;allow = gsm ;dtmfmode = rfc2833 ;qualify = yes ;insecure = yes ;context = external ;nat = no [foo] type = friend defaultuser = foo callerid = "Mr. Foo" fromdomain = example.com secret = asterisk host = dynamic disallow = all allow = speex allow = g726 allow = ulaw allow = alaw dtmfmode = rfc2833 qualify = yes context = internal nat = no [bar] type = friend defaultuser = bar callerid = "Mr. Bar" fromdomain = example.com secret = asterisk host = dynamic disallow = all allow = speex allow = g726 allow = ulaw allow = alaw dtmfmode = rfc2833 qualify = yes context = internal nat = no ;; ;; rtp.conf -- Asterisk RTP configuration ;; [general] rtpstart = 7070 rtpend = 7089 ;; ;; extensions.conf -- Asterisk inbound & outbound call configuration ;; [general] static = yes writeprotect = yes autofallthrough = yes [globals] MEETME_SPOOLDIR = @l_prefix@/var/asterisk/spool/meetme STAFF = SIP/foo&SIP/bar CONSOLE = Console/dsp DOLLAR = $ ;; ;; SPECIAL CONTEXTS ;; [macro-dial] exten = s,1,Dial(${ARG1},${ARG2},j${ARG3}) exten = s,n,Goto(s-${DIALSTATUS},1) exten = s-BUSY,1,Voicemail(u${ARG1}) exten = s-BUSY,2,Busy exten = s-CONGESTION,1,Busy exten = s-CANCEL,1,Busy exten = s-ANSWER,1,Hangup exten = s-NOANSWER,1,Hangup exten = s-CHANUNAVAIL,1,Hangup exten = _s-.,1,Goto(s-NOANSWER,1) [default] ; currently empty ;; ;; EXTERNAL DIAL CONTEXT ;; [external] include = default ; external incoming SIP connection exten = example,hint,${STAFF} exten = example,1,Goto(s,1) exten = s,n,Ringing exten = s,n,Wait(1) exten = s,n,Answer exten = s,n,Macro(dial,${STAFF},30,gTtr) ; external to internal mapping exten = foo,hint,SIP/foo exten = foo,1,Goto(internal,foo,1) exten = bar,hint,SIP/bar exten = bar,1,Goto(internal,bar,1) ;; ;; INTERNAL DIAL CONTEXT ;; [internal] include = default ;include = parkedcalls ; internal to external mapping exten = example,1,Goto(external,example,1) ; internal user #11 exten = foo,hint,SIP/foo exten = foo,1,Goto(11,1) exten = 11,hint,SIP/foo exten = 11,1,Macro(dial,SIP/foo,30,gTtr) ; internal user #12 exten = bar,hint,SIP/bar exten = bar,1,Goto(12,1) exten = 12,hint,SIP/bar exten = 12,1,Macro(dial,SIP/bar,30,gTtr) ; internal group #20 exten = all,1,Goto(20,1) exten = 20/foo,1,Macro(dial,SIP/bar,60) exten = 20/bar,1,Macro(dial,SIP/foo,60) ; internal service #7 exten = conference,1,Goto(70,1) exten = _7[0-9],1,Set(confno=${EXTEN:1}) exten = _7[0-9],n,Goto(7,enter) exten = 7,1,Set(TIMEOUT(digit)=3) exten = 7,n,Set(TIMEOUT(response)=6) exten = 7,n(repeat),Read(confno,conf-getconfno,3) exten = 7,n,GotoIf($[${confno} >= 0 & ${confno} <= 9]?enter) exten = 7,n,Playback(conf-invalid) exten = 7,n,Goto(repeat) exten = 7,n(enter),Playback(conf-placeintoconf) exten = 7,n,SayNumber(${confno}) exten = 7,n,Set(SPYGROUP=conference-${confno}) exten = 7,n,Set(confopt=cCpsMvio) exten = 7,n,GotoIf($[${confno} >= 4 & ${confno} <= 9]?l1:l2) exten = 7,n(l1),Set(confopt=${confopt}i) exten = 7,n(l2),GotoIf($[${confno} >= 7 & ${confno} <= 9]?l3:l4) exten = 7,n(l3),Set(confopt=${confopt}r) exten = 7,n,Set(MEETME_RECORDINGFILE=${MEETME_SPOOLDIR}/meetme-conference-${confno}-${STRFTIME(${EPOCH},UTC,%Y%m%d%H%M)}) exten = 7,n,Set(MEETME_RECORDINGFORMAT=wav49) exten = 7,n,Playback(this-call-may-be-monitored-or-recorded) exten = 7,n(l4),MeetMe(${confno},${confopt}) exten = 7,n,Playback(beep) exten = 7,n,Wait(1) exten = 7,n,Playback(vm-goodbye) exten = 7,n,Hangup ; internal service #80/#* exten = voicemail,1,Goto(80,1) exten = 80,1,VoicemailMain(s${CALLERIDNUM}) exten = 80,n,Hangup exten = _*XX,1,Voicemail(u${EXTEN:1}) exten = _*XX,n,Hangup ; internal service #81 exten = echo,1,Goto(81,1) exten = 81,1,Answer exten = 81,n,Playback(demo-echotest) exten = 81,n,Wait(1) exten = 81,n,Playback(beep) exten = 81,n,Echo exten = 81,n,Wait(1) exten = 81,n,Playback(demo-echodone) exten = 81,n,Wait(1) exten = 81,n,Playback(vm-goodbye) exten = 81,n,Hangup ; internal service #82 exten = reload,1,Goto(82,1) exten = 82,1,Answer exten = 82,n,Read(pin,conf-getpin,4) exten = 82,n,GotoIf($[${pin} = 1234]?ok) exten = 82,n,Playback(conf-invalidpin) exten = 82,n,Hangup exten = 82,n(ok),Playback(beep) exten = 82,n,Wait(1) exten = 82,n,Playback(beep) exten = 82,n,Wait(1) exten = 82,n,Playback(beep) exten = 82,n,Wait(1) exten = 82,n,System(@l_prefix@/sbin/asterisk -rx reload) exten = 82,n,Hangup ; external outgoing ISDN (via SIP-to-ISDN gateway call-through) ;exten = _0.,1,Set(number=${EXTEN:1}) ;exten = _0.,n,Set(enum=${ENUMLOOKUP(+${number},ALL)}) ;exten = _0.,n,Set(enum_is_sip_url=${REGEX("^SIP/.+" ${enum})}) ;exten = _0.,n,GotoIf($["${enum_is_sip_url}" = "1"]?sip:isdn) ;exten = _0.,n(sip),Dial(${enum},60,o) ;exten = _0.,n,Goto(_0.,7) ;exten = _0.,n(isdn),Dial(SIP/gw,60,D(w1234w0#31#${number}#)) ;exten = _0.,n,Hangup ; internal outgoing SIP call (part 1/2) ; (notice sort-order trickery!) include = internal-siponly [internal-siponly] ; internal outgoing SIP call (part 2/2) ; (notice sort-order trickery!) exten = _.[@].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},60,o) exten = _.[@].,n,Hangup exten = _.[@].,102,Busy ;; ;; enum.conf -- Asterisk ENUM configuration ;; [general] search = e164.arpa search = e164.org ;; ;; musiconhold.conf -- Asterisk music-on-hold configuration ;; [default] mode = files directory = @l_prefix@/share/asterisk/moh ;; ;; voicemail.conf -- Asterisk voice mail configuration ;; [general] format = wav49 serveremail = example@example.com attach = yes maxmsg = 20 maxsecs = 180 minsecs = 3 maxgreet = 60 skipms = 3000 maxsilence = 10 silencethreshold = 128 maxlogins = 3 charset = ISO-8859-1 pbxskip = yes fromstring = Asterisk PBX usedirectory = yes emailsubject = [PBX]: New voice message ${VM_MSGNUM} in mailbox ${VM_MAILBOX} 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 pagerfromstring = Asterisk PBX pagersubject = New VM pagerbody = New ${VM_DUR} long msg in box ${VM_MAILBOX}\nfrom ${VM_CALLERID}, on ${VM_DATE} emaildateformat = %A, %d %B %Y %H:%M:%S %r mailcmd = @l_prefix@/sbin/sendmail -t [default] 1 = 1,Example,example@example.com,,|delete=yes ;; ;; meetme.conf -- Asterisk conference configuration ;; [general] audiobuffers = 32 ;schedule = yes ;logmembercount = yes ;fuzzystart = 300 ;earlyalert = 3600 ;endalert = 120 [rooms] conf = 0 conf = 1 conf = 2 conf = 3 conf = 4 conf = 5 conf = 6 conf = 7 conf = 8 conf = 9,1234,1234 ;; ;; codecs.conf -- Asterisk codec configuration ;; [speex] quality = 6 complexity = 4 enhancement = true vad = true vbr = true abr = 8000 vbr_quality = 5 dtx = false preprocess = false pp_vad = false pp_agc = false pp_agc_level = 8000 pp_denoise = false pp_dereverb = false pp_dereverb_decay = 0.4 pp_dereverb_level = 0.3 [plc] genericplc = true ;; ;; zapata.conf -- Asterisk Zaptel channel configuration ;; ; (an empty configuration is ok, but required even for Zaptel "ztdummy" only) [trunkgroups] [channels] ;; ;; capi.conf -- Asterisk ISDN/CAPI channel configuration ;; [general] nationalprefix = 0 internationalprefix = 00 rxgain = 1.0 txgain = 1.0 ulaw = no debug = yes [ISDN1] isdnmode = msn incomingmsn = * controller = 0 group = 1 ;prefix = 0 softdtmf = off relaxdtmf = off accountcode = context = external holdtype = local ;immediate = yes echocancel = no echosquelch = no ;echotail = 64 ;bridge = yes ;callgroup = 1 ;deflect = 1234567 devices = 2 ;wait_silence_samples = 1000 ;dtmf_generate = yes ;; ;; features.conf -- Asterisk Call Features configuration ;; [general] ;parkext = 700 ;parkpos = 701-720 ;context = parkedcalls ;; ;; jabber.conf -- Asterisk Jabber configuration ;; [general] ;debug = yes ;autoprune = yes ;autoregister = yes ;[asterisk] ;type = client ;serverhost = jabber.example.com ;username = asterisk@example.com/asterisk ;secret = asterisk ;priority = 1 ;port = 5222 ;usetls = no ;usesasl = no ;buddy = buddy@example.com ;status = available ;timeout = 100 ;; ;; indications.conf -- Asterisk Tone Indications ;; [general] country = us ; United States ; (according to tones in North America) [us] description = United States (US) ringcadence = 2000,4000 dial = 350+440 busy = 480+620/500,0/500 ring = 440+480/2000,0/4000 congestion = 480+620/250,0/250 callwaiting = 440/300,0/10000 dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 record = 1400/500,0/15000 info = !950/330,!1400/330,!1800/330,0 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 ; United Kingdom ; (partly according to BT SIN350) [uk] description = United Kingdom (UK) ringcadence = 400,200,400,2000 dial = 350+440 busy = 400/375,0/375 ring = 400+450/400,0/200,400+450/400,0/2000 congestion = 400/400,0/350,400/225,0/525 callwaiting = 400/100,0/4000 dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 record = 1400/500,0/60000 info = 950/330,0/15,1400/330,0/15,1800/330,0/1000 stutter = 350+440/750,440/750 ; Germany ; (according to http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf) [de] description = Germany (DE) ringcadence = 1000,4000 dial = 425 busy = 425/480,0/480 ring = 425/1000,0/4000 congestion = 425/240,0/240 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 dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 record = 1400/80,0/15000 info = 950/330,1400/330,1800/330,0/1000 stutter = 425+400 -----BEGIN CERTIFICATE----- MIIDNjCCAp+gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz bmFrZW9pbC5kb20wHhcNOTkxMDIxMTgyMTUxWhcNMDExMDIwMTgyMTUxWjCBpzEL MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92Vaat6CpIEEGue yG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9ziYon8jWsbK2aE +L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQABo24wbDAbBgNV HREEFDASgRB3d3dAc25ha2VvaWwuZG9tMDoGCWCGSAGG+EIBDQQtFittb2Rfc3Ns IGdlbmVyYXRlZCBjdXN0b20gc2VydmVyIGNlcnRpZmljYXRlMBEGCWCGSAGG+EIB AQQEAwIGQDANBgkqhkiG9w0BAQQFAAOBgQB6MRsYGTXUR53/nTkRDQlBdgCcnhy3 hErfmPNl/Or5jWOmuufeIXqCvM6dK7kW/KBboui4pffIKUVafLUMdARVV6BpIGMI 5LmVFK3sgwuJ01v/90hCt4kTWoT8YHbBLtQh7PzWgJoBAY7MJmjSguYCRt91sU4K s0dfWsdItkw4uQ== -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQC554Ro+VH0dJONqljPBW+C72MDNGNy9eXnzejXrczsHs3Pc92V aat6CpIEEGueyG29xagb1o7Gj2KRgpVYcmdx6tHd2JkFW5BcFVfWXL42PV4rf9zi Yon8jWsbK2aE+L6hCtcbxdbHOGZdSIWZJwc/1Vs70S/7ImW+Zds8YEFiAwIDAQAB AoGBAKTvnFGKSkUJnNQGe66I0wunGgCA3W7kbarAzEF2qKYhGlZhJQnn68RmVnAW pXUFvB+vmtu/+4J9OmWBJsGHFvC9xH32a0PWNr7APjAKrjAD8GWS7Z6BjuxN8QhD WlFMmpYhYIjT1jt7RNfs2gJGS2Ryu3zutUQGwtUB9Pou03dJAkEA6yttwVINFqQP utgUZ1JUHrN/rE73FzYsF/CwJp5d3rLHenZzLT0iW+kNDLUw/VpzYxK7bF2Qrt/3 QIUWwm2InQJBAMpe+jhNMJeLDLc3tG3zeithT0mFkuzWWmT2PJgQ0V78UWhw/fSn Qqnq7KBY/DNjlfhezrozLDD73/ccmha0Ax8CQQCBaBlyOtNm9QqO116K6HvPlRiZ Wa6QQEgNOG3GInknFZu9ILcKWsywZNLAfmgh0gcSqnkmDWqTQD0PbOz0Ok/lAkEA g24JrfUbwOASww9PhDUju/a36rTwhhZ0oKt3EP+jKsBOErmHhZP3bKlhQoZoTOu5 Y5QXSMChS7LZcwDFZkdE2wJATRgMbhErif+ZRwt9XJRdCo5Sx6ewyGyxjc5gvUyK KegHcgru/ZC3pGlujRD2LqxgJNAn5QTdW4LK8xVPFySTYg== -----END RSA PRIVATE KEY-----