Based in Menlo Park, California
Creators of Tropo.com
Community of over 200,000 developers
Editors of the WebRTC Speciﬁcation
Growing deployments with global operators including AT&T, Deutsche
Telekom, Globe and Vodafone with 4 additional operators planned in 2013
New Services. Fast!
Web Reach. Web Context.
One Number. Any Device.
Richer User Experiences
Tropo SDK App Store
Redis & MySQLProvsioning API
Apps in your Calls™
RCS DevicesM2M Sensors
✓Tropo.js is the world’s ﬁrst Communications PaaS
• 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
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™
“Hey. Let’s meet at my number”
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
“Sure Tom, I’ll submit that
order for 100 whiteboards.
While I have you, have you
tried our new Kangaroo
“So Tim, where do you
see yourself in 5 years?”
“I’d really like to go into
management if possible”
In collaboration with
“Today we will be talking
about our Travel and
Expense Policy. The ﬁrst
thing to know is that....”
“Where’s Bob? Should
we start without him?”
“Looks like he’s in the car.
Let’s just bridge him in”
Media and MRF Interaction
Tropo.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
✓ 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 deﬁning 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 ﬂows 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 ﬁrst 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
Basic IMS Signaling Model
• In the basic model, each user is assigned to a Call
Session Control Function (CSCF)
• Conversations ﬂow 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
IMS w/ Application Server
• In addition to basic routing information, the HSS contains
information about enhanced services enabled on the user’s
• Historically, these services were implemented through
complicated a deeply specialized technologies such as CAMEL
with no standard model for on-boarding and provisioning new
• 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 speciﬁes certain
special SIP headers that must be maintained between call legs
to preserve core subscriber functions such as billing.
Apps in your Calls
• While the AS model is quite ﬂexible, 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
• 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
• 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
4 5a 5b
‣ 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 ﬁnd Alice’s dialing preferences, roaming status and
detailed proﬁle information.
‣ The CSCF ﬁnds an IFC entry in Alice’s proﬁle 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.
SIP / ISC