37
State of the Art Telephony with Ruby Ben Klang Founder, Mojo Lingo [email protected] Twitter/Github: @bklang Who has tried to build a voice app? Who wants to build a voice app? Anyone running voice apps in production?

State of the Art Telephony with Ruby

Embed Size (px)

DESCRIPTION

State of the Art Telephony with Ruby presented by Ben Klang of Mojo Lingo at Lone Star Ruby Conference 2011

Citation preview

Page 2: State of the Art Telephony with Ruby

But wait...telephony is HARD right??

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

Page 3: State of the Art Telephony with Ruby

Code Sample (comfort zone)

Don’t Panic

Page 4: State of the Art Telephony with Ruby

Code Sample (comfort zone)

Don’t Panic

Page 5: State of the Art Telephony with Ruby

Code Sample (comfort zone)

Don’t Panic

Page 6: State of the Art Telephony with Ruby

More than a library

* Threads* Events* Plugins* Daemonization

Page 7: State of the Art Telephony with Ruby

✴ A voice application development framework

More than a library

* Threads* Events* Plugins* Daemonization

Page 8: State of the Art Telephony with Ruby

✴ A voice application development framework

✴ Independent from, but compatiblewith, Rails More than a library

* Threads* Events* Plugins* Daemonization

Page 9: State of the Art Telephony with Ruby

✴ A voice application development framework

✴ Independent from, but compatiblewith, Rails

Voice applications the Ruby Way

More than a library

* Threads* Events* Plugins* Daemonization

Page 10: State of the Art Telephony with Ruby

Adhearsion Features

Page 11: State of the Art Telephony with Ruby

Adhearsion Features

• Easy-to-use DSL

Page 12: State of the Art Telephony with Ruby

Adhearsion Features

• Easy-to-use DSL

• Native Ruby Code

Page 13: State of the Art Telephony with Ruby

Adhearsion Features

• Easy-to-use DSL

• Native Ruby Code

• Powerful Eventing System

Page 14: State of the Art Telephony with Ruby

Advanced Voice Features

Page 15: State of the Art Telephony with Ruby

Advanced Voice Features

• High-level Constructs (Menus, Queues, Conferences)

Page 16: State of the Art Telephony with Ruby

Advanced Voice Features

• High-level Constructs (Menus, Queues, Conferences)

• Text-to-Speech

Page 17: State of the Art Telephony with Ruby

Advanced Voice Features

• High-level Constructs (Menus, Queues, Conferences)

• Text-to-Speech

• Voice Recognition

Page 18: State of the Art Telephony with Ruby

Advanced Voice Features

• High-level Constructs (Menus, Queues, Conferences)

• Text-to-Speech

• Voice Recognition

• Call Progress/Answering Machine Detection

Page 19: State of the Art Telephony with Ruby

Adhearsion ArchitectureAsterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 20: State of the Art Telephony with Ruby

Adhearsion ArchitectureAsterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 21: State of the Art Telephony with Ruby

Adhearsion ArchitectureAsterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 22: State of the Art Telephony with Ruby

Adhearsion ArchitectureAsterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 23: State of the Art Telephony with Ruby

Adhearsion ArchitectureAsterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 24: State of the Art Telephony with Ruby

Adhearsion Architecture

SQL

Asterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 25: State of the Art Telephony with Ruby

Adhearsion Architecture

SQL LDAP

Asterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 26: State of the Art Telephony with Ruby

Adhearsion Architecture

XMPP/JabberSQL LDAP

Asterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 27: State of the Art Telephony with Ruby

Adhearsion Architecture

WebREST/JSON/XML

XMPP/JabberSQL LDAP

Asterisk Pros:* Run on your server* Widely Deployed* Eventing System

Cons:* Tricky to set up/Requires hardware* No TTS/ASR

Tropo Pros:* Easy to set up* Awesome TTS/ASR* SMS & International

Cons:* No manager events* No built-in recordings

Note: AGItate first written 1 year ago

Page 28: State of the Art Telephony with Ruby

Announcing...

Adhearsion 1.2.0

Page 29: State of the Art Telephony with Ruby

Quick Start

Page 30: State of the Art Telephony with Ruby

The Dialplan

Page 31: State of the Art Telephony with Ruby

Adhearsion Console

Page 32: State of the Art Telephony with Ruby

Components

Page 33: State of the Art Telephony with Ruby

Components

AhnHubhttp://ahnhub.com

Page 34: State of the Art Telephony with Ruby

Event Handling

Page 35: State of the Art Telephony with Ruby

Event Handling

770.873.8900

Page 37: State of the Art Telephony with Ruby

Ben [email protected] Twitter/Github: @bklang

spkr8.com/t/7816

http://adhearsion.comTwitter/Github: @adhearsion