• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hey man, can I get a clue?
 

Hey man, can I get a clue?

on

  • 3,343 views

 

Statistics

Views

Total Views
3,343
Views on SlideShare
3,044
Embed Views
299

Actions

Likes
2
Downloads
49
Comments
0

3 Embeds 299

http://blog.tropo.com 195
http://blogs.voxeo.com 102
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hey man, can I get a clue? Hey man, can I get a clue? Presentation Transcript

    • Cluecon 2009 Hey man, can I get a clue? RJ Auburn CTO rj@voxeo.com
    • WHY ARE YOU HERE?
    • To Watch Boring Presentations?
    • To Browse The Web?
    • Or To Change The World?
    • Get Passionate OR Get Out!
    • So lets talk about...
    • Innovation
    • Telephony
    • Locked Out
    • This is not how it has to be...
    • Web 2.0
    • Simplicity
    • Open
    • So how can we find simplicity and salvation?
    • Religion
    • But What Religion?
    • XML
    • VoiceXML and CCXML
    • Like Tribbles...
    • It has taken over the Enterprise...
    • But it’s kind of like working for “the man”
    • So... How about API’s...
    • A Favorite of Carriers
    • Java
    • 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.
    • JSR-309 - Java Media Server API - Based on the CCXML media model - Still in draft stage - Provides dialog resources, conferencing, media routing to Java applications
    • Many Others...
    • But are they Simple?
    • Are they cool?
    • Frack No!
    • So...
    • Tropo.com
    • answer(); say("Hello, world!"); hangup(); Tropo is Simple
    • Ruby Telephony in YOUR Language
    • •! answer •! redirect •! ask •! reject •! say •! log •! record •! wait •! call •! default •! transfer •! hangup Simple to Learn
    • Simple to Deploy •Hosted service or OPEN SOURCE •Accessible via Phone, SIP, Skype etc •Inbound and Outbound calling •Free for developers •No setup costs •Five minutes from sign-up to live deployment + = GO
    • What are the Ingredients?
    • SIP Servlets (JSR289) SIPMethod
    • SIP Servlets Media Control (JSR289) (JSR309) SIPMethod Prophecy
    • SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
    • Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
    • Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
    • Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
    • Applications Java SIP Servlets Media Control Scripting (JSR289) (JSR309) (JSR223) Rhino, Jython, SIPMethod Prophecy Jruby,Groovy, Quercus etc...
    • How about some code?
    • T.1: Hello World JavaScript and PHP Ruby answer(); answer say("Hello, world!"); say "Hello, world!” hangup(); hangup Python Groovy answer() answer() say("Hello, world !") say 'Hello, world!' hangup() hangup()
    • Asking for Input - JavaScript // ----------- // asking for input // ----------- answer(); result=ask( "Hi. For sales, press 1. For support, press 2.", {choices:"1, 2"} ); if (result.name=='choice') { if (result.value=="1") { say( "sales is not available right now.") } if (result.value=="2") { say( "support is currently on the other line." ) } } hangup();
    • Using ASR - Python # Using speech input instead of touch-tone answer() result = ask("Hi. For sales, say sales. For support, say support", {'choices':"sales, support", 'repeat':3}) if (result.name == 'choice'): if (result.value == "sales"): say("Sales is not available right now") if (result.value == "support"): say("Support is currently on the other line.") hangup()
    • Using ASR and DTMF - JavaScript answer(); result=ask( "For sales, just say sales or press 1. For support, say support or press 2.", { choices:"sales( 1, sales), support( 2, support)", repeat:3, onBadChoice: function() { say("I'm sorry, I didn't understand what you said.") } } ); if (result.name=='choice') { if (result.value=="sales") { say( "Ok, let me transfer you to sales." ); transfer( "14075551111"); } if (result.value=="support") { say( "Sure, let me get support. Please hold." ); transfer( "14085552222"); } }
    • Twitter Example - Groovy answer() if (currentCall.callerID == "8315551234") { def event = ask("Welcome RJ. Please enter the phone number you wish", [choices:"[10 DIGITS]",timeout:10]) if (event.name=="choice") { transfer(event.value) } else { say ("too slow bro.") hangup(); } } else { say("Thank you for calling RJ. We will connect you now.") say("His twitter status is") String xml = "http://twitter.com/statuses/user_timeline.xml?screen_name=zscgeek".toURL().text def strXML = new XmlParser().parseText(xml) say(strXML.statuses.status[0].text.text()) transfer("tel:+18315551234") }
    • Easy as Pie!
    • But wait, there’s more!
    • So...
    • Wrapping Up
    • So why is this important?
    • Quick Poll: Are you a phone developer?
    • Phone Developers Web Developers The Depressing Facts of Life
    • The Phone Developer is DEAD!
    • THAT MEANS YOU
    • Don’t create phone applications...
    • Instead create applications that use the phone...
    • Create Communication Applications
    • Why?
    • Kids don’t talk on the phone http://www.flickr.com/photos/tavallai/2084954580/
    • Communication World is Changing
    • Are you going to change with it? http://www.flickr.com/photos/tavallai/2084954580/ http://www.flickr.com/photos/eleaf/2536358399/
    • Love me? Hate me? Say what you want about me...
    • RJ Auburn rj@voxeo.com Tropo.com Script Based Communcation Apps XML Telephony