Evented Telephony Application Design with Adhearsion
-
Upload
mojo-lingo -
Category
Technology
-
view
157 -
download
2
description
Transcript of Evented Telephony Application Design with Adhearsion
Ben KlangFounder, Mojo [email protected]/Github: @bklang
Evented Telephony Application Designwith
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
2008
2010
2011
Adhearsion Platforms
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