;; ;; asterisk.conf -- Asterisk master configuration ;; [directories] astetcdir = @l_prefix@/etc/asterisk astmoddir = @l_prefix@/lib/asterisk/modules astagidir = @l_prefix@/lib/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 [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 = yes 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 = pbx_gtkconsole.so ; not wished noload = pbx_kdeconsole.so ; not wished noload = app_intercom.so ; obsolete noload = chan_modem.so ; obsolete noload = chan_modem_aopen.so ; obsolete noload = chan_modem_bestdata.so ; obsolete noload = chan_modem_i4l.so ; obsolete noload = chan_alsa.so ; not wished noload = chan_oss.so ; not wished noload = chan_iax2.so ; not wished noload = pbx_dundi.so ; not yet wished noload = chan_agent.so ; not yet wished noload = chan_mgcp.so ; not yet wished noload = chan_skinny.so ; not yet wished noload = app_queue.so ; not yet wished noload = cdr_custom.so ; not yet wished noload = pbx_ael.so ; not yet wished noload = app_meetme.so ; not yet wished load = app_conference.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 bindport = 5060 bindaddr = 127.0.0.1 srvlookup = yes useclientcode = yes allowguest = yes canreinvite = no disallow = all allow = speex allow = g726 allow = ulaw allow = alaw allow = gsm context = external ;register = NNNNNNN:XXXXXX:NNNNNNN@sipgate.de/s ;[sipgate] ;type = peer ;username = 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 ;username = 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 [foo] type = friend username = 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 [bar] type = friend username = 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 ;; ;; 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 ;; ;; 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 ; 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=cps) 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}-${TIMESTAMP}) 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(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,Echo exten = 81,n,Playback(demo-echodone) 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 = quietmp3 directory = @l_prefix@/share/asterisk/mohmp3 ;; ;; voicemail.conf -- Asterisk voice mail configuration ;; [general] format = wav49 serveremail = example@example.com attach = yes maxmsg = 20 maxmessage = 180 minmessage = 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 = 16 [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 = 4 complexity = 3 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 Zap channel configuration ;; ; (an empty configuration is ok, but required even for dummy Zaptel support) ;; ;; 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