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

Infiltrating Telecoms Using Ruby

Dec 18, 2014

Download

Technology

Mojo Lingo

Infiltrating Telecoms Using Ruby presented by Ben Klang and Ben Langfeld of Mojo Lingo at RubyConf Brazil 2012
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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