State of the Art Telephony
                                           with Ruby
Who has tried to build a voice app?

Who wants to build a voice app?            Ben Klang
                                   Founder, Mojo Lingo
Anyone running voice apps in production?

                                  bklang@mojolingo.com
                                  Twitter/Github: @bklang
But wait...
telephony is HARD right??
  Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
Code Sample (comfort
       zone)



                 Don’t Panic
More than a library

* Threads
* Events
* Plugins
* Daemonization
A voice application development
          framework


                         More than a library

                         * Threads
                         * Events
                         * Plugins
                         * Daemonization
A voice application development
            framework

✴ Independent from, but compatible
            with, Rails    More than a library

                           * Threads
                           * Events
                           * Plugins
                           * Daemonization
A voice application development
             framework

 ✴ Independent from, but compatible
             with, Rails    More than a library

                            * Threads
                            * Events
                            * Plugins
                            * Daemonization
Voice applications the Ruby Way
Adhearsion
 Features
Adhearsion
       Features
• Easy-to-use DSL
Adhearsion
       Features
• Easy-to-use DSL
• Native Ruby Code
Adhearsion
        Features
• Easy-to-use DSL
• Native Ruby Code
• Powerful Eventing System
Advanced Voice
   Features
Advanced Voice
          Features
• High-level Constructs (Menus, Queues,
  Conferences)
Advanced Voice
          Features
• High-level Constructs (Menus, Queues,
  Conferences)

• Text-to-Speech
Advanced Voice
          Features
• High-level Constructs (Menus, Queues,
  Conferences)

• Text-to-Speech
• Voice Recognition
Advanced Voice
          Features
• High-level Constructs (Menus, Queues,
  Conferences)

• Text-to-Speech
• Voice Recognition
• Call Progress/Answering Machine Detection
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                        Architecture
                                  Tropo Pros:
                                  * Easy to set up
* Eventing System                 * Awesome TTS/ASR
                                  * SMS & International
Cons:
* Tricky to set up/Requires       Cons:
hardware                          * No manager events
* No TTS/ASR                      * No built-in recordings

                                  Note: AGItate first written 1
                                  year ago
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                        Architecture
                                  Tropo Pros:
                                  * Easy to set up
* Eventing System                 * Awesome TTS/ASR
                                  * SMS & International
Cons:
* Tricky to set up/Requires       Cons:
hardware                          * No manager events
* No TTS/ASR                      * No built-in recordings

                                  Note: AGItate first written 1
                                  year ago
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                        Architecture
                                  Tropo Pros:
                                  * Easy to set up
* Eventing System                 * Awesome TTS/ASR
                                  * SMS & International
Cons:
* Tricky to set up/Requires       Cons:
hardware                          * No manager events
* No TTS/ASR                      * No built-in recordings

                                  Note: AGItate first written 1
                                  year ago
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                        Architecture
                                  Tropo Pros:
                                  * Easy to set up
* Eventing System                 * Awesome TTS/ASR
                                  * SMS & International
Cons:
* Tricky to set up/Requires       Cons:
hardware                          * No manager events
* No TTS/ASR                      * No built-in recordings

                                  Note: AGItate first written 1
                                  year ago
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                        Architecture
                                  Tropo Pros:
                                  * Easy to set up
* Eventing System                 * Awesome TTS/ASR
                                  * SMS & International
Cons:
* Tricky to set up/Requires       Cons:
hardware                          * No manager events
* No TTS/ASR                      * No built-in recordings

                                  Note: AGItate first written 1
                                  year ago
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                         Architecture
                                   Tropo Pros:
                                   * Easy to set up
* Eventing System                  * Awesome TTS/ASR
                                   * SMS & International
Cons:
* Tricky to set up/Requires        Cons:
hardware                           * No manager events
* No TTS/ASR                       * No built-in recordings

                                   Note: AGItate first written 1
                                   year ago




                   SQL
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                         ArchitectureTropo Pros:
                                     * Easy to set up
* Eventing System                    * Awesome TTS/ASR
                                     * SMS & International
