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