Greach 2011 - Building Telephony Apps with Groovy and Grails

40
Building Telephony Apps with Groovy and Grails

description

Ponencia de Martín Pérez en Greach 2011 "Building Telephony Apps with Groovy and Grails"

Transcript of Greach 2011 - Building Telephony Apps with Groovy and Grails

Page 1: Greach 2011 - Building Telephony Apps with Groovy and Grails

Building Telephony Apps with Groovy and Grails

Page 2: Greach 2011 - Building Telephony Apps with Groovy and Grails

2

Highlights since 1999

1999 2011

VoiceXML

CCXML

Asterisk 1.0

Tropo

Twilio

Ribbit

Page 3: Greach 2011 - Building Telephony Apps with Groovy and Grails

TropoReal-Time Cloud Communications

Page 4: Greach 2011 - Building Telephony Apps with Groovy and Grails

4

What is Tropo

• Platform for building communication apps.

• Cloud-based

• Supports multiple languages.

Page 5: Greach 2011 - Building Telephony Apps with Groovy and Grails

5

What is Tropo

• Application code runs in the Tropo cloud

• Can be hosted on our servers, or fetched from yours.

• Users interact with an app through multiple channels.

Page 6: Greach 2011 - Building Telephony Apps with Groovy and Grails

6

DSL

• Call

• Answer

• Transfer

• Reject

• Hangup

• Say

• Ask

• Record

• Conference

Page 7: Greach 2011 - Building Telephony Apps with Groovy and Grails

7© Voxeo Corporation© Voxeo Corporation© Voxeo Corporation

Technology Stack

Page 8: Greach 2011 - Building Telephony Apps with Groovy and Grails

8

Technology Stack

Page 9: Greach 2011 - Building Telephony Apps with Groovy and Grails

9

Features

• Phone channel supports DTMF and Speech Rec

• SIP interoperability

• Multiple IM networks

• Twitter

• TTS / ASR in 24 languages

• International SMS support

• Outbound rate limiting – 100 calls / second.

Page 10: Greach 2011 - Building Telephony Apps with Groovy and Grails

10

Built for Developers

• 100% free for developers.

• No credits, no limits on minutes, no hassles.

• Phone numbers are free for devs (41 countries).

• We don't play ads on dev calls.

• We don't ask for a CC until you're ready for production.

