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

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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