greach 2011 - building telephony apps with groovy and grails

40
Building Telephony Apps with Groovy and Grails

Upload: greaches

Post on 07-Dec-2014

1.614 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

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