Rivendell Notification Protocol
Fred
Gleason
fredg@paravelsystems.com
Overview
This document defines the IP protocol used by Rivendell for real-time
communication between different modules and/or hosts. Messages are sent
by means of multicast UDP packets to port 20539. The IPv4 multicast group
address used is defined the in the SYSTEM.NOTIFICATION_ADDRESS database
field.
Update messages are textual, with individual fields delimited by
the ASCII SPACE character. They are formatted as follows:
keyword
arg1
arg2
[...]
where keyword defines the class of message.
The following classes are defined:
Notifications
Signals a change to a Rivendell database object.
Catch Events
RDCatch state changes.
Notification Messages
Notification messages use the following format:
NOTIFY type
action
id
type
The database object type to which the message pertains.
action
The action being reported. The following actions are defined:
ADD
The referenced object has just been added to the database.
DELETE
The referenced object has just been deleted from the database.
MODIFY
The reference object has just been modified in the database.
id
Unique id of the object.
The following database object types are defined:
Carts
Cart Fields
Field
Value
Database Field
CART.NUMBER
Type
CART
Id Data Type
Unsigned Integer
RDNotification::Type Value
RDNotification::CartType [1]
Logs
Log Fields
Field
Value
Database Field
LOGS.NAME
Type
LOG
Id Data Type
String
RDNotification::Type Value
RDNotification::LogType [2]
Pypad Instances
Pypad Instance Fields
Field
Value
Database Field
PYPAD_INSTANCES.ID
Type
PYPAD
Id Data Type
Integer
RDNotification::Type Value
RDNotification::PypadType [3]
Dropbox Instances
Dropbox Instance Fields
Field
Value
Database Field
DROPBOXES.ID
Type
DROPBOX
Id Data Type
Integer
RDNotification::Type Value
RDNotification::DropboxType [4]
RDCatch Event Instances
RDCatch Event Fields
Field
Value
Database Field
RECORDINGS.ID
Type
CATCH_EVENT
Id Data Type
Integer
RDNotification::Type Value
RDNotification::CatchEventType [5]
RSS Feed Items
RSS Feed Item Fields
Field
Value
Database Field
PODCASTS.ID
Type
FEED_ITEM
Id Data Type
Unsigned Integer
RDNotification::Type Value
RDNotification::FeedItemType [6]
RSS Feeds
RSS Feed Fields
Field
Value
Database Field
FEEDS.KEY_NAME
Type
FEED
Id Data Type
String
RDNotification::Type Value
RDNotification::FeedType [7]
RDCatch Messages
RDCatch messages use the following format:
CATCH hostname
operation
arg1
[...]
hostname
The name of the host originating the message. From STATIONS.NAME.
operation
The RDCatch operation. See the list below.
Deck Event Processed Operation
RDCatch Event Fields
Field
Value
Hostname
String, from STATIONS.NAME
Operation
"DE"
Deck Channel
Integer. Record decks have values in the range 1-127,
while play decks have values in the range 128-254.
Event Number
Integer. The value of CUT_EVENTS.NUMBER.
Deck Status Operation
RDCatch Event Fields
Field
Value
Hostname
String, from STATIONS.NAME
Operation
"ME"
Deck Channel
Integer. Record decks have values in the range 1-127,
while play decks have values in the range 128-254.
Status
Integer. Current status of the specified deck. See
Deck Status Codes
Deck Status Codes
Code
Meaning
RDDeck::Status Value
0
Offline
RDDeck::Offline
1
Idle
RDDeck::Idle
2
Ready
RDDeck::Ready
3
Active (playing or recording)
RDDeck::Recording
4
Waiting (for a GPI)
RDDeck::Waiting