SlideShare uma empresa Scribd logo
1 de 91
Baixar para ler offline
Infiltrating Telecoms Using Ruby

  Ben Klang        Ben Langfeld
   @bklang         @benlangfeld
Why Telephony
Why Telephony

What is a Voice Application
Why Telephony

What is a Voice Application

Telecom Infiltration Options
Why Telephony

  What is a Voice Application

  Telecom Infiltration Options

Adhearsion: The Ruby Approach
Why Telephony




            http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx
                                  http://www.internetworldstats.com/sa/br.htm
Why Telephony


                        Brasil




            http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx
                                  http://www.internetworldstats.com/sa/br.htm
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
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
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
State of Voice Technology:




       The Dark Ages
State of Voice Technology:




       The Dark Ages
        < AD 2000
The Dark Ages: < AD 2000

         TDM PBX




                  http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000

         TDM PBX




        $$$ - £££ - €€€
                  http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000

         Proprietary




        $$$ - £££ - €€€
                  http://www.flickr.com/photos/dannyman/320310144/
The Dark Ages: < AD 2000


  Islands of Functionality
The Dark Ages: < AD 2000


Minimal/Non-Existent API
The Dark Ages: < AD 2000


Limited Management Tools
The Dark Ages: < AD 2000


Limited Management Tools
 Automation? What Automation?
The Dark Ages: < AD 2000


Limited Management Tools
 Automation? What Automation?
State of Voice Technology:




     The Last Ten Years
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years

    Emergence of VoIP
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years
     Smarter Endpoints
The Last Ten Years


        Convergence
The Last Ten Years


        Convergence

  Instant Messaging - Presence
The Last Ten Years


       Beginnings of
        Truly Unified
      Communications
State of Voice Technology:




    The Next Ten Years
The Next Ten Years




 Further Decentralization
The Next Ten Years




     Open Architecture
The Next Ten Years




         Federation
The Next Ten Years




  Multi-Modal Integration
The Next Ten Years




  Multi-Modal Integration
  Voice - Text - Video - Presence
The Next Ten Years




        Collaboration
The Next Ten Years




        Collaboration
     Desktops - Documents
The Next Ten Years


            Now
     is an exciting time
 to be working with Voice
What is a Voice Application?
A Voice Application...

Interacts with Audio Stream
A Voice Application...

Integrates Communication
         Channels
A Voice Application...




Goes Beyond a Phone Call
Voice Application Examples
Voice Application Examples


     Live
  Translation
    Service
Voice Application Examples


Automated Reminder Calls
Voice Application Examples

    Mid-Call Assistive Services




http://books.google.com.br/books?id=ekYEAAAAMBAJ&printsec=frontcover&dq=7+july+1948+life+magazine&source=bl&ots=nV3HS1HwEk&sig=iHzNtgI-gJ7bnlAoEUX0q4BBZn4&hl=pt-
                         BR&sa=X&ei=32k_UKXeEumx0AHaoYGYAg&ved=0CDQQ6AEwAQ#v=onepage&q=7%20july%201948%20life%20magazine&f=false
Voice Application Examples

      CRM Integration
Voice Application Examples


  Over-the-Top Services
But wait...
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
Code Sample (comfort zone)



                     Don’t Panic
Code Sample (comfort zone)



                     Don’t Panic
Demo

+55 (11) 3958-8592
Demo
Demo
Ruby & Telephony: The Options
Tropo Scripting



     Simple Voice Apps
Tropo Scripting



    Multiple Languages
   Ruby, JavaScript, Python...
Tropo Scripting



   Awesome TTS & ASR
        Many languages
Tropo Scripting



            Hosted
Tropo Scripting



      Reduced Control
Tropo Scripting



     Debugging Difficult
Tropo Scripting



 Integration points limited
Ruby & Telephony: The Options
Twilio



         Hosted platform
Twilio



   Self-host Applications
Twilio



         HTTP API
Twilio



    Application Flexibility
         Any language, any framework
Twilio



   Mostly fire-and-forget
Twilio



         Few opportunities
            to interrupt
Twilio



         Enforced stateless
Ruby & Telephony: The Options
The Ruby Approach
The Ruby Approach
Adhearsion: The Ruby Approach



     Voice Application
        Framework
Adhearsion: The Ruby Approach
Adhearsion: The Ruby Approach



    Hosting flexibility
  (VM, PaaS, anywhere)
Adhearsion: The Ruby Approach



  Many integration points
Adhearsion: The Ruby Approach



     Platform Agnostic
