SlideShare a Scribd company logo
1 of 85
Download to read offline
Talking to Rails

     Ben Langfeld
 Adhearsion Core Team
      Mojo Lingo

       @benlangfeld
blangfeld@adhearsion.com
Why voice?
Why voice?
•Many more people have access to a telephone than
 have access to the internet
Why voice?
•Many more people have access to a telephone than
 have access to the internet

•Many people still prefer voice-based interactions
Why voice?
•Many more people have access to a telephone than
 have access to the internet

•Many people still prefer voice-based interactions

•Voice enables a multitude of interesting use-cases
 which text and images cannot
Why voice?
•Many more people have access to a telephone than
 have access to the internet

•Many people still prefer voice-based interactions

•Voice enables a multitude of interesting use-cases
 which text and images cannot

•Because having a computer make a phone ring is
 still cool
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)
Code Sample (comfort zone)
Code Sample (comfort zone)
A voice application development
          framework
A voice application development
          framework

Independent from, but compatible
          with, Rails
A voice application development
             framework

   Independent from, but compatible
             with, Rails


Voice applications the Ruby Way
Features

    Not just compiled down to some kind of crazy configuration, but we have full access
    to both the ruby environment and the call at all times




         Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




                                 Third largest mobile carrier in the world
Features
•Easy-to-use DSL
                       Not just compiled down to some kind of crazy configuration, but we have full access
                       to both the ruby environment and the call at all times




                            Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




                                                    Third largest mobile carrier in the world
Features
•Easy-to-use DSL
•Idiomatic Ruby code
                       Not just compiled down to some kind of crazy configuration, but we have full access
                       to both the ruby environment and the call at all times




                            Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




                                                    Third largest mobile carrier in the world
Features
•Easy-to-use DSL
•Idiomatic Ruby code
                        Not just compiled down to some kind of crazy configuration, but we have full access
                        to both the ruby environment and the call at all times




•Powerful Eventing System    Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




                                                     Third largest mobile carrier in the world
Features
•Easy-to-use DSL
•Idiomatic Ruby code
                        Not just compiled down to some kind of crazy configuration, but we have full access
                        to both the ruby environment and the call at all times




•Powerful Eventing System    Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




•Plugins to solve common problems




                                                     Third largest mobile carrier in the world
Features
•Easy-to-use DSL
•Idiomatic Ruby code
                        Not just compiled down to some kind of crazy configuration, but we have full access
                        to both the ruby environment and the call at all times




•Powerful Eventing System    Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




•Plugins to solve common problems
•A very helpful community


                                                     Third largest mobile carrier in the world
Features
•Easy-to-use DSL
•Idiomatic Ruby code
                        Not just compiled down to some kind of crazy configuration, but we have full access
                        to both the ruby environment and the call at all times




•Powerful Eventing System    Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc




•Plugins to solve common problems
•A very helpful community
•Sponsorship from       and
                                                     Third largest mobile carrier in the world
Advanced Voice Features
Advanced Voice Features

High-level constructs
(Menus, Queues,
Conferences)
Advanced Voice Features

High-level constructs
(Menus, Queues,         DTMF gathering &
Conferences)            voice recognition
Advanced Voice Features

High-level constructs
(Menus, Queues,             DTMF gathering &
Conferences)                voice recognition


           Text-to-Speech
Advanced Voice Features

High-level constructs
(Menus, Queues,             DTMF gathering &
Conferences)                voice recognition


           Text-to-Speech
                            Answering
                            Machine Detection
Advanced Voice Features

High-level constructs
(Menus, Queues,             DTMF gathering &
Conferences)                voice recognition


           Text-to-Speech
                            Answering
                            Machine Detection
  Call Progress
Adhearsion Applied
Adhearsion Applied
 Call centre workflow
  optimisation and
      integration
Adhearsion Applied
 Call centre workflow
  optimisation and     Sales force automation
      integration
Adhearsion Applied
 Call centre workflow
  optimisation and     Sales force automation
      integration




 Conferencing
 applications
Adhearsion Applied
 Call centre workflow
  optimisation and     Sales force automation
      integration


                            Translation
                             services


 Conferencing
 applications
Adhearsion Applied
 Call centre workflow
  optimisation and     Sales force automation
      integration


                            Translation
                             services


 Conferencing
 applications               Robo-calling
