SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Was ist angesagt?

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-upAdam Kariv
 
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 2009eCommConf
 
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 FinancialsNet at Work
 

Was ist angesagt? (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
 

Andere mochten auch

Andere mochten auch (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
 

Ähnlich wie Ruby Conf 2011

Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Mojo Lingo
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionCall Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionAdhearsion Foundation
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To RailsMojo Lingo
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with AdhearsionMojo Lingo
 
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 unchangedFabrizio Volpe
 
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
 
Avaya lync integration 6 16
Avaya lync integration 6 16Avaya lync integration 6 16
Avaya lync integration 6 16Chris Stegh
 
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 2021David J Rosenthal
 
Voice Applications with Adhearsion @ ATLAUG 2012
Voice Applications with Adhearsion @ ATLAUG 2012Voice Applications with Adhearsion @ ATLAUG 2012
Voice Applications with Adhearsion @ ATLAUG 2012Adhearsion Foundation
 
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, WhatMario Romano
 
Dpa microsoft lync server 2010
Dpa   microsoft lync server 2010Dpa   microsoft lync server 2010
Dpa microsoft lync server 2010ebuc
 
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...Andy Piper
 
Offre revendeurs UC
Offre  revendeurs   UCOffre  revendeurs   UC
Offre revendeurs UCRachid ZINE
 
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 -...Grid Dynamics
 
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. ...Grid Dynamics
 
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 -...Grid Dynamics
 
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. ...Grid Dynamics
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringWeaveworks
 

Ähnlich wie 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
 

Mehr von Adhearsion Foundation

Mehr von 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
 

Kürzlich hochgeladen

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íšekCzechDreamin
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
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 PlanningIES VE
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
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)Julian Hyde
 
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 KomCzechDreamin
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Intelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfIntelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfAnthony Lucente
 

Kürzlich hochgeladen (20)

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
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
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
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
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)
 
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
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Intelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfIntelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdf
 

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

Hinweis der Redaktion

  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