Protocol "D"

TCP/IP Protocol for controlling the dynamic routing engine

Fred Gleason


Table of Contents

Overview
Connection Management
Exit
Ping
Alarms
List Clips
List Silences
Subscribe Clips
Subscribe Silences
Information
List Destinations
List GPIs
List GPOs
List Nodes
List Sources
Subscribe Destinations
Subscribe GPIs
Subscribe GPOs
Subscribe Nodes
Subscribe Sources
Commands
Clear Audio Crosspoint
Clear GPIO Crosspoint
Set Audio Crosspoint
Set GPIO Crosspoint
Set GPO State
Set Virtual GPI State

Overview

Messages to the DRouter dynamic routing service are by means of a TCP SOCK_STREAM connection to TCP port 23883 on the host server.

Messages have the following general syntax:

cmd-code [arg] [...]CR/LF

cmd-code

A single word, containing no whitespace, case-insensitive.

arg

Zero or more arguments, delimited by a TAB character (ASCII 9).

CR/LF

The ASCII character CR (13) followed by LF (10).

Connection Management

Messages for managing connections to the service.

Exit

Exit

Drop the TCP connection and end the session.

Ping

Ping

Causes the remote end to return a PONG message.

Alarms

Messages for receiving alarms and querying alarm states.

List Clips

ListClips

Return a list of records delineating the currently available CLIP alarms, including current state.

CLIP

The string CLIP

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

type

The type of signal. Valid types are INPUT or OUTOUT.

chan

The audio channel. Valid types are LEFT or RIGHT.

state

The alarm state. 1 means the alarm is active, whereas 0 means that it is inactive.

List Silences

ListSilences

Return a list of records delineating the currently available SILENCE alarms, including current state.

CLIP

The string SILENCE

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

type

The type of signal. Valid types are INPUT or OUTOUT.

chan

The audio channel. Valid types are LEFT or RIGHT.

state

The alarm state. 1 means the alarm is active, whereas 0 means that it is inactive.

Subscribe Clips

SubscribeClips

Return a list of CLIPADD records delinieating the currently active clip alarms, each record terminated by CR/LF (see the description of the CLIP message in the section called “List Clips” for a breakdown of the supplied fields). Whenever a new clip alarm is added, a corresponding CLIPADD record will be sent, while changes to an existing clip alarm will cause a CLIP record to be sent. Removal of an alarm from the system will generate a corresponding CLIPDEL record, containing the following fields:

CLIPDEL

The string CLIPDEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

type

The type of signal. Valid types are INPUT or OUTOUT.

chan

The audio channel. Valid types are LEFT or RIGHT.

Subscribe Silences

SubscribeSilences

Return a list of SILENCEADD records delinieating the currently active silence alarms, each record terminated by CR/LF (see the description of the SILENCE message in the section called “List Silences” for a breakdown of the supplied fields). Whenever a new silence alarm is added, a corresponding SILENCEADD record will be sent, while changes to an existing silence alarm will cause a SILENCE record to be sent. Removal of an alarm from the system will generate a corresponding SILENCEDEL record, containing the following fields:

SILENCEDEL

The string SILENCEDEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

type

The type of signal. Valid types are INPUT or OUTOUT.

chan

The audio channel. Valid types are LEFT or RIGHT.

Information

Messages for enumerating resources and getting system information.

List Destinations

ListDestinations

Return a list of records delinieating the currently available destinations, terminated by CR/LF. Each record contains the following fields, delimited by TAB (ASCII 9):

DST

The string DST.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

host-name

The host name of the parent node. Depending upon system configuration, this could be the name as programmed in the node or the name as reported via a DNS PTR lookup.

stream-addr

The IPv4 address of the stream configured to be received, in dotted-quad notation.

dest-name

The name of the destination.

channels

The number of channels capable of being received by this destination. Possible values include 1, 2 or 8.

List GPIs

ListGpis

Return a list of records delinieating the currently available GPIs, terminated by CR/LF. Each record contains the following fields, delimited by TAB (ASCII 9):

GPI

The string GPI.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the GPI on the parent node (zero-based).

host-name

The host name of the parent node. Depending upon system configuration, this could be the name as programmed in the node or the name as reported via a DNS PTR lookup.

code

A string representing the state of the GPI lines, in the format xxxxx.

List GPOs

ListGpos

Return a list of records delinieating the currently available GPOs, terminated by CR/LF. Each record contains the following fields, delimited by TAB (ASCII 9):

GPO

The string GPO.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the GPO on the parent node (zero-based).

host-name

The host name of the parent node. Depending upon system configuration, this could be the name as programmed in the node or the name as reported via a DNS PTR lookup.

code

A string representing the state of the GPO lines, in the format xxxxx.

name

The name of the GPO entry.

src-host-addr

The IPv4 address of the source GPI node, in dotted-quad notation.

src-slot

The slot position number of the source GPI on the source node (zero-based).

List Nodes

ListNodes

Return a list of records delinieating the currently available nodes, terminated by CR/LF. Each record contains the following fields, delimited by TAB (ASCII 9):

NODE

The string NODE.

host-addr

The IPv4 address of the node, in dotted-quad notation.

host-name

The host name of the node. Depending upon system configuration, this could be the name as programmed in the node or the name as reported via a DNS PTR lookup.

dev-name

The LWRP device name.

src-slots

The number of source slot positions.

dst-slots

The number of destination slot positions.

gpi-slots

The number of GPI slot positions.

gpo-slots

The number of GPO slot positions.

List Sources

ListSources

