Voicecon - Mashups with Tropo.com

2,330 views

Published on

Published in: Technology
  • Be the first to comment

Voicecon - Mashups with Tropo.com

  1. 1. VoiceCon - Orlando, FL - March 31st 2009 Creating Voice Mashups with Tropo RJ Auburn CTO rj@voxeo.com
  2. 2. Telephony
  3. 3. Sucks
  4. 4. Expensive
  5. 5. Complex
  6. 6. This is not how it should be...
  7. 7. Simple
  8. 8. Ubiquitous
  9. 9. Open
  10. 10. What Does It Look Like?
  11. 11. Application API XML Tools Platform
  12. 12. Application Application API XML Tools Platform
  13. 13. Application API XML Tools Platform
  14. 14. So...
  15. 15. Religion
  16. 16. XML
  17. 17. VoiceXML and CCXML
  18. 18. Big Enterprise
  19. 19. So... How about API’s...
  20. 20. Java
  21. 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. 22. So. We Have Java...
  23. 23. But is it Simple?
  24. 24. Is it cool?
  25. 25. Well Not Exactly...
  26. 26. So...
  27. 27. Tropo.com
  28. 28. answer(); say(quot;Hello, world!quot;); hangup(); Tropo is Simple
  29. 29. Ruby Speaks YOUR Language
  30. 30. •! answer •! redirect •! ask •! reject •! say •! log •! record •! wait •! call •! default •! transfer •! hangup Simple to Learn
  31. 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. 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. 33. What are the Ingredients ?
  34. 34. Applications Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
  35. 35. How about some code?
  36. 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. 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. 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. 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. 40. How about a mashup?
  41. 41. http://docs.tropo.com/samples:ruby-yahooweather
  42. 42. Looking at the big picture http://flickr.com/photos/txd/100437832
  43. 43. So why is this important?
  44. 44. Phone Developers Web Developers Developers
  45. 45. The Phone Developer is DEAD!
  46. 46. Web 2.0
  47. 47. Innovation
  48. 48. RJ Auburn rj@voxeo.com tropo.com

×