SlideShare uma empresa Scribd logo
1 de 18
Evented Telephony Application Design
               with


Ben Klang
Founder, Mojo Lingo
bklang@mojolingo.com
Twitter/Github: @bklang
What is Adhearsion?
•Adhesion you can hear – glueing the voice layer to
 the rest of the world.
•Voice Application Development Framework
•Open Source
•Ruby – integrates easily with Rails, but not
 dependent
•Platform agnostic – runs anywhere Ruby or Java
 (JRuby) does
•Runs small, scales large
•Cloud-Ready
Adhearsion Applied
•Call center workflow optimization and integration
•Sales force automation
•Conferencing applications
•Translation services
•IVR
•Polling
•Robo-calling
Adhearsion Platforms

                       2008


                       2010



                       2011
Adhearsion Architecture
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
Why evented design?
Why evented design?
•Telephony needs are well served by evented design
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
 •New call setup/call state transition
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
 •New call setup/call state transition
 •Conference or Queue join/leave
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
 •New call setup/call state transition
 •Conference or Queue join/leave
•Allows extra logic to execute without interrupting
 flow
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
 •New call setup/call state transition
 •Conference or Queue join/leave
•Allows extra logic to execute without interrupting
 flow
 •Process keypresses while on a long blocking call
Why evented design?
•Telephony needs are well served by evented design
 •DTMF key presses
 •New call setup/call state transition
 •Conference or Queue join/leave
•Allows extra logic to execute without interrupting
 flow
 •Process keypresses while on a long blocking call
 •React to external events (timer expired, agent
  available)
Code Demo

            Code from this demo:
https://github.com/mojolingo/RubyConf2011
adhearsion.com/
  ahnconf2011
Questions...


                 http://
                 mojolingo.com
adhearsion.com   @bklang
@Adhearsion      bklang@mojolingo.co
                 m

Mais conteúdo relacionado

Mais procurados

Mais procurados (7)

Victory Home Base
Victory Home BaseVictory Home Base
Victory Home Base
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-up
 
Mark Spencer’s Presentation at eComm 2009
Mark Spencer’s Presentation at eComm 2009Mark Spencer’s Presentation at eComm 2009
Mark Spencer’s Presentation at eComm 2009
 
Victory Cloud
Victory CloudVictory Cloud
Victory Cloud
 
What is New in Sage X3 Financials
What is New in Sage X3 FinancialsWhat is New in Sage X3 Financials
What is New in Sage X3 Financials
 
EVOLVE'14 | Maximize | Robinson Kelly | Multilingual Localization
EVOLVE'14 | Maximize | Robinson Kelly | Multilingual LocalizationEVOLVE'14 | Maximize | Robinson Kelly | Multilingual Localization
EVOLVE'14 | Maximize | Robinson Kelly | Multilingual Localization
 
Virtual receptionist
Virtual receptionistVirtual receptionist
Virtual receptionist
 

Destaque (7)

N2Y4 Mobile Challenge May 2009 San Jose
N2Y4 Mobile Challenge May 2009   San JoseN2Y4 Mobile Challenge May 2009   San Jose
N2Y4 Mobile Challenge May 2009 San Jose
 
Adhearsion Overview February 2009
Adhearsion Overview February 2009Adhearsion Overview February 2009
Adhearsion Overview February 2009
 
Adhearsion Astricon October 2010
Adhearsion Astricon October 2010Adhearsion Astricon October 2010
Adhearsion Astricon October 2010
 
Amoocon May 2009 Germany
Amoocon May 2009   GermanyAmoocon May 2009   Germany
Amoocon May 2009 Germany
 
Ahn Conf 2011 - Day 2 Keynote
Ahn Conf 2011 - Day 2 KeynoteAhn Conf 2011 - Day 2 Keynote
Ahn Conf 2011 - Day 2 Keynote
 
Ruby Kaigi July 2009 Tokyo (Japanese)
Ruby Kaigi July 2009 Tokyo (Japanese)Ruby Kaigi July 2009 Tokyo (Japanese)
Ruby Kaigi July 2009 Tokyo (Japanese)
 
Adhearsion conf 2011 keynote
Adhearsion conf 2011 keynoteAdhearsion conf 2011 keynote
Adhearsion conf 2011 keynote
 

Semelhante a Ruby Conf 2011

Dpa microsoft lync server 2010
Dpa   microsoft lync server 2010Dpa   microsoft lync server 2010
Dpa microsoft lync server 2010
ebuc
 
Offre revendeurs UC
Offre  revendeurs   UCOffre  revendeurs   UC
Offre revendeurs UC
Rachid ZINE
 

Semelhante a Ruby Conf 2011 (20)

Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionCall Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 
Webinar | Cloud PBX and Skype
Webinar | Cloud PBX and Skype Webinar | Cloud PBX and Skype
Webinar | Cloud PBX and Skype
 
Skype for business understanding what is new, preview or unchanged
Skype for business understanding what is new, preview or unchangedSkype for business understanding what is new, preview or unchanged
Skype for business understanding what is new, preview or unchanged
 
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
 
Avaya lync integration 6 16
Avaya lync integration 6 16Avaya lync integration 6 16
Avaya lync integration 6 16
 
Whats New in Microsoft Teams Hybrid Meetings November 2021
Whats New in Microsoft Teams Hybrid Meetings November 2021Whats New in Microsoft Teams Hybrid Meetings November 2021
Whats New in Microsoft Teams Hybrid Meetings November 2021
 