Adhearsion Applied
 Call centre workflow
  optimisation and     Sales force automation
      integration


     Polling                Translation
                             services


 Conferencing
 applications               Robo-calling
Adhearsion Applied
 Call centre workflow
  optimisation and           Sales force automation
      integration


     Polling                      Translation
                       IVR         services


 Conferencing
 applications                     Robo-calling
Adhearsion Platforms

                       2008


                       2010



                       2011
Adhearsion Platforms

                       2008


                       2010



                       2011
Adhearsion Platforms

                       2008


                       2010



                       2011
Adhearsion Platforms

                       2008


                       2010



                       2011
Adhearsion Architecture   Tropo Pros:
                           * Easy to set up
                           * Awesome TTS/ASR
                           * SMS & International

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

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

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

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

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

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




                 SQL
Adhearsion Architecture      Tropo Pros:
                              * Easy to set up
                              * Awesome TTS/ASR
                              * SMS & International

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




                 SQL   LDAP
Adhearsion Architecture                    Tropo Pros:
                                            * Easy to set up
                                            * Awesome TTS/ASR
                                            * SMS & International

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




                 SQL   LDAP   XMPP/Jabber
Adhearsion Architecture                    Tropo Pros:
                                            * Easy to set up
                                            * Awesome TTS/ASR
                                            * SMS & International

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




                              XMPP/Jabber           Web
                 SQL   LDAP                     REST/JSON/XML
Why Adhearsion?
Why Adhearsion?
•Easy code reuse
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
 load on your Rails app from an HTTP-based API
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
 load on your Rails app from an HTTP-based API
•Runs on Asterisk, so can integrate with an existing
 PBX
Why Adhearsion?
•Easy code reuse
•A natural DSL which is easy to write to
•Rich inter-call operation within the process
•Brings modern development practices to telephony
•No need for complex state-machines and constant
 load on your Rails app from an HTTP-based API
•Runs on Asterisk, so can integrate with an existing
 PBX
•Adhearsion democratises telephony development
A (contrived) example problem
A (contrived) example problem
•Everyone loves a spontaneous conference call
A (contrived) example problem
•Everyone loves a spontaneous conference call

•Getting people in is tricky
A (contrived) example problem
•Everyone loves a spontaneous conference call

•Getting people in is tricky

•Not everyone likes the phone ringing
A (contrived) example problem
•Everyone loves a spontaneous conference call

•Getting people in is tricky

•Not everyone likes the phone ringing

•Not everyone is available
A solution
A solution
•Simple rails app for managing contacts
A solution
•Simple rails app for managing contacts

•Select contacts to call
A solution
•Simple rails app for managing contacts

•Select contacts to call

•System asks contacts via Jabber if they are available
A solution
•Simple rails app for managing contacts

•Select contacts to call

•System asks contacts via Jabber if they are available

•Will read apologies via Jabber into the conference
Code Demo
Adhearsion 2.0
Adhearsion 2.0
• The next major evolution of Adhearsion
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)

  • Core architecture overhaul
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)

  • Core architecture overhaul

  • A reduction in internal complexity and line-count
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)

  • Core architecture overhaul

  • A reduction in internal complexity and line-count

  • Scope reduction
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)

  • Core architecture overhaul

  • A reduction in internal complexity and line-count

  • Scope reduction

  • Overhaul of the plugin system
Adhearsion 2.0
• The next major evolution of Adhearsion

• Many improvements including:

  • Truly cross-platform (Asterisk, Tropo & Rayo)

  • Core architecture overhaul

  • A reduction in internal complexity and line-count

  • Scope reduction

  • Overhaul of the plugin system

  • Modular application constructs (voicemail, queueing, etc) as plugins
Adhearsion really far out
Adhearsion really far out


•Adhearsion 1.x - Asterisk applications
Adhearsion really far out


•Adhearsion 1.x - Asterisk applications

•Adhearsion 2.x - Voice applications
Adhearsion really far out


•Adhearsion 1.x - Asterisk applications

•Adhearsion 2.x - Voice applications

•Adhearsion 3.x - Real-time communications
Questions?

   adhearsion.com
    @Adhearsion

http://spkr8.com/t/8602

More Related Content

What's hot

