Client integration basics
Summary
Client UI developers will typically be developing their applications on top of a stack of other software that allows access to device functionality, as well as external services on either the local network, wide area network, or internet.
The OpenTV Platform provides access to services required to enable all of the expected use cases performed in a set top box, companion device, or OTT playback applications, such as:
- Authentication and authorisation
- Account, user, and device information
- Browsing past, current, and future broadcast events on multiple channels
- Browsing VOD catalogues
- Searching for content
- Recommendations
- Rating content
- Bookmarking content
- Marking content as a favourite
- Purchasing content
- Account and user subscription information
- Content license retrieval and playback
- In-home content playback authorisation
- Reporting user statistics.
Simplified client-facing architecture
The below diagram shows the OpenTV Platform as the client sees it. Only the client facing services are available, and all are presented through the same base URL.

Software description
Module | Description |
---|---|
SDP | The Service Delivery Platform is mainly responsible for account and device data management within the multiscreen system, as well as client purchase workflows and CAS SMS worflows. It can still provide other functionality such as content metadata management and device user data persistence, but this functionality has been taken over by other modules and should not be used. |
SDP Adaptor | As a legacy product, the SDP makes use of internal identifiers generated in its database. These identifiers cannot usually be used in conjunction with other parts of the system, such as the MDS, as the identifiers are not understood. The SDP Adaptor is a wrapper service that populates SDP responses with external identifiers. For example when retrieving the acquired content list for an account, it will populate the returned list with the external product ids, which can then be used to query the MDS product's API. |
HDM | The Home Domain Manager is responsible for executing service provider-specific workflows during authentication and authorisation. These workflows typically involve the creation or updating of account, user, device, or product subscription data on the SDP. For example, it could retrieve customer data from a CRM during signon, in order to dynamically provision or update the customer on the SDP. The HDM might soon be renamed to Authentication Broker or Authentication and Authorisation Manager. |
MDRMM | The Multi-DRM Manager is a service that abstracts the DRM server implementation and authorisation systems from client devices or other systems. Its APIs support the two modes of license retrieval:
|
MDS | The (Central) Metadata server is responsible for providing a scalable platform for the client to retrieve broadcast and VOD metadata. |
CDG | The Content Discovery Gateway is a gateway service that provides access to recommendations and user activity reporting. It enhances the recommendations retrieved from configured recommendation engines with metadata pulled from the MDS. It also stores reported user activity in the User Activity Vault, as well as sending the information to any configured recommendation engine as appropriate. |
Locker | The Locker service is used for persisting Network PVR recording data. This data is then used by the locker to instruct the network recording management system on which content to record. |
Quick-start use case summary
Module | A client application should use it for |
---|---|
HDM |
|
SDP |
|
MDS |
|
CDG |
|
Locker |
|
MDRMM |
|
Client types
At a high-level, devices are classed as either Set Top Boxes or Open Devices. Within those two high-level categories, sub categories of device types are available with different hardware and different expected use cases, resulting in differing UI functionality and different requirements on the OpenTV Platform. These are not strict categories, as any device could have any type of hardware, but it's important to know the loose definitions.
Set Top Box
A Set Top Box, or STB, is a device that typically contains some form of TV tuner and displays output connections to connect it to a television. For the purposes of OpenTV Platform integration, the STB will also contain hardware security to protect the keys use to decrypt encrypted content that is delivered to the box. Set Top Boxes without hardware security are considered to be Open Devices from an integration perspective, as they can only use software security.
An STB is identified by one or many of its hardware credentials, for example Smartcard ID, CASN, NUID or MAC address. The Smartcard ID will change if the smartcard associated with the box is changed.
An STB with hardware security is typically provided to customers by the service provider.
Home Gateway
A Home Gateway is a type of Set Top Box that has additional hardware and features. It typically includes multiple tuners, larger storage capacity, and built-in routing capabilities. It also typically includes transcoding and DNLA services that allow the gateway to stream content from its own sources (tuner, PVR, user media on flash storage) to other devices, and to provide information about the content for browsing. A gateway is also able to apply its own encryption to the content key, thereby securing the delivery of content around the home.
Conditional Access Module
A Conditional Access Module, or CAM, is a plug-in TV module that enables the reception of encrypted content on a TV without the use of an STB. It features hardware security and is typically used instead of a STB when the built-in TV application is good enough for the customer.
Open device
An open device is any device that implements software-level security to protect the content keys. The hardware is usually not provided by the service provider, but is owned by the customer, and access to the service is typically provided by an application that can sit alongside other apps. Because software security is easier to crack than hardware security, and most of an open device's software stack is not controlled by the service operator, content providers tend to keep their highest quality content for the closed consumer devices.
Mobile device
This category covers tablets and mobiles. These devices can run service provider applications that either allow access to content over the internet (OTT), act as companion devices to browse, control and consume content from a home gateway, or both.
Examples:
- iOS devices (iPhone, iPad)
- Android devices (Samsung Galaxy, LG, Sony)
Open STB
An open STB is an STB without hardware security. It can have the same features as mobile devices but has a TV output instead of its own screen for the 10' experience. Because of the user experience presented, it is typically used as an OTT content gateway rather than a companion device. Examples are:
- Apple TV
- Roku Streaming Player
- Amazon Fire TV
Smart TV
Smart TVs are TVs with hardware that is powerful enough to run advanced applications similar to those provided on mobile devices and open STBs. They can have service provider applications, though it's not that usual. The functionality is usually the same as that of an Open STB, except that the application runs on the TV itself.