Return a list of SRC records, delinieating the currently available sources, terminated by CR/LF. Each record contains the following fields, delimited by TAB (ASCII 9):

SRC

The string SRC.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the source on the parent node (zero-based).

host-name

The host name of the parent node. Depending upon system configuration, this could be the name as programmed in the node or the name as reported via a DNS PTR lookup.

stream-addr

The IPv4 stream address in dotted-quad notation.

stream-name

The name of the stream.

stream-enabled

The current state of the stream. 1 if enabled or 0 if disabled.

channels

The number of channels being carried by the stream. Possible values include 1, 2 or 8.

block-size

The number of PCM24 frames carried by each RTP packet. Possible values include 12 (Live Stereo), 60 (8 Channel Surround) and 240 (Standard Stereo/Mono).

Subscribe Destinations

SubscribeDestinations

Return a list of DSTADD records delinieating the currently available destinations, each record terminated by CR/LF (see the description of the DST message in the ListDestinations command for a breakdown of the supplied fields). Whenever a new destination is added, a corresponding DSTADD record will be sent, while changes to an existing destination will cause a DST record to be sent. Removal of a destination from the system will generate a corresponding DSTDEL record, containing the following fields:

DSTDEL

The string DSTDEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the destination on the parent node (zero-based).

Subscribe GPIs

SubscribeGpis

Return a list of GPIADD records delinieating the currently available GPIs, each record terminated by CR/LF (see the description of the GPI message in the ListGpis command for a breakdown of the supplied fields). Whenever a new GPI is added, a corresponding GPIADD record will be sent, while changes to an existing GPI will cause a GPI record to be sent. Removal of a GPI from the system will generate a corresponding GPIDEL record, containing the following fields:

GPIDEL

The string GPIDEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the GPI on the parent node (zero-based).

Subscribe GPOs

SubscribeGpos

Return a list of GPOADD records delinieating the currently available GPOs, each record terminated by CR/LF (see the description of the GPO message in the ListGpos command for a breakdown of the supplied fields). Whenever a new GPO is added, a corresponding GPOADD record will be sent, while changes to an existing GPO will cause a GPO record to be sent. Removal of a GPO from the system will generate a corresponding GPODEL record, containing the following fields:

GPODEL

The string GPODEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the GPO on the parent node (zero-based).

Subscribe Nodes

SubscribeNodes

Return a list of NODEADD records delineating the currently available nodes, each record terminated by CR/LF. Subsequently, for each newly detected node, a corresponding NODEADD record will be sent, while changes to an existing node will cause a NODE record to be sent. Removal of a node from the system will generate a corresponding NODEDEL record with the following fields:

NODEDEL

The string NODEDEL.

host-addr

The IPv4 address of the node, in dotted-quad notation.

Subscribe Sources

SubscribeSources

Return a list of SRCADD records delinieating the currently available sources, each record terminated by CR/LF (see the description of the SRC message in the ListSources command for a breakdown of the supplied fields). Whenever a new source is added, a corresponding SRCADD record will be sent, while changes to an existing source will cause a SRC record to be sent. Removal of a source from the system will generate a corresponding SRCDEL record, containing the following fields:

SRCDEL

The string SRCDEL.

host-addr

The IPv4 address of the parent node, in dotted-quad notation.

slot

The slot position number of the source on the parent node (zero-based).

Commands

Messages for changing the state of managed resources.

Clear Audio Crosspoint

ClearCrosspoint dst-host-addr dst-slot

Clear the source to be received by an audio destination --i.e. mute the destination.

dst-host-addr

The IPv4 address of the destination node, in dotted-quad notation.

dst-slot

The slot position number of the destination on the parent node (zero-based).

Clear GPIO Crosspoint

ClearGpioCrosspoint gpo-host-addr gpo-slot

Clear the source to be received by a GPO.

gpo-host-addr

The IPv4 address of the GPO node, in dotted-quad notation.

gpo-slot

The slot position number of the GPO on the parent node (zero-based).

Set Audio Crosspoint

SetCrosspoint dst-host-addr dst-slot src-host-addr src-slot

Set the source to be received by an audio destination.

dst-host-addr

The IPv4 address of the destination node, in dotted-quad notation.

dst-slot

The slot position number of the destination on the parent node (zero-based).

src-host-addr

The IPv4 address of the source node, in dotted-quad notation.

src-slot

The slot position number of the source on the parent node (zero-based).

Set GPIO Crosspoint

SetGpioCrosspoint gpo-host-addr gpo-slot gpi-host-addr gpi-slot

Set the source to be received by a GPO.

gpo-host-addr

The IPv4 address of the GPO node, in dotted-quad notation.

gpo-slot

The slot position number of the GPO on the parent node (zero-based).

gpi-host-addr

The IPv4 address of the GPI node, in dotted-quad notation.

gpi-slot

The slot position number of the GPI on the parent node (zero-based).

Set GPO State

SetGpoState gpo-host-addr gpo-slot code

Set the state of a GPO device.

gpo-host-addr

The IPv4 address of the GPO node, in dotted-quad notation.

gpo-slot

The slot position number of the GPO on the parent node (zero-based).

code

A string representing the state of the GPO lines, in the format xxxxx.

Set Virtual GPI State

SetGpiState gpi-host-addr gpi-slot code

Set the state of a virtual GPI device.

gpi-host-addr

The IPv4 address of the virtual GPI node, in dotted-quad notation.

gpi-slot

The slot position number of the virtual GPI on the parent node (zero-based).

code

A string representing the state of the GPI lines, in the format xxxxx.