hey man, can i get a clue?
DESCRIPTION
TRANSCRIPT
![Page 1: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/1.jpg)
Cluecon 2009
Hey man, can I get a clue?
![Page 2: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/2.jpg)
![Page 3: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/3.jpg)
WHY ARE YOU HERE?
![Page 4: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/4.jpg)
To Watch Boring Presentations?
![Page 5: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/5.jpg)
To Browse The Web?
![Page 6: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/6.jpg)
![Page 7: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/7.jpg)
Or To Change The World?
![Page 8: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/8.jpg)
Get Passionate OR Get Out!
![Page 9: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/9.jpg)
So lets talk about...
![Page 10: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/10.jpg)
Innovation
![Page 11: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/11.jpg)
Telephony
![Page 12: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/12.jpg)
Locked Out
![Page 13: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/13.jpg)
This is not how it has to be...
![Page 14: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/14.jpg)
Web 2.0
![Page 15: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/15.jpg)
Simplicity
![Page 16: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/16.jpg)
Open
![Page 17: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/17.jpg)
So how can we find simplicity and salvation?
![Page 18: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/18.jpg)
Religion
![Page 19: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/19.jpg)
But What Religion?
![Page 20: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/20.jpg)
XML
![Page 21: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/21.jpg)
VoiceXML and CCXML
![Page 22: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/22.jpg)
Like Tribbles...
![Page 23: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/23.jpg)
It has taken over the Enterprise...
![Page 24: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/24.jpg)
But it’s kind of like working for “the man”
![Page 25: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/25.jpg)
So... How about API’s...
![Page 26: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/26.jpg)
A Favorite of Carriers
![Page 27: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/27.jpg)
Java
![Page 28: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/28.jpg)
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.
![Page 29: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/29.jpg)
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
![Page 30: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/30.jpg)
Many Others...
![Page 31: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/31.jpg)
But are they Simple?
![Page 32: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/32.jpg)
Are they cool?
![Page 33: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/33.jpg)
Frack No!
![Page 34: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/34.jpg)
So...
![Page 35: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/35.jpg)
Tropo.com
![Page 36: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/36.jpg)
answer();say("Hello, world!");
hangup();
Tropo is Simple
![Page 37: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/37.jpg)
Ruby
Telephony in YOUR Language
![Page 38: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/38.jpg)
Simple to Learn
•! answer
•! redirect
•! reject
•! call
•! transfer
•! hangup
•! ask
•! say
•! record
•! log
•! wait
•! default
![Page 39: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/39.jpg)
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
![Page 40: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/40.jpg)
What are the Ingredients?
![Page 41: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/41.jpg)
SIP Servlets(JSR289)
SIPMethod
![Page 42: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/42.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
![Page 43: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/43.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
Scripting(JSR223)Rhino, Jython, Jruby,Groovy, Quercus etc...
![Page 44: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/44.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
Scripting(JSR223)Rhino, Jython, Jruby,Groovy, Quercus etc...
Java
![Page 45: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/45.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
Scripting(JSR223)Rhino, Jython, Jruby,Groovy, Quercus etc...
Java
![Page 46: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/46.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
Scripting(JSR223)Rhino, Jython, Jruby,Groovy, Quercus etc...
Java
![Page 47: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/47.jpg)
SIP Servlets(JSR289)
Media Control(JSR309)
SIPMethod Prophecy
Scripting(JSR223)Rhino, Jython, Jruby,Groovy, Quercus etc...
Applications
Java
![Page 48: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/48.jpg)
How about some code?
![Page 49: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/49.jpg)
T.1: Hello World
JavaScript and PHP
answer();
say("Hello, world!");
hangup();
Ruby
answer
say "Hello, world!”
hangup
Groovy
answer()
say 'Hello, world!'
hangup()
Python
answer()
say("Hello, world !")
hangup()
![Page 50: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/50.jpg)
// -----------// 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();
Asking for Input - JavaScript
![Page 51: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/51.jpg)
# 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 - Python
![Page 52: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/52.jpg)
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"); }}
Using ASR and DTMF - JavaScript
![Page 53: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/53.jpg)
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")}
Twitter Example - Groovy
![Page 54: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/54.jpg)
Easy as Pie!
![Page 55: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/55.jpg)
But wait, there’s more!
![Page 56: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/56.jpg)
![Page 58: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/58.jpg)
![Page 59: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/59.jpg)
So...
![Page 60: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/60.jpg)
Wrapping Up
![Page 61: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/61.jpg)
So why is this important?
![Page 62: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/62.jpg)
Quick Poll: Are you a phone developer?
![Page 63: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/63.jpg)
The Depressing Facts of Life
Phone Developers Web Developers
![Page 64: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/64.jpg)
The Phone Developer is DEAD!
![Page 65: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/65.jpg)
THAT MEANS YOU
![Page 66: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/66.jpg)
Don’t create phone applications...
![Page 67: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/67.jpg)
Instead create applications that use the phone...
![Page 68: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/68.jpg)
![Page 69: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/69.jpg)
Create Communication Applications
![Page 70: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/70.jpg)
Why?
![Page 71: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/71.jpg)
Kids don’t talk on the phonehttp://www.flickr.com/photos/tavallai/2084954580/
![Page 72: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/72.jpg)
Communication World is Changing
![Page 73: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/73.jpg)
http://www.flickr.com/photos/tavallai/2084954580/
Are you going to change with it?
http://www.flickr.com/photos/eleaf/2536358399/
![Page 74: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/74.jpg)
![Page 75: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/75.jpg)
Love me? Hate me? Say what you want about me...
![Page 76: Hey man, can I get a clue?](https://reader034.vdocuments.us/reader034/viewer/2022051209/548109d6b4af9f0a2c8b4725/html5/thumbnails/76.jpg)
Tropo.com Script Based Communcation Apps
XML Telephony