Adhearsion: The Ruby Approach



         Just Ruby
Adhearsion: The Ruby Approach



      Ability to interact
       between calls
Adhearsion: The Ruby Approach



  Simple, Extensible API
Adhearsion: The Ruby Approach



        Get Involved
          adhearsion.com
 github.com/adhearsion/adhearsion
adhearsionconf.com
Thanks! Questions?

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

    Ben Klang        Ben Langfeld
     @bklang         @benlangfeld

Mais conteúdo relacionado

Semelhante a Infiltrating Telecoms Using Ruby

Cohesive soa solutions
Cohesive soa solutionsCohesive soa solutions
Cohesive soa solutions
Archana Negi
 
Web 3 Tom Gruber
Web 3 Tom GruberWeb 3 Tom Gruber
Web 3 Tom Gruber
Mediabistro
 
Mobile Landscape
Mobile LandscapeMobile Landscape
Mobile Landscape
Jeff Small
 
SIP trunking: Weapon of mass communication
SIP trunking: Weapon of mass communicationSIP trunking: Weapon of mass communication
SIP trunking: Weapon of mass communication
Flowroute
 
FutureComm 2010: IP Video Communications - Trends and Challenges
FutureComm 2010: IP Video Communications - Trends and ChallengesFutureComm 2010: IP Video Communications - Trends and Challenges
FutureComm 2010: IP Video Communications - Trends and Challenges
RADVISION Ltd.
 

Semelhante a Infiltrating Telecoms Using Ruby (20)

Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grails
 
IT Event Report of TC Disrupt/GMIC
IT Event Report of TC Disrupt/GMICIT Event Report of TC Disrupt/GMIC
IT Event Report of TC Disrupt/GMIC
 
WebRTC: The Big Debate - I Say Shut and Build Something!
WebRTC: The Big Debate - I Say Shut and Build Something!WebRTC: The Big Debate - I Say Shut and Build Something!
WebRTC: The Big Debate - I Say Shut and Build Something!
 
Mobile Phone 2012
Mobile Phone 2012Mobile Phone 2012
Mobile Phone 2012
 
Twilio Signal 2016 Keynote
Twilio Signal 2016 Keynote Twilio Signal 2016 Keynote
Twilio Signal 2016 Keynote
 
VOIP BASIC
VOIP BASICVOIP BASIC
VOIP BASIC
 
Cohesive soa solutions
Cohesive soa solutionsCohesive soa solutions
Cohesive soa solutions
 
Web 3 Tom Gruber
Web 3 Tom GruberWeb 3 Tom Gruber
Web 3 Tom Gruber
 
There is a New Way
There is a New WayThere is a New Way
There is a New Way
 
Jade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costsJade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costs
 
Going Live
Going LiveGoing Live
Going Live
 
Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14
 
Mobile Landscape
Mobile LandscapeMobile Landscape
Mobile Landscape
 
Introduction to Adhearsion
Introduction to AdhearsionIntroduction to Adhearsion
Introduction to Adhearsion
 
Beyond LTE Launch
Beyond LTE LaunchBeyond LTE Launch
Beyond LTE Launch
 
SIP trunking: Weapon of mass communication
SIP trunking: Weapon of mass communicationSIP trunking: Weapon of mass communication
SIP trunking: Weapon of mass communication
 
VoIP
VoIPVoIP
VoIP
 
Planning for BYOD and CYOD in future UCC infrastructure
Planning for BYOD and CYOD in future UCC infrastructurePlanning for BYOD and CYOD in future UCC infrastructure
Planning for BYOD and CYOD in future UCC infrastructure
 
The Village Telco - A WiFi Mesh Telephone Network - By Steve Song
The Village Telco - A WiFi Mesh Telephone Network - By Steve SongThe Village Telco - A WiFi Mesh Telephone Network - By Steve Song
The Village Telco - A WiFi Mesh Telephone Network - By Steve Song
 
FutureComm 2010: IP Video Communications - Trends and Challenges
FutureComm 2010: IP Video Communications - Trends and ChallengesFutureComm 2010: IP Video Communications - Trends and Challenges
FutureComm 2010: IP Video Communications - Trends and Challenges
 

Mais de Mojo Lingo

Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
Mojo Lingo
 

Mais de Mojo Lingo (20)

ConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone StarConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone Star
 
AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it Breaks
 
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling Asterisk
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All Terrible
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP Folks
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through Adhearsion
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Infiltrating Telecoms Using Ruby