/adhearsion

A Ruby framework for building telephony applications

Primary LanguageRubyMIT LicenseMIT

Gem Version Build Status Dependency Status Code Climate Coverage Status Inline docs

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, FreeSWITCH 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 2.2.0+ or JRuby 9.0.0.0+
  • ruby_speech dependencies
  • A VoIP platform:
    • Asterisk 11+
    • A Rayo server (Prism 11+ with rayo-server, or FreeSWITCH with mod_rayo)
  • 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.

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).