• 24x7 support – dev forums and IRC (#tropo) .

Page 11: Greach 2011 - Building Telephony Apps with Groovy and Grails

All About Apps

Über Status Unified status across Twitter, VoiceMail, etc.

Inbound Self-Service Simple and personal IVR for small business

SMB Contact Center Smart presence-enabled call routing

Many more...

Voice / IM Dialing Trigger calls using voice and IM channels

Smart Notifications Pervasive / multi-channel notifications

Voice-Enabled Games Conspire with team members in real-time

Social Mashups Twitter -> SMS | FaceBook -> Voice

Page 12: Greach 2011 - Building Telephony Apps with Groovy and Grails

12

Money

VoiceInbound: $0.02 / min

Outbound: $0.02 / min + Intl. Rate

Fixed = $0.02 / min

Mobile = $0.18 / min

Spain Intl. Rates

SMSInbound: $0.02 / each

Outbound: $0.02 / each

Note: Intl. needs to be enabled.

Page 13: Greach 2011 - Building Telephony Apps with Groovy and Grails

Samples

Page 14: Greach 2011 - Building Telephony Apps with Groovy and Grails

Samples

Page 15: Greach 2011 - Building Telephony Apps with Groovy and Grails

15

TROPO GRAILS PLUG-IN

Page 16: Greach 2011 - Building Telephony Apps with Groovy and Grails

16

TROPO GRAILS PLUG-IN

Controller

Controller

SESSION

ASK COLOR

RED

SAY RED

Page 17: Greach 2011 - Building Telephony Apps with Groovy and Grails

17

Open Source

http://www.github.com/tropo/tropo-webapi-grails

Page 18: Greach 2011 - Building Telephony Apps with Groovy and Grails

18

TROPO GRAILS PLUG-IN

Page 19: Greach 2011 - Building Telephony Apps with Groovy and Grails

19

TROPO GRAILS PLUG-IN

Page 20: Greach 2011 - Building Telephony Apps with Groovy and Grails

20

DEMO

http://www.github.com/tropo/tropo-restaurants-finder

+34 931 786 172

+990009369996138011

Page 21: Greach 2011 - Building Telephony Apps with Groovy and Grails

21

DEMO

https://github.com/mpermar/tropo-redis-grails-sample

+34 931 761 117

+990009369991490053

Page 22: Greach 2011 - Building Telephony Apps with Groovy and Grails

Real-Time Cloud Communications

Page 23: Greach 2011 - Building Telephony Apps with Groovy and Grails

PhonoSDK

● JavaScript Library

● Make and Receive Calls

● Instant Messaging

● Open Source

Bob Alice

Page 24: Greach 2011 - Building Telephony Apps with Groovy and Grails

© Voxeo Corporation© Voxeo Corporation© Voxeo Corporation

Simple

$.phono({ onReady: function() { this.phone.dial(“857-239-0087”); }});

Page 25: Greach 2011 - Building Telephony Apps with Groovy and Grails

Sip

$.phono({ onReady: function() { this.phone.dial(“sip:[email protected]”); }});

Page 26: Greach 2011 - Building Telephony Apps with Groovy and Grails

Tropo

$.phono({ onReady: function() { this.phone.dial(“app:991442445”, { Headers: [ { x-foo: “foo”, x-bar: “bar” } ]

}); }});

Page 27: Greach 2011 - Building Telephony Apps with Groovy and Grails

© Voxeo Corporation | CONFIDENTIAL

Phono Architecture

Media PluginsMedia Plugins

Page 28: Greach 2011 - Building Telephony Apps with Groovy and Grails

Phono Mobile

+ = Pure Awesome!

Page 29: Greach 2011 - Building Telephony Apps with Groovy and Grails

29

Open Source

http://www.github.com/phono

Page 30: Greach 2011 - Building Telephony Apps with Groovy and Grails

Next Geneneration

Real-Time Cloud Communications

Page 31: Greach 2011 - Building Telephony Apps with Groovy and Grails

31

The Web has gone Real-Time

Web Cloud Comm

Node.jsWebSockets

WebRTCXMPP / BOSH

Page 32: Greach 2011 - Building Telephony Apps with Groovy and Grails

32

The Real-Time Cloud

=XMPP Extension

Make + Receive Calls

Media ControlGeo Location

Messaging

Device Registration

Page 33: Greach 2011 - Building Telephony Apps with Groovy and Grails

Man in the Middle

Your App

Page 34: Greach 2011 - Building Telephony Apps with Groovy and Grails

34

Wow!

<iq>   <complete xmlns=”urn:ozone:ask:complete”>      <value>123</value>      <utterance>one two three</utterance>   </ask></iq>

<iq>   <ask xmlns=”urn:ozone:ask”>      <choices>[3 DIGITS]</choices>      <timeout>10s</timeout>   </ask></iq>

Ray

o C

lien

t

Page 35: Greach 2011 - Building Telephony Apps with Groovy and Grails

35

Wow!

Page 36: Greach 2011 - Building Telephony Apps with Groovy and Grails

36

Rayo Java Client!

Page 37: Greach 2011 - Building Telephony Apps with Groovy and Grails

37

Rayo Grails Plug-in DEMO

http://www.github.com/mpermar/lostrego

Page 38: Greach 2011 - Building Telephony Apps with Groovy and Grails

38

Wow!

Page 39: Greach 2011 - Building Telephony Apps with Groovy and Grails

39

Open Source

http://github.com/rayo

Page 40: Greach 2011 - Building Telephony Apps with Groovy and Grails

Thank You

@mpermar