Genband Avaya 1120 datasheet
Genband Avaya 1120 datasheetGenband Avaya 1120 datasheet
Genband Avaya 1120 datasheetGENBANDcorporate
 
Polycom sound station ip5000 data sheet
Polycom sound station ip5000 data sheetPolycom sound station ip5000 data sheet
Polycom sound station ip5000 data sheetbest4systems
 
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...Brad Fortner
 
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)Chris Adamson
 
Cloud video Conferencing and calling, StarLeaf overview june 2013 eur
Cloud video Conferencing and calling, StarLeaf overview june 2013 eurCloud video Conferencing and calling, StarLeaf overview june 2013 eur
Cloud video Conferencing and calling, StarLeaf overview june 2013 eurmicheledurban
 
respond_to :voice - the convergence of voice and web interfaces with Rails an...
respond_to :voice - the convergence of voice and web interfaces with Rails an...respond_to :voice - the convergence of voice and web interfaces with Rails an...
respond_to :voice - the convergence of voice and web interfaces with Rails an...jpalley
 
VoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingVoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingThousandEyes
 
Audio and Video streaming.ppt
Audio and Video streaming.pptAudio and Video streaming.ppt
Audio and Video streaming.pptVideoguy
 
A look into post production workflow management
A look into post production workflow managementA look into post production workflow management
A look into post production workflow managementUtsab Bandopadhyay
 
Streaming Overview Final.ppt
Streaming Overview Final.pptStreaming Overview Final.ppt
Streaming Overview Final.pptVideoguy
 
Voip over eoip
Voip over eoipVoip over eoip
Voip over eoipteja reddy
 

What's hot (13)

Genband Avaya 1120 datasheet
Genband Avaya 1120 datasheetGenband Avaya 1120 datasheet
Genband Avaya 1120 datasheet
 
Polycom sound station ip5000 data sheet
Polycom sound station ip5000 data sheetPolycom sound station ip5000 data sheet
Polycom sound station ip5000 data sheet
 
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
 
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)
 
Cloud video Conferencing and calling, StarLeaf overview june 2013 eur
Cloud video Conferencing and calling, StarLeaf overview june 2013 eurCloud video Conferencing and calling, StarLeaf overview june 2013 eur
Cloud video Conferencing and calling, StarLeaf overview june 2013 eur
 
Voip In College
Voip In CollegeVoip In College
Voip In College
 
respond_to :voice - the convergence of voice and web interfaces with Rails an...
respond_to :voice - the convergence of voice and web interfaces with Rails an...respond_to :voice - the convergence of voice and web interfaces with Rails an...
respond_to :voice - the convergence of voice and web interfaces with Rails an...
 
VoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingVoIP Monitoring and Troubleshooting
VoIP Monitoring and Troubleshooting
 
Maior Technical Profile
Maior Technical ProfileMaior Technical Profile
Maior Technical Profile
 
Audio and Video streaming.ppt
Audio and Video streaming.pptAudio and Video streaming.ppt
Audio and Video streaming.ppt
 
A look into post production workflow management
A look into post production workflow managementA look into post production workflow management
A look into post production workflow management
 
Streaming Overview Final.ppt
Streaming Overview Final.pptStreaming Overview Final.ppt
Streaming Overview Final.ppt
 
Voip over eoip
Voip over eoipVoip over eoip
Voip over eoip
 

Similar to Talking to Rails with Adhearsion

Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionMojo Lingo
 
Talking to Rails - MagRails 2011
Talking to Rails - MagRails 2011Talking to Rails - MagRails 2011
Talking to Rails - MagRails 2011Ben Langfeld
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Mojo Lingo
 
Introduction to IP telephony & VoIP
Introduction to IP telephony & VoIP Introduction to IP telephony & VoIP
Introduction to IP telephony & VoIP Kaushal Bhavsar
 
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...Brad Fortner
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionOlle E Johansson
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with AdhearsionMojo Lingo
 
CCXML For Advanced Communications Applications
CCXML For Advanced Communications ApplicationsCCXML For Advanced Communications Applications
CCXML For Advanced Communications ApplicationsVoxeo Corp
 
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015VOIP2DAY
 
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9Keith Brooks
 
SIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsSIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsRADVISION Ltd.
 
SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017Lorenzo Miniero
 
SIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasSIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasPaloSanto Solutions
 
