Adhearsion is an open-source voice application development framework. Adhearsion users write applications atop the framework with Ruby and call into their code.
Adhearsion rests above a lower-level telephony platform, for example Asterisk, FreeSWITCH or Voxeo PRISM, and provides a framework for integrating with various resources, such as SQL, LDAP and XMPP (Jabber).
- Simple Ruby code
- Flexible CallControllers to handle calls
- High-level media handling constructs
- Simple interaction between calls
- Self-documenting configuration engine
- Support for plugins and other code reuse
- Integration with databases, web APIs, etc
- Event monitoring, async communication
- Ruby 2.2.0+ or JRuby 18.104.22.168+
- ruby_speech dependencies
- A VoIP platform:
- Asterisk 11+
- FreeSWITCH 1.4+
- An interest in building cool new things
Ruby 1.9 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 2.2 as a matter of urgency in order to continue receiving security fixes.
gem install adhearsion
An Adhearsion application can be as simple as this:
answer say 'Hello, and thank you for your call. We will put you through to the front desk now...' dial 'tel:+18005550199' hangup
For more examples, check out the website.
These Open Source projects are also maintained by members of the Adhearsion team and may be useful when developing Adhearsion apps:
- Telephony-Dev-Box is a system for creating virtual machines that will preconfigure Adhearsion, Asterisk, FreeSWITCH and PRISM together. Just add a SIP client and start calling your app!
- SippyCup makes generating SIPp profiles and RTP media easy. Useful for load testing your apps and telephony infrastructure.
Original author: Jay Phillips
Adhearsion has a set of contribution guidelines which help to smooth the contribution process. There is a pre-commit hook that runs encoding checks available in pre-commit. To use it, please copy it to .git/hooks/pre-commit and make it executable.
Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).