evented telephony application design with adhearsion

Post on 18-Dec-2014

157 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Ben KlangFounder, Mojo Lingobklang@mojolingo.comTwitter/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

top related