evented telephony application design with adhearsion

18
Ben Klang Founder, Mojo Lingo [email protected] Twitter/Github: @bklang Evented Telephony Application Design with

Upload: mojo-lingo

Post on 18-Dec-2014

157 views

Category:

Technology


2 download

DESCRIPTION

Evented Telephony Application Design with Adhearsion presented by Ben Klang of Mojo Lingo at Ruby Conf 2011

TRANSCRIPT

Page 2: Evented Telephony Application Design with Adhearsion

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

Page 3: Evented Telephony Application Design with Adhearsion

Adhearsion Applied

• Call center workflow optimization and integration

• Sales force automation

• Conferencing applications

• Translation services

• IVR

• Polling

• Robo-calling

Page 4: Evented Telephony Application Design with Adhearsion

2008

2010

2011

Adhearsion Platforms

Page 5: Evented Telephony Application Design with Adhearsion

Adhearsion Architecture

Page 6: Evented Telephony Application Design with Adhearsion

But wait...telephony is HARD right??

Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg

Page 7: Evented Telephony Application Design with Adhearsion

Code Sample (comfort zone)

Don’t Panic

Page 8: Evented Telephony Application Design with Adhearsion

Why evented design?

Page 9: Evented Telephony Application Design with Adhearsion

Why evented design?

• Telephony needs are well served by evented design

Page 10: Evented Telephony Application Design with Adhearsion

Why evented design?

• Telephony needs are well served by evented design

• DTMF key presses

Page 11: Evented Telephony Application Design with Adhearsion

Why evented design?

• Telephony needs are well served by evented design

• DTMF key presses

• New call setup/call state transition

Page 12: Evented Telephony Application Design with Adhearsion

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

Page 13: Evented Telephony Application Design with Adhearsion

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

Page 14: Evented Telephony Application Design with Adhearsion

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

Page 15: Evented Telephony Application Design with Adhearsion

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)

Page 16: Evented Telephony Application Design with Adhearsion

Code Demo

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