OpenTV ENTera & OpenTV Platform Documentation

PES integration

Integration with the PES system and its overall architecture is similar to the existing OPF2 setup but with some minor differences described here. For details of the OPF2 implementation, see Irdeto PES scrambler integration.

In OPF3, the Content Workflow Manager (CWM) communicates with the PES system using TCP. An adapter WFM2PES, is used to convert the Nagra VOD encoder control interface of the CWM to the PES interface specification.

Commands

The encoding process in PES requires the following commands to be sent to PES:

newAsset

The newAsset request takes the following parameters:

Fields

Values

Description

URL

A valid FTP URL

The FTP location URL from which the PES must get the asset file

Filename

A valid filename

The name of the asset (used as filename). A valid file name should less than 255 characters

Type

ASCII string

File Format Type of asset. This field range are: (ASCII character 34), & (ASCII character 38), < (ASCII character 60). Cannot be empty or “.” (dot).

The responses are as follows:

Fields

Values

Description

Command

newAsset

EEcho of the command element

Code

0
-1
1

0 = Success
-1 = DTD Violation
1 = Processing Error

scrambleAsset

The scrambleAsset request takes the following parameters:

Fields

Values

Description

Name

Name of an asset in the todolist

The name of the asset (used as filename)

CAVendorid


For simulcrypt, handles the multiple vendor id. The format of the strings as per the example; different vendor id separated with semicolon.

ACSET


Holds the Access Criteria in hexstring format for the relevant asset. The PES performs a hexstring to binary conversion to communicate this value to the ECMG. The ACSET is generated based on:

  • In CMS4, the productTag value is derived by comparing the securityId of related VOD content items and products. However, securityInfo is not supported in CMS5, so the default value configured in the encoding profile is used instead.

  • Ext_Event_Id is the metadata on securityInfo object linked to the content.

  • retentionDuration is the metadata on securityInfo object linked to content.

The complex logic generating the ACSET can be referred from IrdetoPESAction.java class generateAcSet() method from CMS4.

DELETE

Yes or NO

Specifies whether to delete the clear asset after scrambling is complete (optional).

DestinationURL

Any valid FTP URL

Specifies whether to FTP Put the scrambled asset onto the VOD server after scrambling is complete. Required for the PES to send the Asset to the Origin server via FTP.

The responses are as follows:

Fields

Values

Description

Command

newAsset

EEcho of the command element

Code

0
-1
1

0 = Success
-1 = DTD Violation
1 = Processing Error

URL

An ftp URL (ftp://xxx/yyy)

URL of format-specific scrambled or re-scrambled asset file.

getToDolist

This command returns the list of currently processing assets with their status and possibly progress, using the Result sub-elements ToDolistItem and ReEncryptToDolistItem. Only assets whose name matches the regular expression are returned. An empty regular expression returns the complete list.

Fields

Values

Description

#PCDATA

Reg Ex

Regular Expression

The responses are as follows:

Fields

Values

Description

Command

getToDolist

Echo of the command element name

Code

0
-1
1

0 = Success
-1 = DTD Violation
1 = Processing Error

AssetName

Name of an asset in the todolist

The name of the asset

Status

NEW/EXIST
SCRAMBLE
SCRAMBLING
SCRAMBLED/RETRY

Status of the asset. RETRY means something went wrong in scrambling process, so PES requests issue/retry for the scrambleAsset command.

Progress

0% to 100% or absent

The scrambling progress

PES also sends notifications about the asset status changes or scrambling progress, could be success/error notifications.

Notifications

  • The PES typically notifies the CMS on state changes such as SCRAMBLING to SCRAMBLED, or for a progress update.

  • A notification may be sent if the result sent synchronously for requests (newAsset, scrambleAsset and getToDoList) is followed by a state change in PES, DTD violation or other error.

  • The PES cannot send notifications after the connection is closed from CMS side.

  • There are no configuration enable/disable notifications in PES.