Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 8 commits behind adhearsion:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Telephony Dev Box


  1. Install virtualbox
  2. Install vagrant
  3. Install Chef-DK
  4. Clone this repository (git clone if you have git installed, or download an archive.
  5. Now cd into the cloned repository by doing: cd Telephony-Dev-Box
  6. Add the vagrant-berkshelf plugin and vagrant-omnibus to your Vagrant installation by doing vagrant plugin install vagrant-berkshelf && vagrant plugin install vagrant-omnibus.
  7. Build the VMs: This project ships with configuration for various telephony engines: Asterisk and FreeSWITCH, along with a box with Lumenvox TTS & ASR deployed and a load test box (containing SIPp + Sippy Cup). If you simply type vagrant up then one VM will be created for each engine, as well as a VM containing a working Adhearsion environment. However, this will create five virtual machines! You can easily bring up just the instance(s) you want by typing any combination of the below commands:
  • vagrant up adhearsion
  • vagrant up asterisk
  • vagrant up freeswitch
  • vagrant up lumenvox
  • vagrant up loadtest

One thing to note is that the "adhearsion" VM is especially optional. Most of the Mojo Lingo developers simply run Adhearsion locally. We provided a VM for those users who had a difficult time getting a Ruby build running on their system. If you already have a functional Ruby environment (with RubyGems) then feel free to just gem install adhearsion and keep going.


Create an Adhearsion app

Configure it to connect to the platform of your choice using one of the following samples:

# Use with Rayo (FreeSWITCH)
config.punchblock.username = "" # Your XMPP JID for use with Rayo
config.punchblock.password = "1" # Your XMPP password
# Use with Asterisk
config.punchblock.platform = :asterisk # Use Asterisk
config.punchblock.username = "manager" # Your AMI username
config.punchblock.password = "password" # Your AMI password = "" # Your AMI host


Boot your Adhearsion app and call in. You can dial usera@[asterisk/freeswitch], or any number from a registered endpoint.

Register your softphone (optional)

The Asterisk and FreeSWITCH VMs contain preconfigured "usera" and "userb" accounts for softphones. Use the following credentials to register:

  • Username: usera@[asterisk/freeswitch] / Password: usera
  • Username: userb@[asterisk/freeswitch] / Password: userb

Base Boxes

This project includes base box templates for use on Mojo Lingo projects. These base boxes are published at, and include Chef 11. Ubuntu 12.04 and CentOS 6.4 boxes are available, both 64bit. The main difference between these and other publicly available base boxes is the visibility into their build mechanism and that they never change after they are published - new builds always have a new build number in their URL; this way you can be sure of base box stability.

Common Issues

If your locale is POSIX or C (primarily computers in the United States, or computers using the default US English locale), you may see an error similar to the following:

stderr: /opt/chefdk/embedded/lib/ruby/2.1.0/json/common.rb:155:in `encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError)

To fix this, simply set a UTF locale:

LC_ALL=en_US.UTF-8 vagrant up


Development environments for supported Adhearsion telephony engines using Vagrant






No releases published


No packages published


  • Ruby 65.7%
  • Shell 31.3%
  • Makefile 3.0%