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