infiltrating telecoms using ruby

91
Infiltrating Telecoms Using Ruby Ben Klang @bklang Ben Langfeld @benlangfeld

Upload: mojo-lingo

Post on 18-Dec-2014

99 views

Category:

Technology


0 download

DESCRIPTION

Infiltrating Telecoms Using Ruby presented by Ben Klang and Ben Langfeld of Mojo Lingo at RubyConf Brazil 2012

TRANSCRIPT

Page 1: Infiltrating Telecoms Using Ruby

Infiltrating Telecoms Using Ruby

Ben Klang@bklang

Ben Langfeld@benlangfeld

Page 2: Infiltrating Telecoms Using Ruby
Page 3: Infiltrating Telecoms Using Ruby

Why Telephony

Page 4: Infiltrating Telecoms Using Ruby

Why Telephony

What is a Voice Application

Page 5: Infiltrating Telecoms Using Ruby

Why Telephony

What is a Voice Application

Telecom Infiltration Options

Page 6: Infiltrating Telecoms Using Ruby

Why Telephony

What is a Voice Application

Telecom Infiltration Options

Adhearsion: The Ruby Approach

Page 9: Infiltrating Telecoms Using Ruby

Why Telephony

Brasil

20MM home computers for 194MM people

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 10: Infiltrating Telecoms Using Ruby

Why Telephony

Brasil

20MM home computers for 194MM people

194,439,250 mobile phones

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 11: Infiltrating Telecoms Using Ruby

Why Telephony

Brasil

20MM home computers for 194MM people

194,439,250 mobile phones

That is slightly more than one phone per person

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 12: Infiltrating Telecoms Using Ruby

The Dark Ages

State of Voice Technology:

Page 13: Infiltrating Telecoms Using Ruby

The Dark Ages

State of Voice Technology:

< AD 2000

Page 14: Infiltrating Telecoms Using Ruby

TDM PBXThe Dark Ages: < AD 2000

http://www.flickr.com/photos/dannyman/320310144/

Page 15: Infiltrating Telecoms Using Ruby

TDM PBXThe Dark Ages: < AD 2000

$$$ - £££ - €€€http://www.flickr.com/photos/dannyman/320310144/

Page 16: Infiltrating Telecoms Using Ruby

ProprietaryThe Dark Ages: < AD 2000

$$$ - £££ - €€€http://www.flickr.com/photos/dannyman/320310144/

Page 17: Infiltrating Telecoms Using Ruby

Islands of Functionality

The Dark Ages: < AD 2000

Page 18: Infiltrating Telecoms Using Ruby

Minimal/Non-Existent API

The Dark Ages: < AD 2000

Page 19: Infiltrating Telecoms Using Ruby

Limited Management Tools

The Dark Ages: < AD 2000

Page 20: Infiltrating Telecoms Using Ruby

Limited Management Tools

The Dark Ages: < AD 2000

Automation? What Automation?

Page 21: Infiltrating Telecoms Using Ruby

Limited Management Tools

The Dark Ages: < AD 2000

Automation? What Automation?

Page 22: Infiltrating Telecoms Using Ruby

The Last Ten Years

State of Voice Technology:

Page 23: Infiltrating Telecoms Using Ruby

Emergence of VoIP

The Last Ten Years

Page 24: Infiltrating Telecoms Using Ruby

Emergence of VoIP

The Last Ten Years

Page 25: Infiltrating Telecoms Using Ruby

Emergence of VoIP

The Last Ten Years

Page 26: Infiltrating Telecoms Using Ruby

Emergence of VoIP

The Last Ten Years

Page 27: Infiltrating Telecoms Using Ruby

Smarter EndpointsThe Last Ten Years

Page 28: Infiltrating Telecoms Using Ruby

Smarter EndpointsThe Last Ten Years

Page 29: Infiltrating Telecoms Using Ruby

Smarter EndpointsThe Last Ten Years

Page 30: Infiltrating Telecoms Using Ruby

Smarter EndpointsThe Last Ten Years

Page 31: Infiltrating Telecoms Using Ruby

Convergence

The Last Ten Years

Page 32: Infiltrating Telecoms Using Ruby

Convergence

The Last Ten Years

Instant Messaging - Presence

Page 33: Infiltrating Telecoms Using Ruby

Beginnings ofTruly Unified

Communications

The Last Ten Years

Page 34: Infiltrating Telecoms Using Ruby

The Next Ten Years

State of Voice Technology:

Page 35: Infiltrating Telecoms Using Ruby

Further Decentralization

The Next Ten Years

Page 36: Infiltrating Telecoms Using Ruby

Open Architecture

The Next Ten Years

Page 37: Infiltrating Telecoms Using Ruby

Federation

The Next Ten Years

Page 38: Infiltrating Telecoms Using Ruby

Multi-Modal Integration

The Next Ten Years

Page 39: Infiltrating Telecoms Using Ruby

Multi-Modal Integration

The Next Ten Years

Voice - Text - Video - Presence

Page 40: Infiltrating Telecoms Using Ruby

Collaboration

The Next Ten Years

Page 41: Infiltrating Telecoms Using Ruby

