Real-time Communications for Ruby
Euruko 2009 - Barcelona
Open-Source Tropo & Cloud

                                           Tropo
             Control API         Routing      ...
Moho
Muti-channel Communications Java
Framework
– Wraps SIP Servlets and Java Media Control API
   • JSR-289 / JSR-309
   ...
Tropo Overview

 Cloud Service & Open-source
 Unified Communications API
 – Simple. Only 15 commands.
 – Synchronous Progr...
Tropo WebAPI

 REST API
 – Familiar request/response model
 – JSON
 – Great for communictions enabling existing applicatio...
Tropo WebAPI - Ruby Gem




      gem install tropo-webapi-ruby
  https://github.com/voxeo/tropo-shims
Example App - OpenVoice

•   Open-source Rails telephony framework, implement on top
    of Tropo WebAPI by Zhao Lu (@zlu)...
Tropo Scripting

 Scripting
 – No web server required
 – May run your app entirely in the ‘cloud’
 – Similar to Google App...
Tropo Scripting - JVM

     Rhino              JRuby


                        Ruby


  Jython
              Quercus
Tropo Scripting

 Open-source and in the cloud
 – Similar to Google AppEngine
 – No Hosting Required
 – Limited Library Su...
Language Bindings
 Each Supported Language Gets a “Shim”
  – Thin wrapper over native Java API
  – Mainly convert from lan...
Code and Demos
Play the Simon game:

   Skype +99000936 9991442790

Speak in English or enter touch tones


           For more info:
   ...
Upcoming SlideShare
Loading in …5
×

Realtime Enabling Your Ruby Applications

2,347 views
2,222 views

Published on

Presentation given at Euruko 2010 in Krakow, Poland.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,347
On SlideShare
0
From Embeds
0
Number of Embeds
67
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide














  • Realtime Enabling Your Ruby Applications

    1. 1. Real-time Communications for Ruby
    2. 2. Euruko 2009 - Barcelona
    3. 3. Open-Source Tropo & Cloud Tropo Control API Routing Sciprting WebAPI Java Moho State Machine Events Monitoring Plugins... JSR 289 JSR 309 JMX Clustering PRISM Application Server Oracle/Sun JBOSS Speech Audio / Video Call Recording Text to Speech Recognition Conference Plugin Signal WAV / MP3 MRCP Architecture Detection Prophecy Media Server
    4. 4. Moho Muti-channel Communications Java Framework – Wraps SIP Servlets and Java Media Control API • JSR-289 / JSR-309 • Runs on Prism, Mobicents, SailFin, etc. – Asynchronous Programming Model (Events, Actors, etc.) – Multi-channel Driver (Voice, SMS and IM) – Common concepts “baked in” • Conferencing • Mixing • Call Queueing • Call Recording • Mute/Unmute • Transcoding • Answering Machine Detection • Much more! http://labs.voxeo.com/moho
    5. 5. Tropo Overview Cloud Service & Open-source Unified Communications API – Simple. Only 15 commands. – Synchronous Programming Model – Speech Recognition / Speech Synthesis • Dutch, English, French, Italian, German, Polish, Spanish – Transcription – Single API for Voice, IM, SMS and Twitter Comes in Two Flavors – WebAPI – Scripting
    6. 6. Tropo WebAPI REST API – Familiar request/response model – JSON – Great for communictions enabling existing applications – Works with Ruby on Rails, Sinatra & Others
    7. 7. Tropo WebAPI - Ruby Gem gem install tropo-webapi-ruby https://github.com/voxeo/tropo-shims
    8. 8. Example App - OpenVoice • Open-source Rails telephony framework, implement on top of Tropo WebAPI by Zhao Lu (@zlu) • Supports followme, call screen, caller announcement, voicemail transcription, call recording, and more • Supports SIP, Skype, SMS, and IM • Web interface and Android client • Runs on Heroku, fork that runs on GoogleApp engine https://github.com/zlu/openvoice
    9. 9. Tropo Scripting Scripting – No web server required – May run your app entirely in the ‘cloud’ – Similar to Google AppEngine, but not for generic applications – We run your scripts in our cloud
    10. 10. Tropo Scripting - JVM Rhino JRuby Ruby Jython Quercus
    11. 11. Tropo Scripting Open-source and in the cloud – Similar to Google AppEngine – No Hosting Required – Limited Library Support (for now) answer say "Hello World!" hangup
    12. 12. Language Bindings Each Supported Language Gets a “Shim” – Thin wrapper over native Java API – Mainly convert from language-specific data structure to Java – Could be more “comfy” ask 'Wasabi mama, you single?', { currentCall.ask('Wasabi mama, you single?', :timeout => 30, 30, :choices => 'yes,no' new SimpleGrammar('yes,no') } ); https://github.com/voxeo/tropo-shims
    13. 13. Code and Demos
    14. 14. Play the Simon game: Skype +99000936 9991442790 Speak in English or enter touch tones For more info: http://tropo.com Twitter: @jsgoecke / @tropo

    ×