tropo presentation at the telecom api workshop

44
Telephony !@#$%^&* Daniel C. Burnett, Ph.D. Chief Scientist, Tropo 1

Upload: alan-quayle

Post on 08-May-2015

2.052 views

Category:

Technology


0 download

DESCRIPTION

Presentation given by Tropo (Dan Burnett) at the SDP Global Summit in Rome 20th Sept 2013

TRANSCRIPT

Page 1: Tropo Presentation at the Telecom API Workshop

Telephony !@#$%^&*

Daniel C. Burnett, Ph.D.

Chief Scientist, Tropo

1

Page 2: Tropo Presentation at the Telecom API Workshop

2

And you are??

Page 3: Tropo Presentation at the Telecom API Workshop

� Ubiquitous, free platform (HTML)

� Unified mechanism for accessing resources (URIs)

� Developer-friendly � Simple APIs (HTML + CSS + JS) � No software to buy or set up à my 13-year-old can do it � Free documentation on the web à developers self-train

3

What caused success of the Web?

Let's learn from this!

Page 4: Tropo Presentation at the Telecom API Workshop

We are web developer focused

4

Why Tropo?

Page 5: Tropo Presentation at the Telecom API Workshop

Your pipe + Your subscriber community

+ Web-style simplicity for developers

=

Smart pipe

5

Growing the smart pipe

Page 6: Tropo Presentation at the Telecom API Workshop

� Calling was

� Video phones � Calls that moved with you � Everything should just "work together"

6

When magic reigned

Page 7: Tropo Presentation at the Telecom API Workshop

� It's TOO HARD

� Billing � Compliance issues � Cost of research � Cost of failure (being fired) � Reliability

7

What happened?

Page 8: Tropo Presentation at the Telecom API Workshop

8

The problem

T-1

"Telephony sucks" - Jonathan Taylor, founder of Voxeo

Make it simpler

Page 9: Tropo Presentation at the Telecom API Workshop

9