[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic
[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic
[DSC Europe 22] Make some noise for AI in JavaScript - Sead DelalicDataScienceConferenc1
 
Voicebasedsrs 130319103050-phpapp02
Voicebasedsrs 130319103050-phpapp02Voicebasedsrs 130319103050-phpapp02
Voicebasedsrs 130319103050-phpapp02Lokesh Loki
 

Similar to Talking to Rails with Adhearsion (20)

Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with Adhearsion
 
Ruby Conf 2011
Ruby Conf 2011Ruby Conf 2011
Ruby Conf 2011
 
Talking to Rails - MagRails 2011
Talking to Rails - MagRails 2011Talking to Rails - MagRails 2011
Talking to Rails - MagRails 2011
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Introduction to IP telephony & VoIP
Introduction to IP telephony & VoIP Introduction to IP telephony & VoIP
Introduction to IP telephony & VoIP
 
Asterisk
Asterisk Asterisk
Asterisk
 
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 
CCXML For Advanced Communications Applications
CCXML For Advanced Communications ApplicationsCCXML For Advanced Communications Applications
CCXML For Advanced Communications Applications
 
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015
Interfaces de Voz avanzadas con VoiceXML - Iván Sixto | VoIP2DAY 2015
 
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9
JMP206 : Calling Home: Enabling the IBM Sametime Softphone in ST9
 
SIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsSIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communications
 
ast-v-series
ast-v-seriesast-v-series
ast-v-series
 
SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017
 
Asterisk Phone Systems
Asterisk Phone SystemsAsterisk Phone Systems
Asterisk Phone Systems
 
SIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masasSIP2SIP - Direcciones SIP gratuitas para las masas
SIP2SIP - Direcciones SIP gratuitas para las masas
 
Ruby voip
Ruby voipRuby voip
Ruby voip
 
[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic
[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic
[DSC Europe 22] Make some noise for AI in JavaScript - Sead Delalic
 
Voicebasedsrs 130319103050-phpapp02
Voicebasedsrs 130319103050-phpapp02Voicebasedsrs 130319103050-phpapp02
Voicebasedsrs 130319103050-phpapp02
 

More from Mojo Lingo

ConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone StarConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone StarMojo Lingo
 
AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksMojo Lingo
 
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightMojo Lingo
 
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsMojo Lingo
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Mojo Lingo
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskMojo Lingo
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettMojo Lingo
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteMojo Lingo
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web AppsMojo Lingo
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013Mojo Lingo
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyMojo Lingo
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionMojo Lingo
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting AdhearsionMojo Lingo
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion ApplicationsMojo Lingo
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleMojo Lingo
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP FolksMojo Lingo
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionMojo Lingo
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!Mojo Lingo
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through AdhearsionMojo Lingo
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyMojo Lingo
 

More from Mojo Lingo (20)

ConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone StarConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone Star
 
AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it Breaks
 
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
 
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling Asterisk
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All Terrible
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP Folks
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through Adhearsion
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Talking to Rails with Adhearsion

  • 1. Talking to Rails Ben Langfeld Adhearsion Core Team Mojo Lingo @benlangfeld blangfeld@adhearsion.com
  • 3. Why voice? •Many more people have access to a telephone than have access to the internet
  • 4. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactions
  • 5. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactions •Voice enables a multitude of interesting use-cases which text and images cannot
  • 6. Why voice? •Many more people have access to a telephone than have access to the internet •Many people still prefer voice-based interactions •Voice enables a multitude of interesting use-cases which text and images cannot •Because having a computer make a phone ring is still cool
  • 7. But wait... telephony is HARD right?? Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
  • 11.
  • 12. A voice application development framework
  • 13. A voice application development framework Independent from, but compatible with, Rails
  • 14. A voice application development framework Independent from, but compatible with, Rails Voice applications the Ruby Way
  • 15.
  • 16. Features Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the world
  • 17. Features •Easy-to-use DSL Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the world
  • 18. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the world
  • 19. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc Third largest mobile carrier in the world
  • 20. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems Third largest mobile carrier in the world
  • 21. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems •A very helpful community Third largest mobile carrier in the world
  • 22. Features •Easy-to-use DSL •Idiomatic Ruby code Not just compiled down to some kind of crazy configuration, but we have full access to both the ruby environment and the call at all times •Powerful Eventing System Call setup/teardown events, DTMF events, conference join/leave, active speaker, etc •Plugins to solve common problems •A very helpful community •Sponsorship from and Third largest mobile carrier in the world
  • 24. Advanced Voice Features High-level constructs (Menus, Queues, Conferences)
  • 25. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition
  • 26. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-Speech
  • 27. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-Speech Answering Machine Detection
  • 28. Advanced Voice Features High-level constructs (Menus, Queues, DTMF gathering & Conferences) voice recognition Text-to-Speech Answering Machine Detection Call Progress
  • 30. Adhearsion Applied Call centre workflow optimisation and integration
  • 31. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration
  • 32. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Conferencing applications
  • 33. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Translation services Conferencing applications
  • 34. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Translation services Conferencing applications Robo-calling
  • 35. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Polling Translation services Conferencing applications Robo-calling
  • 36. Adhearsion Applied Call centre workflow optimisation and Sales force automation integration Polling Translation IVR services Conferencing applications Robo-calling
  • 37. Adhearsion Platforms 2008 2010 2011
  • 38. Adhearsion Platforms 2008 2010 2011
  • 39. Adhearsion Platforms 2008 2010 2011
  • 40. Adhearsion Platforms 2008 2010 2011
  • 41. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR
  • 42. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR
  • 43. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR
  • 44. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR
  • 45. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR
  • 46. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQL
  • 47. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQL LDAP
  • 48. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR SQL LDAP XMPP/Jabber
  • 49. Adhearsion Architecture Tropo Pros: * Easy to set up * Awesome TTS/ASR * SMS & International Cons: Asterisk Pros: * No manager events * Run on your server * No built-in recordings * Widely Deployed * Eventing System Note: AGItate first written 1 year ago Cons: * Tricky to set up/ Requires hardware * No TTS/ASR XMPP/Jabber Web SQL LDAP REST/JSON/XML
  • 52. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to
  • 53. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process
  • 54. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony
  • 55. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based API
  • 56. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based API •Runs on Asterisk, so can integrate with an existing PBX
  • 57. Why Adhearsion? •Easy code reuse •A natural DSL which is easy to write to •Rich inter-call operation within the process •Brings modern development practices to telephony •No need for complex state-machines and constant load on your Rails app from an HTTP-based API •Runs on Asterisk, so can integrate with an existing PBX •Adhearsion democratises telephony development
  • 59. A (contrived) example problem •Everyone loves a spontaneous conference call
  • 60. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is tricky
  • 61. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is tricky •Not everyone likes the phone ringing
  • 62. A (contrived) example problem •Everyone loves a spontaneous conference call •Getting people in is tricky •Not everyone likes the phone ringing •Not everyone is available
  • 64. A solution •Simple rails app for managing contacts
  • 65. A solution •Simple rails app for managing contacts •Select contacts to call
  • 66. A solution •Simple rails app for managing contacts •Select contacts to call •System asks contacts via Jabber if they are available
  • 67. A solution •Simple rails app for managing contacts •Select contacts to call •System asks contacts via Jabber if they are available •Will read apologies via Jabber into the conference
  • 69.
  • 70.
  • 71.
  • 73. Adhearsion 2.0 • The next major evolution of Adhearsion
  • 74. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including:
  • 75. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo)
  • 76. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul
  • 77. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count
  • 78. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction
  • 79. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction • Overhaul of the plugin system
  • 80. Adhearsion 2.0 • The next major evolution of Adhearsion • Many improvements including: • Truly cross-platform (Asterisk, Tropo & Rayo) • Core architecture overhaul • A reduction in internal complexity and line-count • Scope reduction • Overhaul of the plugin system • Modular application constructs (voicemail, queueing, etc) as plugins
  • 82. Adhearsion really far out •Adhearsion 1.x - Asterisk applications
  • 83. Adhearsion really far out •Adhearsion 1.x - Asterisk applications •Adhearsion 2.x - Voice applications
  • 84. Adhearsion really far out •Adhearsion 1.x - Asterisk applications •Adhearsion 2.x - Voice applications •Adhearsion 3.x - Real-time communications
  • 85. Questions? adhearsion.com @Adhearsion http://spkr8.com/t/8602