tropo presentation for tadhack
DESCRIPTION
Tropo presentation at TADHack 6/7 June 2014 at Teatro Goya in MadridTRANSCRIPT
Putting apps in your calls
Based in Menlo Park, California Creators of Tropo.com Community of over 200,000 developers Editors of the WebRTC Specification Growing deployments with global operators including AT&T, Deutsche Telekom, Globe and Vodafone with 4 additional operators planned in 2013
Introduction
Access
Presentation
Identity
Services
Billing
New Services. Fast!
Personal Communications
Web Reach. Web Context.
One Number. Any Device.
Richer User Experiences
PaaS Technology
Mobile Network
CSCF
Tropo SDK App Store
HSS
Redis & MySQLProvsioning API
Tropo Gateway
Speech Engine
TTS Engine
Tropo Server
Apps in your Calls™
Tropo WebRTCGateway
?
RCS DevicesM2M Sensors
Tropo.js Platform✓Tropo.js is the world’s first Communications PaaS
✓Tropo.js Apps • Execute in the core network instead of on devices like smart phones • Listen to subscriber events (incoming calls, outgoing messages, etc.) • Control by recording, forking and ‘mashing up’ live conversations
✓PaaS means that apps auto-scale to meet user demands • Developers can focus on features instead of infrastructure • Carriers maintain end-to-end control over quality of service
Apps in your Calls™
Use Cases
Financial Compliance
Record all or part of the call
Lots of Things. One Identity.
Tropo’s Telephony of Things™
✓ Manage communications across all your things. ✓ It’s like magic. Tropo apps use location, social status
and machine data to seamlessly route, share and mash-up live communications.
✓ Single phone number / identity on all devices
✓ All devices ring when calling the mobile number
✓ Presence info on remaining devices allow web and mobile apps to respond to calls in progress
✓ Add new participants or start call recording from any screen!
Tropo’s Telephony of Things™
Personal Conferencing
“Hey. Let’s meet at my number”
NFC Call Sharing
In collaboration with
NFC Call Sharing✓ Share calls with a co-worker ✓ Easily transfer calls between your own devices ✓ Push a live call to the conference room Smart TV ✓ Take the call with you on your way out the door
In collaboration with
Truly Mobile CRM
Truly Mobile CRM✓ Automatic Call Logging (Voice & SMS) ✓ Voice Analytics
• Speech-to-Text • Sentiment Analysis • Extract Keywords (e.g. product names)
Truly Mobile CRM✓ Out of office? Re-route calls to account manager. ✓ Ad-Hoc Conferencing ✓ Mobile Presence
• Chatter by Salesforce • Yammer by Microsoft
Social Weaving
You had a 25min call with SusanMcDonald - 16hrs ago
In-Call Commands
Sales Analytics“Sure Tom, I’ll submit that order for 100 whiteboards. While I have you, have you
tried our new Kangaroo standing desks”
“So Tim, where do you see yourself in 5 years?”
“I’d really like to go into management if possible”
Phone Interviews
In collaboration with
“Today we will be talking about our Travel and
Expense Policy. The first thing to know is that....”
Remote Training
Geo-Fencing“Where’s Bob? Should we start without him?”
“Looks like he’s in the car. Let’s just bridge him in”
Media and MRF InteractionTropo.js works best when combined with existing network assets
✓ While Tropo.js ships with a software-based media server, it was designed to leverage existing MRF capabilities like call recording, video conferencing and speech recognition.
✓ A standard Java interfaces called JSR-309 is used to abstract all media operations within the Tropo.js AS, making it possible to integrate and combine network assets from multiple vendors.
✓ e.g. Video Conferencing from Ericsson, Speech Recognition from AT&T Watson
Tropo.js in an IMS Environment✓ The IMS enables a diverse set of endpoints to participate in telco communications by leveraging
Internet protocols to unify the core network and by defining a standard architecture for adding new network services through specialized Applications Servers (AS)
✓ The Tropo.js AS is one such Application Server. When eligible subscribers make and receive calls, their signaling flows through Tropo.js, allowing 3rd party apps to enhance conversations in real-time. This level of control is accomplished through the standardized IMS Service Control protocol (ISC).
✓ When subscribers purchase their first Tropo.js-based app, a special entry is created in the subscriber’s HSS record which instructs the IMS to route future calls and text messages through the Tropo.js AS. This special entry is called an Initial Filter Criteria (IFC). This provisioning step can be done manually by the operators or through an automated system provided by the operators.
✓ Tropo.js does not require direct access to the HSS
S-CSCF
BobAlice
S-CSCF
HSS
1
2
4
3
Basic IMS Signaling Model• In the basic model, each user is assigned to a Call
Session Control Function (CSCF)
• Conversations flow from one CSCF to the other by interrogating the HSS for routing information
• SIP is used as the standard signaling protocol between the terminals, and the network and also between network elements
S-CSCF
BobAlice
S-CSCF
HSS
1
2
5
4b
Application Server
3
4a
IMS w/ Application Server• In addition to basic routing information, the HSS contains
information about enhanced services enabled on the user’s mobile subscription.
• Historically, these services were implemented through complicated a deeply specialized technologies such as CAMEL with no standard model for on-boarding and provisioning new services.
• IMS opted for a simpler model by providing a standard model for provisioning and allowing new services to participate directly in the underlying network signaling. The nodes providing these new services as referred to as IMS Application Servers (AS)
• The HSS maintains and list of Application Servers on behalf of each user with instructions on how to route calls and other network events through them.
• A SIP-based protocol is used between the CSCF and the Applications Servers called ISC. The ISC specifies certain special SIP headers that must be maintained between call legs to preserve core subscriber functions such as billing.
S-CSCF
BobAlice
S-CSCF
Ameche AS
Developer
Ameche Provisioning
HSS
Internet ServicesApps in your Calls
• While the AS model is quite flexible, operators are still faced with the risk and operational overhead of adding network elements for each new service; resulting in missed market opportunities
• Tropo.js builds on the IMS/AS model by providing a secure multi-tenant execution environment for network-based services
• The Tropo.js Provisioning Server maintains a list of apps for each subscriber. Each app contains a set of permissions, allowing the subscriber to control access to their calls and sensitive information.
• Apps are provisioned into and execute in an elastic environment powered by the Cloud Foundry suite of PaaS technologies.
• Only a single IFC entry is required per subscriber as the Tropo.js AS distributes events to all interested applications.
• New services are deployed and provisioned in real-time without adding servers or making any changes to the core network!
S-CSCF
BobAlice
S-CSCF
Ameche AS
Developer
Ameche Provisioning
HSS
Internet Services
S-CSCF
BobAlice
S-CSCF
Tropo.js AS
Developer
Tropo Provisioning
HSS
Internet Services
1
2
3
4 5a 5b
7a
7b
8
6
Detailed Flow‣ Alice is a sales representative for a local car dealership. She is calling Bob to let
him know that his car is ready for pickup. Prior to making this call, Alice signed up for a cool new service from her mobile carrier that automatically logs her work calls to Salesforce.com
‣ Alice’s mobile network routes her outgoing call to the CSCF, which in turn performs and standard HSS lookup to find Alice’s dialing preferences, roaming status and detailed profile information.
‣ The CSCF finds an IFC entry in Alice’s profile instructing it to route any incoming (INVITE/ORIG) or outgoing (INVITE/TERM) calls through Tropo.js. The CSCF proxies Alice’s outgoing call to the Tropo.js AS via the ISC protocol.
‣ Tropo.js AS uses the P-Served-User header to lookup Alice’s list of applications in the Provisioning Server. At this time, Alice has two two apps provisioned.
‣ Tropo.js AS dispatches an ‘outgoing call’ event to both apps via a secure call+media control protocol called Rayo.
‣ In this example, the SFDC app (orange in color) makes a request to the Web to log a call record in Alice’s CRM.
‣ Using the Route header provided in step 3, the Tropo.js AS sends the call back to the CSCF allowing normal call processing to continue as normal.
Diameter
HTTP
SIP / ISC