Collaboration

The Next Ten Years

Desktops - Documents

Page 42: Infiltrating Telecoms Using Ruby

Nowis an exciting time

to be working with Voice

The Next Ten Years

Page 43: Infiltrating Telecoms Using Ruby

What is a Voice Application?

Page 44: Infiltrating Telecoms Using Ruby

Interacts with Audio Stream

A Voice Application...

Page 45: Infiltrating Telecoms Using Ruby

Integrates Communication Channels

A Voice Application...

Page 46: Infiltrating Telecoms Using Ruby

Goes Beyond a Phone Call

A Voice Application...

Page 47: Infiltrating Telecoms Using Ruby

Voice Application Examples

Page 48: Infiltrating Telecoms Using Ruby

LiveTranslation

Service

Voice Application Examples

Page 49: Infiltrating Telecoms Using Ruby

Automated Reminder Calls

Voice Application Examples

Page 51: Infiltrating Telecoms Using Ruby

CRM Integration

Voice Application Examples

Page 52: Infiltrating Telecoms Using Ruby

Over-the-Top Services

Voice Application Examples

Page 53: Infiltrating Telecoms Using Ruby
Page 54: Infiltrating Telecoms Using Ruby

But wait...

Page 55: Infiltrating Telecoms Using Ruby

telephony is HARD right??Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg

But wait...

Page 56: Infiltrating Telecoms Using Ruby

Code Sample (comfort zone)

Don’t Panic

Page 57: Infiltrating Telecoms Using Ruby

Code Sample (comfort zone)

Don’t Panic

Page 58: Infiltrating Telecoms Using Ruby

Code Sample (comfort zone)

Don’t Panic

Page 59: Infiltrating Telecoms Using Ruby

Demo

+55 (11) 3958-8592

Page 60: Infiltrating Telecoms Using Ruby

Demo

Page 61: Infiltrating Telecoms Using Ruby

Demo

Page 62: Infiltrating Telecoms Using Ruby

Ruby & Telephony: The Options

Page 63: Infiltrating Telecoms Using Ruby

Simple Voice Apps

Tropo Scripting

Page 64: Infiltrating Telecoms Using Ruby

Multiple LanguagesRuby, JavaScript, Python...

Tropo Scripting

Page 65: Infiltrating Telecoms Using Ruby

Awesome TTS & ASRMany languages

Tropo Scripting

Page 66: Infiltrating Telecoms Using Ruby

Hosted

Tropo Scripting

Page 67: Infiltrating Telecoms Using Ruby

Reduced Control

Tropo Scripting

Page 68: Infiltrating Telecoms Using Ruby

Debugging Difficult

Tropo Scripting

Page 69: Infiltrating Telecoms Using Ruby

Integration points limited

Tropo Scripting

Page 70: Infiltrating Telecoms Using Ruby

Ruby & Telephony: The Options

Page 71: Infiltrating Telecoms Using Ruby

Hosted platform

Twilio

Page 72: Infiltrating Telecoms Using Ruby

Self-host Applications

Twilio

Page 73: Infiltrating Telecoms Using Ruby

HTTP API

Twilio

Page 74: Infiltrating Telecoms Using Ruby

Application FlexibilityAny language, any framework

Twilio

Page 75: Infiltrating Telecoms Using Ruby

Mostly fire-and-forget

Twilio

Page 76: Infiltrating Telecoms Using Ruby

Few opportunitiesto interrupt

Twilio

Page 77: Infiltrating Telecoms Using Ruby

Enforced stateless

Twilio

Page 78: Infiltrating Telecoms Using Ruby

Ruby & Telephony: The Options

Page 79: Infiltrating Telecoms Using Ruby

The Ruby Approach

Page 80: Infiltrating Telecoms Using Ruby

The Ruby Approach

Page 81: Infiltrating Telecoms Using Ruby

Voice ApplicationFramework

Adhearsion: The Ruby Approach

Page 82: Infiltrating Telecoms Using Ruby

Adhearsion: The Ruby Approach

Page 83: Infiltrating Telecoms Using Ruby

Hosting flexibility(VM, PaaS, anywhere)

Adhearsion: The Ruby Approach

Page 84: Infiltrating Telecoms Using Ruby

Many integration points

Adhearsion: The Ruby Approach

Page 85: Infiltrating Telecoms Using Ruby

Platform Agnostic

Adhearsion: The Ruby Approach

Page 86: Infiltrating Telecoms Using Ruby

Just Ruby

Adhearsion: The Ruby Approach

Page 87: Infiltrating Telecoms Using Ruby

Ability to interactbetween calls

Adhearsion: The Ruby Approach

Page 88: Infiltrating Telecoms Using Ruby

Simple, Extensible API

Adhearsion: The Ruby Approach

Page 89: Infiltrating Telecoms Using Ruby

Get Involved

Adhearsion: The Ruby Approach

github.com/adhearsion/adhearsionadhearsion.com

Page 91: Infiltrating Telecoms Using Ruby

Replay the Demo:+55 (11) 3958-8592

Thanks! Questions?

Ben Klang@bklang

Ben Langfeld@benlangfeld