SIP must be the answer (late 90's)

Protocol coding

"Telephony sucks" - Jonathan Taylor, founder of Voxeo

Make it simpler

Page 10: Tropo Presentation at the Telecom API Workshop

10

CallML/CCXML/VXML must be the answer (early 2000's)

XHTML -> HTML 4/5

"Telephony still too hard" - Jonathan Taylor, founder of Voxeo Labs (Tropo)

Make it more appealing

(mid 2000's)

(Oct 2010)

Page 11: Tropo Presentation at the Telecom API Workshop

11

Tropo appeals to Web Developers

Automates call endpoints

"Why not in your calls?" - Jose De Castro, Tropo CTO

Bring web development to the core network

(Mar 2009)

Page 12: Tropo Presentation at the Telecom API Workshop

12

Ameche is the (additional) answer

Automates call midpoints

Apps in your calls™

(Oct 2012)

Page 13: Tropo Presentation at the Telecom API Workshop

13

So what's the point?

We will never stop trying to make telephony (app dev) simpler

innovating

Page 14: Tropo Presentation at the Telecom API Workshop

14

Our products

Simple JQuery API for building web client -  Voice/video -  IM/SMS/Twitter -  Of course

WebRTC -  Corresponding SIP

proxying gateway

Simple web scripting API for call endpoint apps -  Write in JS, Ruby,

Groovy, Python, PHP -  Call/forward/answer -  Speech recognition/

synthesis -  SIP/PSTN/IM/SMS/

Skype/Twitter -  150k+ developers

cPaaS using Simple NodeJS API for mid-call apps -  Voice, video, SMS -  Integrates with

-  SMS or MSC -  API management -  Cloud

deployment

30-second sign-up Developer sandbox

30-second sign-up Developer sandbox

30-second sign-up Developer sandbox

Page 15: Tropo Presentation at the Telecom API Workshop

15

Our products

Simple JQuery API for building web client -  Voice/video -  IM/SMS/Twitter -  Of course

WebRTC -  Corresponding SIP

proxying gateway

Simple web scripting API for call endpoint apps -  Write in JS, Ruby,

Groovy, Python, PHP -  Call/forward/answer -  Speech recognition/

synthesis -  SIP/PSTN/IM/SMS/

Skype/Twitter -  150k+ developers

cPaaS using Simple NodeJS API for mid-call apps -  Voice, video, SMS -  Integrates with

-  SMS or MSC -  API management -  Cloud

deployment

30-second sign-up Developer sandbox

30-second sign-up Developer sandbox

30-second sign-up Developer sandbox

Not just APIs – these appear as native code.

REST is tiresome!

Page 16: Tropo Presentation at the Telecom API Workshop

Phono example

<head> <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script src="http://s.phono.com/releases/1.1/jquery.phono.js"></script> </head> … $.phono({ onReady: function() { this.phone.dial("sip:[email protected]") } });

Place call or take call.

16

Page 17: Tropo Presentation at the Telecom API Workshop

<head> <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script src="http://s.phono.com/releases/1.1/jquery.phono.js"></script> </head> … $.phono({ onReady: function(event) { alert("My SIP address is sip:" + this.sessionId); }, phone: { onIncomingCall: function(event) { var call = event.call; alert("Incoming call"); call.bind({ onHangup: function(event) { console.log("Call hung up"); }); } } });

Phono example

Place call or take call.

17

Page 18: Tropo Presentation at the Telecom API Workshop

Tropo example

var facebook = new FacebookClient(authToken); var location = facebook.getLastCheckinLocation(); if(GeoUtils.getCountry(location) != 'USA') { var answer = ask('Dan is traveling right now. Do you still want to call him?', {choices: 'yes, no' }); if(answer == 'yes') { transfer(currentCall.calledId); } else { say('Okay. Try texting him.') } } }

Intercepts called number and verifies location before continuing.

18

Page 19: Tropo Presentation at the Telecom API Workshop

Ameche example

var ameche=require('ameche'); ameche.on('subscriber', function(subscriber) { subscriber.on('call:outgoing', function(call) { if(call.to=='tel:411'){ call.connect('tel:+1800GOOG411'); } }); });

Intercepts calls to 411 and redirects them to Google's Directory Assistance •  Could be billed at net profit over 411 DA •  Could be charged to developer offering service

19

Page 20: Tropo Presentation at the Telecom API Workshop

� Crunched (Tropo + Phono)

� myaNUMBER (Tropo + Phono)

� Tropo is also deployed in both AT&T and Deutsche Telekom's developer gardens

20

Selected deployments

Page 21: Tropo Presentation at the Telecom API Workshop

Crunched: Tropo and Phono

Crunched uses Tropo to •  Record calls and log them to SalesForce.com

Crunched added Phono in May 2013 to •  Provide high-quality voice, supported in all browsers, whether WebRTC enabled or not

Recently acquired by ClearSlide

"a sales and marketing intelligence platform that helps companies close more deals with deeper insights into their customers"

Crunched features: •  Full audio and video conferencing, with presentation and screen sharing •  Automatic call recording and logging to SalesForce.com •  Measures who's paying attention in meetings, who's reading emailed

presentations, and how much time they spend reading each slide •  Simple web interface with no download, using high-quality audio

21

Page 22: Tropo Presentation at the Telecom API Workshop

myaNumber: Tropo and Phono

"One phone number for your family."

Myanumber features: •  One number for your children to call (local or toll-free) •  Up to 5 caregiver numbers (Mom, Dad, Grandma, friend, etc.) •  Rings simultaneously or in sequence, as configured •  Group text among caregivers, caregiver location information •  Automated transcription of call sent to all caregivers

•  Basic cost: $9.99/mo or $89.99/yr, incl. 200 call minutes and 100 SMS

Tropo provides: •  Voice and SMS

Other (AT&T) APIs used: •  payment API •  locator API •  in-app messaging API so SMS from a browser looks like its sent from the person’s mobile •  speech to text API

Phono provides: •  Voice and SMS from a browser

22

Page 23: Tropo Presentation at the Telecom API Workshop

� SalesForce Call Logging (Tropo or Ameche)

� In-Call Assistant (Ameche)

� Social Weaving (Tropo or Ameche)

� Context-based Call Routing (Tropo or Ameche)

� Possible Emerging Market Cases

23

Cool Use Cases

Page 24: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

SalesForce Call Logging: Description

The Problem Sales people forget to log their calls in SalesForce.com: incomplete analytics and missed business opportunities.

The Solution - Integrated Call Logging When a sales person makes or receives a call, this triggers a look-up using the number and CRM package. If the number matches a client’s number it triggers the display of the client’s information. All communications with clients are recorded and uploaded in real-time.

Retail Price - $5-10 per user/month (based on market research)

24

Page 25: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

SalesForce Call Logging: User Experience

Key features: logs all sales calls • Automatically • In real time • On sales person’s existing numbers • To/from ANY device / number

SALES PERSON (Telco’s customer) can call / be called on their

existing numbers.

CLIENT can call / be called on any device; as long as the phone number is registered

in the CRM package the application will be triggered.

Telco

1.Script running on Tropo or app on

Ameche checks client’s number using SFDC

public APIs

3. Sales Person views all call logs and audio file and transcriptions from their salesforce.com account

2. If number is a client then app logs call and passes records to SFDC using public APIs upon call completion

25

Page 26: Tropo Presentation at the Telecom API Workshop

SalesForce Call Logging: Business Models

Individual purchase

$5-10 pm

$5k-10k pm

15% retained by SFDC

$4.25-8.5 pm

$4.25k-8.5k pm

Distribution Through SFDC AppExchange

Distribution Direct / Partner (Non-SFDC Implementations)

Telco���SI / CRM Partners (e.g.

SAP)

$5k-10k pm� + Set-up fee

Revenue to Telco

Revenue to Telco

$5k-10k pm� (Set-up fee goes to SI plus commission (2))

Notes: (1) Enterprise assumes 1000 seats. (2) Model is not limited to only SFDC, Telco may choose to deliver in partnership with local system integrators and other CRM platforms either cloud or premise-based.

Enterprise Purchase (1)

26

Page 27: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

In-Call Assistant: Description

The Problem Taking notes or sending a text while driving is dangerous. What if you could activate an in-call assistant to take notes, transcribe the call to text and send you an email or MMS message when you hang up?

The Solution - Voice Activated In-Call Assistant Through the power of your voice: record calls, take notes that upload to Evernote, listen and send email / SMS / IM / Tweet / to do list / blog posts, receive whisper meeting alerts during calls that only you hear, add people to calls, divert calls to other devices, check your calendar to add or change appointments, and lots more…

Retail Price - $1-7 per user/month (depending on features)

“Record this call”

[CHIME] “This call is being recorded...”

“Recording sent”

27

Page 28: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

In-Call Assistant: User Experience

Key features: • Works on any phone using the customer’s existing number • Activated on a specific context (e.g. driving) • Addresses campaign of “Don’t text and drive” • Extensible list of web and network services

Customer subscribes to the in-call assistant service. Saying a key phrase “Hello Green Genie” during a call activates the assistant. Or if the customer is in a specific context, e.g. receives an SMS while driving, the assistant calls them. Or they can call the assistant directly to use the power of their voice over their services. Telco

Using the power of their voice, customer can

control all their services

“Hello Green Genie”

28

Page 29: Tropo Presentation at the Telecom API Workshop

In-Call Assistant: Example Features

Drive time SMS Green Genie calls the subscriber and reads-out the SMS while the subscriber is driving. The subscriber can then say “reply” to answer the SMS using their voice, or create a new SMS, or review an old SMS.

Call recording On a call and need to take a note? Say “Hello Green Genie, record call.” The call is recorded, transcribed and sent by email or MMS to the subscriber or to Evernote.

Add a line On a call and need to add someone onto the call? Say “Hello Green Genie, add Bob” (this assumes contact list synced) or “add phone number 888 888 8888.” The person is called and added to the existing call if they answer.

Email by voice The subscriber can call Green Genie and say, “check my email” and the email titles and senders are read out. The subscriber can then reply or forward the emails, again through the power of their voice.

Tweet by voice The subscriber can call “Green Genie” or while on a call say, “check my tweets” and can listen to their tweets, and then like, retweet, or create new tweets through the power of their voice.

Whisper reminders While on a call, the subscriber can receive meeting reminders via whispers,

Business Integration On a call and need the customer's order status? Say “Hello Green Genie, order status, Fred Jones.” And listen to the status while on the phone.

29

Page 30: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

In-Call Assistant: Recording

3. Returns whisper to customer “Recording,” or could announce to both parties the call is being recorded (1).

Called or Calling Party

Telco’s Customer

1. Customer is on a call and says “Hello Green Genie, record call.”

2. Green Genie App running on Ameche

is activated on detecting keyword “Hello Green Genie”

and command phrase “record call”.

Telco IMS/���

NGIN

4. At the end of the call the recording is sent to the customer as either an audio file or transcribed and saved by email, MMS or web service such as Evernote (using their public API). (2)

Note: (1) other party will hear the voice commands unless the customer mutes their line. (2) would require customer to set preferences, default can be set by the operator. 30

Page 31: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

In-Call Assistant: SMS while driving

3. Since customer status is ”driving” and SMS is received, Green Genie places a call to customer and reads text of SMS.

Customer

1. Customer’s status is driving, e.g. location is on a highway moving at >10 mph

2. Customer receives an SMS

which is passed to Green Genie;

customer's context is checked.

Telco

IMS/���NGIN

4. Customer can use speech commands within the call such as: “Reply” “Send SMS to 888 888 8888 or Bob” “Forward SMS to 888 888 8888 or Bob” Names assume address book is sync’ed.

31

Page 32: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

In-Call Assistant: Business Model

•  Service already exists, e.g. Dial2do, Excendia, with pricing in the range of $2.50 per month to $10 per month depending on feature set. •  Dial2do has 100k+ direct paying customers as service is

bundled with high-end Bluetooth headsets, e.g. Jabra, Jawbone, Plantronics

•  Basic service could be ad-supported, e.g. each time the service is invoked it includes voice based adverts.

•  In-Call integration and integration with existing communication services provides a significantly enhanced experience compared to Dial2do’s offer – possible for a premium on existing pricing.

•  "Don’t text and drive" campaigns are ideal vehicles to promote the service across consumer and enterprise segments; customers simply use their voice as they have done for decades while driving.

•  Recommend offering as a bolt-on to existing consumer and enterprise packages

32

Page 33: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Social Weaving: Description

The Opportunity Social Networking sites like Facebook and LinkedIn have changed the way the world communicates. Rather than fight this movement, operators have an opportunity to integrate the mobile experience with these services to promote their brands every time someone uses their phone.

The Solution - Social Call Activity. Social Caller ID. Operators can weave real-time voice and text conversations into social streams. For example, a service can be created that logs call activity and SMS messages to the user’s public or private activity feed on Facebook, allowing them to see all their conversations in one place. Called your mom on her birthday? You get a ‘good daughter’ badge :-)" Another service could trigger a real-time Social Caller ID window on LinkedIn with the caller’s profiles and latest activity stream.

33

Page 34: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Social Weaving: User Experience

Key features: • Works on any phone using the customer’s existing number • Privacy rules can filter who sees the status update and how the message is presented • Multiple business models supported

Customer signs up for Social Caller ID status via their preferred social network, or their Telco’s self-serve

account, then set their privacy rules and contact list integration; for example, the status update could say “On a call” or with contact list integration they could say,

“On a call with Fred Jones”.

Telco

Any call activity generates status updates pushed to the customer’s preferred social networks. Update can either be a paid-for service (no telco brand) or free (ad-supported) where the update reads “Liz is busy on a call. Sponsored by Telco X”

34

Page 35: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Social Weaving: Technology

Telco’s Customer

1. Telco’s customer makes or receives calls

2. Call activity results in either the script on Tropo

or the app on Ameche sending an updated

status message through the Facebook public API

Telco IMS /���NGIN

3. Telco’s customer status message is updated when on a call. When call completes status is again updated.

35

Page 36: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Social Weaving: Business Model

•  Paid-for Model •  Assuming 10M subscribers of whom 25% are actively using a business social network (assuming

only business subscribers would pay) and only 5% sign up at $2 per month, that would generate a monthly revenue of $250k.

•  Advertising Equivalent Model •  Assume 10M subscribers, 50% of whom actively use on average 1.5 social networks, e.g.

Facebook, Google+, LinkedIn. •  Assume only 5% of those active subscribers sign-up for the service, and on average have 4.5 calls

per day, and each view generates 20 views from friends •  This will generate

•  10M (total operator subscribers) •  * 50% (half use social networks) •  * 1.5 (a personal and a business social network) •  * 5% (of those social subscribers sign-up to the service) •  * 4.5 * 30 (calls per month) •  * 20 (views of the status update) •  = 1000M impressions per month

•  Assuming a CPM (Cost per Thousand) impressions of $20 would cost the equivalent of $20M in internet advertising per month

36

Page 37: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Context-based Call Routing

The Opportunity With many devices (think WebRTC), simultaneous ringing or sequential ringing can be at best annoying and at worst unworkable. With context-based calling the call goes directly to the device you’re using, or depending on your context to voicemail for further processing.

The Solution – Context-based routing. This service mashes up customer context across all their devices with call control to enable calls to be directed to the customer’s last used device, or the most appropriate device given their context. For example the last used device could be their desktop PC, while their location shows they are away from their desk, hence the call would be directed to their preferred mobile device. Through the use of black and white lists customers can control what calls are received at home outside of normal working hours, passing them through an interrogation filter to ensure a work call is urgent before they are interrupted at home with their family.

37

Page 38: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Context-based Call Routing: User Experience

Key features: • Works on any phone using the customer’s existing number • Pre-configured based on the customers existing behavior • Multiple business models supported

Call goes directly to preferred available device using either presence, or the customer’s device priorities

based on their context defined by their location, time of day, calendar status, and the person calling.

When the customer enters a specific context, e.g. in a meeting, the service activates a set of screening and

forwarding rules (black list or white lists) for voice calls, SMS, MMS, video calls, and notification services such as missed call alerts. The service can have a number of preset typical contexts such as “Do Not Disturb”, “No

anonymous”, “On Holiday”, “Meeting”, “Commuting” as well as creating their own. Each context can have

specific black lists and white lists and rules for how their communications are controlled.

Telco

Telco’s Customer

Calling Party

38

Page 39: Tropo Presentation at the Telecom API Workshop

8 © Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Context-based Call Routing: Technology

Telco

Telco’s Customer

Calling Party

1. Call placed to Telco’s customer

2. Customer’s context gathered from both internal (device status (on/off) and location) and external (e.g. Outlook Calendar) sources.

3. Call routed to device based on customers preferences, or previous behavior. Note with Ameche the call can be re-routed mid-call, e.g. customer want to move from their PC to their mobile phone, and with Ameche this can be done through voice control.

39

Page 40: Tropo Presentation at the Telecom API Workshop

8

© Voxeo Corporation © Voxeo Corporation © Voxeo Corporation

Context-based Call Routing: Business Model

•  Feature differentiation for One Number services and One Number VoIP clients, e.g. Rogers One Number •  Competitive differentiator and added customer convenience to attract

customers to the service

•  Feature differentiation to group calling services like myaNumber (Family Security and Communication)

•  Monthly subscription fee for advanced context routing capabilities – targeting business users •  Surveys conducted by Tropo of its customer base indicate a price point in the

range of $2 to $4 per month, with the higher figure being for a learning system that routes on previous behaviors

40

Page 41: Tropo Presentation at the Telecom API Workshop

�  Automatic-Alternative Billing: Bills a call to an alternative account or credit card based on set of user defined policies, e.g. parents pay for their child to call home.

�  Pay-For-Me: Enables typically prepaid customers to request the called party to pay for the call. The request can be transmitted over SMS, MMS, USSD, voice announcement, SIP or WAP-push. The called party must accept before the call is set-up. Scenarios include prepaid users with low or no cash, for children calling their parents as part of a family plan, or for roamers that would like to have a cheaper call. Possible restrictions: the calling party's prepaid balance is under a configurable threshold, both parties are from the same service provider, and in specific roaming scenarios.

�  Low cash “Call Return” SMS: Service targets prepaid customers with low / no balance who cannot immediately reload their balance by sending a USSD code to the network which then sends a free-of-charge SMS to the requested party with the text “Please call me <and the customer’s number>”. Possible restrictions: limited to prepaid users with a residual balance, who are not roaming, and the requested party belongs to the same service provider. Also restrictions can be placed on the number of “Call me” service requests allowed per day, week or month.

�  Sponsored Calls: Cost conscious customers, or prepaid customers that are running low on funds, can get cheaper rates for voice calls, by accepting to listen to advertisements at the beginning of the call and/or at recurring times during the voice call. The advert provides the offset to the standard call charge. Its similar in concept to the adverts on TV, however targeting and advertiser education is required on the value offered by such advertising opportunities. The subscriber can invoke the service either for all their calls or on a call by call basis; it applies to only the customer’s outgoing calls.

41

Possible Emerging Market Cases

Page 42: Tropo Presentation at the Telecom API Workshop

�  Balance related •  Cash Transfer: Cash Transfer enables prepaid and postpaid customers to transfer cash onto another

customer‘s prepaid balance, either within the same operator or between operators depending on whether an inter-operator agreement exists or a third party service provider is used. The service is invoked through SMS, USSD, WAP or Web portals.

•  No Credit Notification: Notifies texters when recipients cannot reply because they're out of credit •  Prepaid community: Sets up a user community with a shared prepay balance, debited each time one

group member calls or texts another

�  Community related •  Community and Club Services: Enables communities and clubs to create private number schemes,

group SMS lists, and conference call service. •  Customer Created Community Services: Customer can create a premium SMS service, where

followers can subscribe to receive exclusive information. Or a group can set up a community messaging service for arranging who will pick up the team for the next match.

42

Possible Emerging Market Cases

Page 43: Tropo Presentation at the Telecom API Workshop

�  Call Duration Limitation: Limits the duration of certain calls, releasing them upon reaching a maximum. On family plans limit talk time of the kids.

�  Choose Your Number: Choose Your Number enables new customers to select a directory number out of a series of MSISDN numbers. Subscribers are charged when they accept one of the proposed numbers. The charge can vary depending upon the popularity of the number. The chosen number is activated in the network (provisioned in the HLR). The service interaction with the subscriber can be implemented with USSD messages/menus or WAP portals or Web self-service or voice/IVR interaction.

�  Policy-Based Call Accept / Reject: Policy-Based Call Accept / Reject service enables wireline or wireless customers to define a list of calling numbers that will be the only calling parties authorized (not authorized) to ring their phone. (Variant of Context-based Routing Use Case)

�  Voice Translator: Based on the language preferences of the subscriber they can automatically translate a voice recording into foreign languages.

43

Possible Emerging Market Cases

Page 44: Tropo Presentation at the Telecom API Workshop

44

Telephony no longer sucks

With ,

it's

What are you waiting for?