Playout Control Protocol

Playout Control Protocol

Introduction

Icareus Playout platform uses a custom protocol to exchange information with 3rd party management systems as well as with Icareus Playout Management Console. The main uses for the protocol are:
  1. to retrieve information of the status of the server
  2. to control and manage the server
The Icareus Playout Java API is a java library that "wraps" this protocol to give an abstraction layer for programmers. The Protocol can naturally be used directly as well.
The protocol is described in the following chapters and examples are given how to use it.

Description

TCP connection (SSL) should be established with Icareus Server to perform any communications.  
Several Playout modules are responsible for processing Playout Protocol commands. The below table specifies TCP ports for each module. These ports should be used to connect to a particular module for command execution.

Port
Module
2001
playout-scheduler
5000
eit-update
5555
playout-admin
Commands are plain text strings transmitted as a sequence of bytes representing UTF-8 encoding.
The command structure is as follows:
COMMAND_NAME<\r\n>
HeaderParamName1: HeaderParamValue1<\r\n>
HeaderParamName2: HeaderParamValue2<\r\n>
HeaderParamNameN: HeaderParamValueN<\r\n>
Content-Length: value<\r\n>
<\r\n>
BODY<\r\n>
<\r\n>
The response structure is as follows:
STATUS_CODE STATUS_MESSAGE<\r\n>
HeaderParamName1: HeaderParamValue1<\r\n>
HeaderParamName2: HeaderParamValue2<\r\n>
HeaderParamNameN: HeaderParamValueN<\r\n>
Content-Length: value<\r\n>
<\r\n>
BODY<\r\n>
<\r\n>
Status codes description:
Status code
Description
200
OK
220
Service is ready
400
The request could not be understood by the server due to malformed syntax
401
Client authentication failed
402
The requested feature is not supported on the server.
403
Request was syntactically correct, but contained invalid data
404
The requested resource was not found on the server
408
The client did not produce a request within the time that the server was prepared to wait
409
The request could not be completed due to a conflict with the current state of the resource
410
Clip processing error
453
Client requested more bandwidth than is available
500
The server encountered an unexpected condition which prevented it from fulfilling the request
501
The requested feature is not implemented on the server
The first message Icareus Server sends back to a client is the welcome message.
The welcome message example:
220 Playout playout-admin
Version: 4.4.0.4

This is a successful reply from playout-admin module of version 4.4.0.4.

Here is a Java example of retriving server information:
javax.net.ssl.SSLContext sslContext = javax.net.ssl.SSLContext.getInstance("SSL");
// class PMCTrustManager implements javax.net.ssl.X509TrustManager
sslContext.init(null, new javax.net.ssl.TrustManager[]{new PMCTrustManager()}, null);
javax.net.ssl.SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
// host is the address of the Playout server, 5555 is the playout-admin module port
java.net.Socket socket = sslSocketFactory.createSocket(host, 5555);
java.io.InputStream inStream = socket.getInputStream();
java.io.OutputStream outStream = socket.getOutputStream();
outStream.write(("GET_SERVER_INFO\r\n\r\n").getBytes());
outStream.flush();
java.io.ByteArrayOutputStream receive = new java.io.ByteArrayOutputStream();
int i;
while ((i = inStream.read()) != -1) receive.write(i);
String str = new String(receive.toByteArray(), "UTF-8");
System.out.println("Response: " + str);

Status of Icareus Playout

Playout-admin module is responsible for processing this command.
Command:
GET_SERVER_INFO
Response example:
200 Sending server info
License-Features: 1,3,5,16
Dongle-Id: 264020675
Expiration-Date: 2012-12-12 00:00:00
Licence-Version: 4.4
Service: playout-admin,1,1,4.4.0.2
Service: playout-av-input,0,0,4.4.0.2
Service: playout-dsmcc-dc-input,0,0,4.4.0.2
Service: playout-dsmcc-input,0,0,4.4.0.2
Service: playout-dvbh-esg,0,0,4.4.0.2
Service: playout-eit,1,1,4.4.0.2
Service: playout-eit-update,1,1,4.4.0.2
Service: playout-flute-streamer,0,0,4.4.0.2
Service: playout-ip-input,0,0,4.4.0.2
Service: playout-ip-streamer,0,0,4.4.0.2
Service: playout-media-storage,0,0,4.4.0.2
Service: playout-meta-admin,1,1,4.4.0.2
Service: playout-mpeg-record,0,0,4.4.0.2
Service: playout-muxer,1,1,4.4.0.2
Service: playout-scheduler,1,1,4.4.0.2
Service: playout-sipsi,1,1,4.4.0.2
Service: playout-ts-input,0,0,4.4.0.2
Service: playout-vdcp,0,0,4.4.0.2
Service: playout-esgen-player,0,0,4.4.0.2
Service: playout-esgen-middle,0,0,4.4.0.2
Is-Installation: 0

Response parameters description:
Parameter
Description
License-Features
Playout License Features
Dongle-Id
dongle identification key installed on the server
Expiration-Date
Server license expiration date
Licence-Version
Server license version
Service
service status
Parameter 1 - service name
Parameter 2 - 1 if the service is running, 0 otherwise
Parameter 3 - 1 if the service is enabled on system boot, 0 otherwise
Parameter 4 - service version
Is-Installation
1 if server installation procedure is in progress, 0 otherwise.



    • Related Articles

    • Icareus Playout Products and Modules

      Foreword  Icareus Playout is a head-end platform targeted at broadcasters and operators to enhance their DVB networks to provide a better TV experience to their viewers. Icareus products included on the same product portfolio are: Icareus Playout EP ...
    • Playout Release Notes

      version 6.1.0.0 Release data: 2026-01-15 Server changes: EPG monitor: Monitoring is now done also for EIT Schedule tables, previously only EIT p/f was monitored. EIT update: TV-Anytime Data Source: Update to support more tags in XML input file. EIT ...
    • Updating Icareus Playout

      Updating Icareus Playout 6 Introduction When updating Icareus Playout 6 to a newer version, for example from version 6.0.2.6 to 6.1.0.0, it's not necessary to install a new Operating System (OS). A successful update process involves copying new ...
    • Managing Playout OS Services

      Introduction Icareus Playout runs several linux services for its features. Managing Playout OS Services Playout Services and Linux processes can be managed from both Playout Management Console and Linux console. In Linux console Icareus Playout is ...
    • Migration of older Playout versions to Playout 6

      Introduction Icareus Playout 4 runs on the CentOS 6 operating system, which reached end of life on November 30th, 2020. Because of this, Icareus developed Playout 5 which runs on CentOS 7 and Playout 6 which runs on CentOS 7 and on Rocky 8. It's ...