A Tale of Two Toolkits
A Tale of Two ToolkitsA Tale of Two Toolkits
A Tale of Two Toolkits
 
Voice Applications with Adhearsion @ ATLAUG 2012
Voice Applications with Adhearsion @ ATLAUG 2012Voice Applications with Adhearsion @ ATLAUG 2012
Voice Applications with Adhearsion @ ATLAUG 2012
 
Alfresco Digital Business Platform - Why, How, What
Alfresco Digital Business Platform - Why, How, WhatAlfresco Digital Business Platform - Why, How, What
Alfresco Digital Business Platform - Why, How, What
 
Dpa microsoft lync server 2010
Dpa   microsoft lync server 2010Dpa   microsoft lync server 2010
Dpa microsoft lync server 2010
 
Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...
 
Offre revendeurs UC
Offre  revendeurs   UCOffre  revendeurs   UC
Offre revendeurs UC
 
Conversational commerce: emerging architectures for smart & useful chatbots -...
Conversational commerce: emerging architectures for smart & useful chatbots -...Conversational commerce: emerging architectures for smart & useful chatbots -...
Conversational commerce: emerging architectures for smart & useful chatbots -...
 
Conversational commerce: emerging architectures for smart & useful chatbots. ...
Conversational commerce: emerging architectures for smart & useful chatbots. ...Conversational commerce: emerging architectures for smart & useful chatbots. ...
Conversational commerce: emerging architectures for smart & useful chatbots. ...
 
Conversational commerce: emerging architectures for smart & useful chatbots -...
Conversational commerce: emerging architectures for smart & useful chatbots -...Conversational commerce: emerging architectures for smart & useful chatbots -...
Conversational commerce: emerging architectures for smart & useful chatbots -...
 
Conversational commerce: emerging architectures for smart & useful chatbots. ...
Conversational commerce: emerging architectures for smart & useful chatbots. ...Conversational commerce: emerging architectures for smart & useful chatbots. ...
Conversational commerce: emerging architectures for smart & useful chatbots. ...
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 

Mais de Adhearsion Foundation (7)

Can You Hear Me Now? Tackling Telephony Testing
Can You Hear Me Now? Tackling Telephony TestingCan You Hear Me Now? Tackling Telephony Testing
Can You Hear Me Now? Tackling Telephony Testing
 
ClueCon 2012
ClueCon 2012ClueCon 2012
ClueCon 2012
 
State of the Art Telephony with Ruby
State of the Art Telephony with RubyState of the Art Telephony with Ruby
State of the Art Telephony with Ruby
 
Adhearsion for Devs - CloudComm 2011
Adhearsion for Devs  - CloudComm 2011Adhearsion for Devs  - CloudComm 2011
Adhearsion for Devs - CloudComm 2011
 
Eu Ru Ko Tutorial May 2009 Barcelona
Eu Ru Ko Tutorial May 2009   BarcelonaEu Ru Ko Tutorial May 2009   Barcelona
Eu Ru Ko Tutorial May 2009 Barcelona
 
Amoocon Tutorial May 2009 Germany
Amoocon Tutorial May 2009   GermanyAmoocon Tutorial May 2009   Germany
Amoocon Tutorial May 2009 Germany
 
Adhearsion @ eComm 2009 Final
Adhearsion @ eComm 2009   FinalAdhearsion @ eComm 2009   Final
Adhearsion @ eComm 2009 Final
 

Último

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Último (20)

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 

Ruby Conf 2011

  • 1. Evented Telephony Application Design with Ben Klang Founder, Mojo Lingo bklang@mojolingo.com Twitter/Github: @bklang
  • 2. What is Adhearsion? •Adhesion you can hear – glueing the voice layer to the rest of the world. •Voice Application Development Framework •Open Source •Ruby – integrates easily with Rails, but not dependent •Platform agnostic – runs anywhere Ruby or Java (JRuby) does •Runs small, scales large •Cloud-Ready
  • 3. Adhearsion Applied •Call center workflow optimization and integration •Sales force automation •Conferencing applications •Translation services •IVR •Polling •Robo-calling
  • 4. Adhearsion Platforms 2008 2010 2011
  • 6. But wait... telephony is HARD right?? Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg
  • 7. Code Sample (comfort zone) Don’t Panic
  • 9. Why evented design? •Telephony needs are well served by evented design
  • 10. Why evented design? •Telephony needs are well served by evented design •DTMF key presses
  • 11. Why evented design? •Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition
  • 12. Why evented design? •Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave
  • 13. Why evented design? •Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave •Allows extra logic to execute without interrupting flow
  • 14. Why evented design? •Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave •Allows extra logic to execute without interrupting flow •Process keypresses while on a long blocking call
  • 15. Why evented design? •Telephony needs are well served by evented design •DTMF key presses •New call setup/call state transition •Conference or Queue join/leave •Allows extra logic to execute without interrupting flow •Process keypresses while on a long blocking call •React to external events (timer expired, agent available)
  • 16. Code Demo Code from this demo: https://github.com/mojolingo/RubyConf2011
  • 18. Questions... http:// mojolingo.com adhearsion.com @bklang @Adhearsion bklang@mojolingo.co m

Notas do Editor

  1. \n
  2. Predictable progress and safer deployments thanks to Ruby best practices like TDD, Capistrano, Agile; eminently readable code\nTell stories about our successes with startups and MVP\n
  3. \n
  4. ?? Mean\n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n