This Chef cookbook installs Asterisk either from source or packages and configures its basic settings. It also optionally installs the UniMRCP module. It is intended that this cookbook remain small and perform only installation tasks, with downstream cookbooks depending on it to configure Asterisk for more specific tasks.
Tested on Ubuntu 14.04, 12.04 & 10.04; Debian 7.1; CentOS 6.5 and Fedora 19 & 20.
Add recipe[asterisk]
to your node's run list. Optionally add recipe[asterisk::unimrcp]
.
node['asterisk']['install_method']
- the method by which to install Asterisk. May bepackage
orsource
. This choice determines other applicable parameters. (defaultsource
)node['asterisk']['user']
- the user as which to run Asterisk (defaultasterisk
)node['asterisk']['group']
- the group as which to run Asterisk (defaultasterisk
)node['asterisk']['prefix']['bin']
- the prefix at which Asterisk is installed (default/usr
)node['asterisk']['prefix']['conf']
- the prefix at which Asterisk configuration is located (default/etc
)node['asterisk']['prefix']['state']
- the path at which Asterisk's runtime state located (default/var
)
node['asterisk']['source']['packages']
- the packages to be installed on which compilation depends (default%w{build-essential libssl-dev libcurl4-openssl-dev libncurses5-dev libnewt-dev libxml2-dev libsqlite3-dev uuid-dev}
)node['asterisk']['source']['version']
- the version of Asterisk to install (default11.6.0
)node['asterisk']['source']['checksum']
- the checksum of the source distribution (default80aa523bdaab71ce419022d8c851aaeda718dc5bbf5fe8cb99786da546dd8cee
)node['asterisk']['source']['url']
- the url from which to download Asterisk (defaultnil
)node['asterisk']['source']['install_samples']
- wether or not to install sample config (defaulttrue
)
node['asterisk']['package']['names']
- the Asterisk packages to install (default%w(asterisk asterisk-dev)
)node['asterisk']['package']['repo']['enable']
- if the Asterisk official repository should be enabled (defaultfalse
)
node['asterisk']['package']['repo']['url']
- the URL of the Asterisk official repo (defaulthttp://packages.asterisk.org/deb
)node['asterisk']['package']['repo']['distro']
- the distro to select from the repo (defaultnode['lsb']['codename']
)node['asterisk']['package']['repo']['branches']
- the branches of the repo to import (default%w(main)
)node['asterisk']['package']['repo']['keyserver']
- the keyserver against which to auth the repo (defaultpgp.mit.edu
)node['asterisk']['package']['repo']['key']
- the repo's public GPG key (default175E41DF
)
node['asterisk']['package']['repo']['urls']
- the names / URLs of the Asterisk official repos (default{ 'asterisk-11' => 'http://packages.asterisk.org/centos/$releasever/asterisk-11/$basearch/', 'asterisk-current' => 'http://packages.asterisk.org/centos/$releasever/current/$basearch/', }
)
node['asterisk']['sip']['context']
- (default'default'
)node['asterisk']['sip']['allowguest']
- (default'yes'
)node['asterisk']['sip']['allowoverlap']
- (default'no'
)node['asterisk']['sip']['allowtransfer']
- (default'no'
)node['asterisk']['sip']['realm']
- (default'mydomain.com'
)node['asterisk']['sip']['domain']
- (default'mydomain.com'
)node['asterisk']['sip']['bindport']
- (default5060
)node['asterisk']['sip']['bindaddr']
- (default'0.0.0.0'
)node['asterisk']['sip']['tcpenable']
- (default'yes'
)node['asterisk']['sip']['srvlookup']
- (default'yes'
)node['asterisk']['sip']['pedantic']
- (default'yes'
)node['asterisk']['sip']['tos_sip']
- (default'cs3'
)node['asterisk']['sip']['tos_audio']
- (default'ef'
)node['asterisk']['sip']['tos_video']
- (default'af41'
)node['asterisk']['sip']['maxexpiry']
- (default'3600'
)node['asterisk']['sip']['minexpiry']
- (default60
)node['asterisk']['sip']['defaultexpiry']
- (default120
)node['asterisk']['sip']['t1min']
- (default100
)node['asterisk']['sip']['notifymimetype']
- (default'text/plain'
)node['asterisk']['sip']['checkmwi']
- (default10
)node['asterisk']['sip']['buggymwi']
- (default'no'
)node['asterisk']['sip']['vmexten']
- (default'voicemail'
)node['asterisk']['sip']['disallow']
- (default'all'
)node['asterisk']['sip']['allow']
- (default%w(ulaw gsm ilbc speex)
)node['asterisk']['sip']['mohinterpret']
- (default'default'
)node['asterisk']['sip']['mohsuggest']
- (default'default'
)node['asterisk']['sip']['language']
- (default'en'
)node['asterisk']['sip']['relaxdtmf']
- (default'yes'
)node['asterisk']['sip']['trustrpid']
- (default'no'
)node['asterisk']['sip']['sendrpid']
- (default'yes'
)node['asterisk']['sip']['progressinband']
- (default'never'
)node['asterisk']['sip']['useragent']
- (default'Asterisk with Adhearsion'
)node['asterisk']['sip']['promiscredir']
- (default'no'
)node['asterisk']['sip']['usereqphone']
- (default'no'
)node['asterisk']['sip']['dtmfmode']
- (default'rfc2833'
)node['asterisk']['sip']['compactheaders']
- (default'yes'
)node['asterisk']['sip']['videosupport']
- (default'yes'
)node['asterisk']['sip']['maxcallbitrate']
- (default384
)node['asterisk']['sip']['callevents']
- (default'no'
)node['asterisk']['sip']['alwaysauthreject']
- (default'yes'
)node['asterisk']['sip']['g726nonstandard']
- (default'yes'
)node['asterisk']['sip']['matchexterniplocally']
- (default'yes'
)node['asterisk']['sip']['regcontext']
- (default'sipregistrations'
)node['asterisk']['sip']['rtptimeout']
- (default60
)node['asterisk']['sip']['rtpholdtimeout']
- (default300
)node['asterisk']['sip']['rtpkeepalive']
- (default60
)node['asterisk']['sip']['sipdebug']
- (default'yes'
)node['asterisk']['sip']['recordhistory']
- (default'yes'
)node['asterisk']['sip']['dumphistory']
- (default'yes'
)node['asterisk']['sip']['allowsubscribe']
- (default'no'
)node['asterisk']['sip']['subscribecontext']
- (default'default'
)node['asterisk']['sip']['notifyringing']
- (default'yes'
)node['asterisk']['sip']['notifyhold']
- (default'yes'
)node['asterisk']['sip']['limitonpeers']
- (default'yes'
)node['asterisk']['sip']['t38pt_udptl']
- (default'yes'
)node['asterisk']['public_ip']
- the public IP Asterisk listens on (defaultnode['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress']
)
node['asterisk']['manager']['enabled']
- wether or not to enable AMI (defaultyes
)node['asterisk']['manager']['port']
- the port on which to listen for AMI connections (default5038
)node['asterisk']['manager']['ip_address']
- the IP address on which to accept AMI connections (defaultnode['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress']
)node['asterisk']['manager']['webenabled']
- enable AMI web connections (defaultyes
)node['asterisk']['manager']['timestampevents']
- wether or not to timestamp AMI events (defaultyes
)node['asterisk']['manager']['username']
- the username with which to authenticate AMI connections (defaultmanager
)node['asterisk']['manager']['password']
- the password with which to authenticate AMI connections (defaultpassword
)node['asterisk']['manager']['deny']
- the ACL to deny access to (default0.0.0.0/0.0.0.0
)node['asterisk']['manager']['permit']
- the ACL to allow access to (default127.0.0.1/255.255.255.0
)node['asterisk']['manager']['read_perms']
- the AMI event classes to send to this user (default%w(system call log verbose command agent user config)
)node['asterisk']['manager']['write_perms']
- the AMI command classes to allow for this user (default%w(system call log verbose command agent user config)
)
node['asterisk']['unimrcp']['version']
- the version of UniMRCP to install (default1.1.0'
)node['asterisk']['unimrcp']['packages'] - the UniMRCP package dependencies to install (default %w{pkg-config build-essential}
)node['asterisk']['unimrcp']['install_dir']
- the directory in which to install UniMRCP (default/usr/local/unimrcp'
)node['asterisk']['unimrcp']['server_ip']
- the IP of the MRCP server to connect to (default127.0.0.1
)node['asterisk']['unimrcp']['server_port']
- the MRCP server port to connect to (default5060'
)node['asterisk']['unimrcp']['client_ip']
- the IP of the MRCP client (defaultnode['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress']
)node['asterisk']['unimrcp']['client_port']
- the MRCP client port (default25097'
)node['asterisk']['unimrcp']['rtp_ip']
- the client RTP IP to listen on (defaultnode['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress']
)node['asterisk']['unimrcp']['rtp_port_min']
- the minimum RTP port (default28000'
)node['asterisk']['unimrcp']['rtp_port_max']
- the maximum RTP port (default29000'
)
asterisk
- Fetches and installs Asteriskasterisk::unimrcp
- Fetches and installs mod_unimrcp