Your SlideShare is downloading. ×
Voicecon - Mashups with Tropo.com
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Voicecon - Mashups with Tropo.com

1,928
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,928
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. VoiceCon - Orlando, FL - March 31st 2009 Creating Voice Mashups with Tropo RJ Auburn CTO rj@voxeo.com
  • 2. Telephony
  • 3. Sucks
  • 4. Expensive
  • 5. Complex
  • 6. This is not how it should be...
  • 7. Simple
  • 8. Ubiquitous
  • 9. Open
  • 10. What Does It Look Like?
  • 11. Application API XML Tools Platform
  • 12. Application Application API XML Tools Platform
  • 13. Application API XML Tools Platform
  • 14. So...
  • 15. Religion
  • 16. XML
  • 17. VoiceXML and CCXML
  • 18. Big Enterprise
  • 19. So... How about API’s...
  • 20. Java
  • 21. SIP Servlets - Standard Java based API for writing SIP applications. - 1.0 standardized as JSR-116. - 1.1 just released as JSR-289 - Extends the HTTP Servlet model to support SIP and telephony applications - http://www.sipservlet.com/ - Supported by a large number of application servers including Oracle (BEA), IBM, Sun, Voxeo. 21 © Voxeo Corporation
  • 22. So. We Have Java...
  • 23. But is it Simple?
  • 24. Is it cool?
  • 25. Well Not Exactly...
  • 26. So...
  • 27. Tropo.com
  • 28. answer(); say(quot;Hello, world!quot;); hangup(); Tropo is Simple
  • 29. Ruby Speaks YOUR Language
  • 30. •! answer •! redirect •! ask •! reject •! say •! log •! record •! wait •! call •! default •! transfer •! hangup Simple to Learn
  • 31. •Hosted offering •Accessible via •PSTN numbers •SIP URI •Direct Skype •iNum – Gizmo5, etc •Inbound calling •Outbound calling •70,000 port capacity Simple to Deploy
  • 32. •No contracts •No setup costs •No commitment •Costs just 3 cents per minute •Credit card or paypal charge in $50 blocks •Five minutes from sign-up to live deployment + = GO Simple Business Model
  • 33. What are the Ingredients ?
  • 34. Applications Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
  • 35. How about some code?
  • 36. T.1: Hello World JavaScript and PHP Ruby answer(); answer say(quot;Hello, world!quot;); say quot;Hello, world!” hangup(); hangup Python Groovy answer() answer() say(quot;Hello, world !quot;) say 'Hello, world!' hangup() hangup()
  • 37. Asking for Input - JavaScript // ----------- // asking for input // ----------- answer(); result=ask( quot;Hi. For sales, press 1. For support, press 2.quot;, {choices:quot;1, 2quot;} ); if (result.name=='choice') { if (result.value==quot;1quot;) { say( quot;sales is not available right now.quot;) } if (result.value==quot;2quot;) { say( quot;support is currently on the other line.quot; ) } } hangup();
  • 38. Using ASR - Python # Using speech input instead of touch-tone answer() result = ask(quot;Hi. For sales, say sales. For support, say supportquot;, {'choices':quot;sales, supportquot;, 'repeat':3}) if (result.name == 'choice'): if (result.value == quot;salesquot;): say(quot;Sales is not available right nowquot;) if (result.value == quot;supportquot;): say(quot;Support is currently on the other line.quot;) hangup()
  • 39. Using ASR and DTMF - JavaScript answer(); result=ask( quot;For sales, just say sales or press 1. For support, say support or press 2.quot;, { choices:quot;sales( 1, sales), support( 2, support)quot;, repeat:3, onBadChoice: function() { say(quot;I'm sorry, I didn't understand what you said.quot;) } } ); if (result.name=='choice') { if (result.value==quot;salesquot;) { say( quot;Ok, let me transfer you to sales.quot; ); transfer( quot;14075551111quot;); } if (result.value==quot;supportquot;) { say( quot;Sure, let me get support. Please hold.quot; ); transfer( quot;14085552222quot;); } }
  • 40. How about a mashup?
  • 41. http://docs.tropo.com/samples:ruby-yahooweather
  • 42. Looking at the big picture http://flickr.com/photos/txd/100437832
  • 43. So why is this important?
  • 44. Phone Developers Web Developers Developers
  • 45. The Phone Developer is DEAD!
  • 46. Web 2.0
  • 47. Innovation
  • 48. RJ Auburn rj@voxeo.com tropo.com