Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


asterisk (13) Versions 1.1.1

Installs/Configures Asterisk

cookbook 'asterisk', '~> 1.1.1', :supermarket
cookbook 'asterisk', '~> 1.1.1'
knife supermarket install asterisk
knife supermarket download asterisk
Quality 17%

Asterisk cookbook

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 be package or source. This choice determines other applicable parameters. (default source)
  • node['asterisk']['user'] - the user as which to run Asterisk (default asterisk)
  • node['asterisk']['group'] - the group as which to run Asterisk (default asterisk)
  • 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)

Source install attributes

  • 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 (default 11.6.0)
  • node['asterisk']['source']['checksum'] - the checksum of the source distribution (default 80aa523bdaab71ce419022d8c851aaeda718dc5bbf5fe8cb99786da546dd8cee)
  • node['asterisk']['source']['url'] - the url from which to download Asterisk (default nil)
  • node['asterisk']['source']['install_samples'] - wether or not to install sample config (default true)

Package install attributes

  • 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 (default false)

On Debian/Ubuntu systems:

  • node['asterisk']['package']['repo']['url'] - the URL of the Asterisk official repo (default
  • node['asterisk']['package']['repo']['distro'] - the distro to select from the repo (default node['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 (default
  • node['asterisk']['package']['repo']['key'] - the repo's public GPG key (default 175E41DF)

On RHEL/CentOS based systems:

  • node['asterisk']['package']['repo']['urls'] - the names / URLs of the Asterisk official repos (default { 'asterisk-11' => '$releasever/asterisk-11/$basearch/', 'asterisk-current' => '$releasever/current/$basearch/', })

SIP attributes

  • 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 '')
  • node['asterisk']['sip']['domain'] - (default '')
  • node['asterisk']['sip']['bindport'] - (default 5060)
  • node['asterisk']['sip']['bindaddr'] - (default '')
  • 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'] - (default 60)
  • node['asterisk']['sip']['defaultexpiry'] - (default 120)
  • node['asterisk']['sip']['t1min'] - (default 100)
  • node['asterisk']['sip']['notifymimetype'] - (default 'text/plain')
  • node['asterisk']['sip']['checkmwi'] - (default 10)
  • 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'] - (default 384)
  • 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'] - (default 60)
  • node['asterisk']['sip']['rtpholdtimeout'] - (default 300)
  • node['asterisk']['sip']['rtpkeepalive'] - (default 60)
  • 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 (default node['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress'])

Manager attributes

  • node['asterisk']['manager']['enabled'] - wether or not to enable AMI (default yes)
  • node['asterisk']['manager']['port'] - the port on which to listen for AMI connections (default 5038)
  • node['asterisk']['manager']['ip_address'] - the IP address on which to accept AMI connections (default node['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress'])
  • node['asterisk']['manager']['webenabled'] - enable AMI web connections (default yes)
  • node['asterisk']['manager']['timestampevents'] - wether or not to timestamp AMI events (default yes)
  • node['asterisk']['manager']['username'] - the username with which to authenticate AMI connections (default manager)
  • node['asterisk']['manager']['password'] - the password with which to authenticate AMI connections (default password)
  • node['asterisk']['manager']['deny'] - the ACL to deny access to (default
  • node['asterisk']['manager']['permit'] - the ACL to allow access to (default
  • 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))

UniMRCP attributes

  • node['asterisk']['unimrcp']['version'] - the version of UniMRCP to install (default 1.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 (default
  • node['asterisk']['unimrcp']['server_port'] - the MRCP server port to connect to (default 5060')
  • node['asterisk']['unimrcp']['client_ip'] - the IP of the MRCP client (default node['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress'])
  • node['asterisk']['unimrcp']['client_port'] - the MRCP client port (default 25097')
  • node['asterisk']['unimrcp']['rtp_ip'] - the client RTP IP to listen on (default node['ec2'] ? node['ec2']['public_ipv4'] : node['ipaddress'])
  • node['asterisk']['unimrcp']['rtp_port_min'] - the minimum RTP port (default 28000')
  • node['asterisk']['unimrcp']['rtp_port_max'] - the maximum RTP port (default 29000')


  • asterisk - Fetches and installs Asterisk
  • asterisk::unimrcp - Fetches and installs mod_unimrcp


[Ben Langfeld](@benlangfeld)

Dependent cookbooks

apt ~> 2.2
build-essential >= 0.0.0
unimrcp ~> 1.0
yum ~> 3.0
yum-epel >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.



  • Attribute typo in template


  • Add support for Ubuntu 14.04
  • Add support for Fedora
  • Make sure sox is installed.
  • Use correct lib_dir on RHEL/Fedora platforms, where lib != lib64
  • Use EPEL packages to install Asterisk by default
  • Fix a broken guard to allow installation from upstream packages


  • Unlock dependency on build-essential for broader compatibility
  • Update unimrcp dependency to stable release


  • CentOS support


  • Use UniMRCP cookbook to install UniMRCP and its Asterisk modules


  • Ensure sox is installed for mixing recordings


  • Allow configuring AMI event filters via attributes


  • Install latest Asterisk from source


  • Don't recompile UniMRCP after it's already successfully built


  • More sensible IP address attribute defaults


  • Fix and test building SIP peers and dialplan contexts from databags without search


  • Better testing and documentation
  • No longer test on CentOS until someone asks for it
  • Build in same directories for Package and Source installs
  • Fix builds, including UniMRCP


  • First release

Collaborator Number Metric

1.1.1 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

1.1.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

1.1.1 failed this metric

FC064: Ensure issues_url is set in metadata: asterisk/metadata.rb:1
FC065: Ensure source_url is set in metadata: asterisk/metadata.rb:1
FC066: Ensure chef_version is set in metadata: asterisk/metadata.rb:1
FC069: Ensure standardized license defined in metadata: asterisk/metadata.rb:1
FC104: Use the :run action in ruby_block instead of :create: asterisk/recipes/source.rb:20
FC121: Cookbook depends on cookbook made obsolete by Chef 14: asterisk/metadata.rb:1
FC122: Use the build_essential resource instead of the recipe: asterisk/recipes/source.rb:3
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

1.1.1 passed this metric

Testing File Metric

1.1.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

1.1.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number