SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
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
Code Sample (comfort zone)



                      Don’t Panic
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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server          Tropo Pros:
* Widely Deployed             * 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 Architecture
Asterisk Pros:
* Run on your server                 Tropo Pros:
* Widely Deployed                    * 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 Architecture
Asterisk Pros:
* Run on your server                               Tropo Pros:
* Widely Deployed                                  * 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 Architecture
Asterisk Pros:
* Run on your server                               Tropo Pros:
* Widely Deployed                                  * 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

Contenu connexe

En vedette

Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionMojo Lingo
 
Supergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionSupergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionMojo Lingo
 
Adhearsion and the cloud
Adhearsion and the cloudAdhearsion and the cloud
Adhearsion and the cloudMojo Lingo
 
Can You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionCan You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionMojo Lingo
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMojo Lingo
 
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
 

En vedette (6)

Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with Adhearsion
 
Supergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionSupergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with Adhearsion
 
Adhearsion and the cloud
Adhearsion and the cloudAdhearsion and the cloud
Adhearsion and the cloud
 
Can You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionCan You Speak Magic? with Adhearsion
Can You Speak Magic? with Adhearsion
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 

Similaire à Build Voice Apps with Ruby Using Adhearsion

Talking To Rails
Talking To RailsTalking To Rails
Talking To RailsMojo Lingo
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisktutorialsruby
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTCDigium
 
Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Dan Jenkins
 
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkIndonesia Network Operators Group
 
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsIDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsAffan Basalamah
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Balena
 
High Availability Asterisk and FreePBX on Microsoft Azure
High Availability Asterisk and FreePBX on Microsoft AzureHigh Availability Asterisk and FreePBX on Microsoft Azure
High Availability Asterisk and FreePBX on Microsoft AzureSanjay Willie
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaNaruto TAKAHASHI
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...ITCamp
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoTqnapivan
 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architectureDavid Rundle
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
The internet of $h1t
The internet of $h1tThe internet of $h1t
The internet of $h1tAmit Serper
 
opensource Monitoring Tool , an overview
opensource Monitoring Tool , an overviewopensource Monitoring Tool , an overview
opensource Monitoring Tool , an overviewKris Buytaert
 
Astricon2006_matt_florell_PDF.pdf
Astricon2006_matt_florell_PDF.pdfAstricon2006_matt_florell_PDF.pdf
Astricon2006_matt_florell_PDF.pdfIjoBapuk
 

Similaire à Build Voice Apps with Ruby Using Adhearsion (20)

Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Jonny_Martin-Asterisk
Jonny_Martin-AsteriskJonny_Martin-Asterisk
Jonny_Martin-Asterisk
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTC
 
Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014
 
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
 
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple StepsIDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
IDNOG 4 Lightning Talks - Documenting your Network in 3 Simple Steps
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
 
High Availability Asterisk and FreePBX on Microsoft Azure
High Availability Asterisk and FreePBX on Microsoft AzureHigh Availability Asterisk and FreePBX on Microsoft Azure
High Availability Asterisk and FreePBX on Microsoft Azure
 
AEO Training - 2023.pdf
AEO Training - 2023.pdfAEO Training - 2023.pdf
AEO Training - 2023.pdf
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 Alpha
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoT
 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architecture
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
The internet of $h1t
The internet of $h1tThe internet of $h1t
The internet of $h1t
 
opensource Monitoring Tool , an overview
opensource Monitoring Tool , an overviewopensource Monitoring Tool , an overview
opensource Monitoring Tool , an overview
 
Astricon2006_matt_florell_PDF.pdf
Astricon2006_matt_florell_PDF.pdfAstricon2006_matt_florell_PDF.pdf
Astricon2006_matt_florell_PDF.pdf
 

Plus de 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
 

Plus de 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
 

Dernier

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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 

Dernier (20)

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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 

Build Voice Apps with Ruby Using Adhearsion

  • 1. 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
  • 2. But wait... telephony is HARD 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. Code Sample (comfort zone) Don’t Panic
  • 5. Code Sample (comfort zone) Don’t Panic
  • 6. More than a library * Threads * Events * Plugins * Daemonization
  • 7. A voice application development framework More than a library * Threads * Events * Plugins * Daemonization
  • 8. A voice application development framework ✴ Independent from, but compatible with, Rails More than a library * Threads * Events * Plugins * Daemonization
  • 9. A voice application development framework ✴ Independent from, but compatible with, Rails More than a library * Threads * Events * Plugins * Daemonization Voice applications the Ruby Way
  • 12. Adhearsion Features • Easy-to-use DSL • Native Ruby Code
  • 13. Adhearsion Features • Easy-to-use DSL • Native Ruby Code • Powerful Eventing System
  • 15. Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences)
  • 16. Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech
  • 17. Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech • Voice Recognition
  • 18. Advanced Voice Features • High-level Constructs (Menus, Queues, Conferences) • Text-to-Speech • Voice Recognition • Call Progress/Answering Machine Detection
  • 19. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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 Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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 Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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 Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 23. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 24. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 25. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 26. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 27. Adhearsion Architecture Asterisk Pros: * Run on your server Tropo Pros: * Widely Deployed * 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
  • 33. Components AhnHub http://ahnhub.com
  • 37. http://adhearsion.com Twitter/Github: @adhearsion Ben Klang bklang@mojolingo.com Twitter/Github: @bklang spkr8.com/t/7816