Adhearsion
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).
Features
- 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
Requirements
- Ruby 1.9.3+ or JRuby 1.7.0+
- ruby_speech dependencies
- 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
Ruby 1.9.2 is no longer supported by Adhearsion or the Ruby core team. You should upgrade to Ruby 1.9.3 or Ruby 2 as a matter of urgency in order to continue receiving security fixes.
Install
gem install adhearsion
Examples
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.
Documentation
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.
Related Projects
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.
Authors
Core team:
Contributors: https://github.com/adhearsion/adhearsion/contributors
Original author: Jay Phillips
Contributions
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
Copyright (c) 2011-2014 Adhearsion Foundation Inc. MIT LICENSE (see LICENSE for details).