Cons:
* Tricky to set up/Requires          Cons:
hardware                             * No manager events
* No TTS/ASR                         * No built-in recordings

                                     Note: AGItate first written 1
                                     year ago




                   SQL        LDAP
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                         Architecture              Tropo Pros:
                                                   * Easy to set up
* Eventing System                                  * Awesome TTS/ASR
                                                   * SMS & International
Cons:
* Tricky to set up/Requires                        Cons:
hardware                                           * No manager events
* No TTS/ASR                                       * No built-in recordings

                                                   Note: AGItate first written 1
                                                   year ago




                   SQL        LDAP   XMPP/Jabber
Adhearsion
Asterisk Pros:
* Run on your server
* Widely Deployed
                         Architecture              Tropo Pros:
                                                   * Easy to set up
* Eventing System                                  * Awesome TTS/ASR
                                                   * SMS & International
Cons:
* Tricky to set up/Requires                        Cons:
hardware                                           * No manager events
* No TTS/ASR                                       * No built-in recordings

                                                   Note: AGItate first written 1
                                                   year ago




                                     XMPP/Jabber             Web
                   SQL        LDAP                       REST/JSON/XML
Announcing...
Adhearsion 1.2.0
Quick Start
The Dialplan
Adhearsion
 Console
Components
Components
      AhnHub
http://ahnhub.com
Event Handling
Event Handling

  770.873.8900
adhearsion.com/ahnconf2011
http://adhearsion.com
        Twitter/Github: @adhearsion


•               Ben Klang
    bklang@mojolingo.com   Twitter/Github:
                   @bklang

             spkr8.com/t/7816

State of the Art Telephony with Ruby

  • 1.
    State of theArt Telephony with Ruby Who has tried to build a voice app? Who wants to build a voice app? Ben Klang Founder, Mojo Lingo Anyone running voice apps in production? bklang@mojolingo.com Twitter/Github: @bklang
  • 2.
    But wait... telephony isHARD right?? Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
  • 3.
    Code Sample (comfort zone) Don’t Panic
  • 4.
    More than alibrary * Threads * Events * Plugins * Daemonization
  • 5.
    A voice applicationdevelopment framework More than a library * Threads * Events * Plugins * Daemonization
  • 6.
    A voice applicationdevelopment framework ✴ Independent from, but compatible with, Rails More than a library * Threads * Events * Plugins * Daemonization
  • 7.
    A voice applicationdevelopment framework ✴ Independent from, but compatible with, Rails More than a library * Threads * Events * Plugins * Daemonization Voice applications the Ruby Way
  • 8.
  • 9.
    Adhearsion Features • Easy-to-use DSL
  • 10.
    Adhearsion Features • Easy-to-use DSL • Native Ruby Code
  • 11.
    Adhearsion Features • Easy-to-use DSL • Native Ruby Code • Powerful Eventing System
  • 12.
  • 13.
    Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences)
  • 14.
    Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech
  • 15.
    Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech • Voice Recognition
  • 16.
    Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech • Voice Recognition • Call Progress/Answering Machine Detection
  • 17.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago
  • 18.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago
  • 19.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago
  • 20.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago
  • 21.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago
  • 22.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago SQL
  • 23.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed ArchitectureTropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago SQL LDAP
  • 24.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago SQL LDAP XMPP/Jabber
  • 25.
    Adhearsion Asterisk Pros: * Runon your server * Widely Deployed Architecture Tropo Pros: * Easy to set up * Eventing System * Awesome TTS/ASR * SMS & International Cons: * Tricky to set up/Requires Cons: hardware * No manager events * No TTS/ASR * No built-in recordings Note: AGItate first written 1 year ago XMPP/Jabber Web SQL LDAP REST/JSON/XML
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
    Components AhnHub http://ahnhub.com
  • 32.
  • 33.
    Event Handling 770.873.8900
  • 34.
  • 35.
    http://adhearsion.com Twitter/Github: @adhearsion • Ben Klang bklang@mojolingo.com Twitter/Github: @bklang spkr8.com/t/7816