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, FreeSWTICH 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 1.9.2+ or JRuby 1.7.0+
- A VoIP platform:
- Asterisk 1.8+
- FreeSWITCH
- A Rayo server (Prism 11+ with rayo-server, or FreeSWITCH with mod_rayo)
- An interest in building cool new things
* Support for Ruby 1.9.2 is deprecated, and requires locking your application to ActiveSupport 3.x as follows:
gem 'active_support', '~> 3.0'
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.
Visit Adhearsion's website for code examples and more information about the project. Also checkout the Adhearsion wiki on Github for community documentation.
If you're having trouble, you may want to try asking your question on the IRC channel (#adhearsion on irc.freenode.net), mailing list or, if you've found a bug, report it on the bug tracker.
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.
Core team:
Contributors: https://github.com/adhearsion/adhearsion/contributors
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-2013 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).