Nsolicited, Report, Ascii addressing and routing for tcp control – ClearOne StreamNet Integration User Manual
Page 22: Unsolicited #report

16
Technical Sales: 1.800.705.2103
Unsolicited #REPORT
Unsolicited #REPORT messages are sent periodically and when the status of the service changes. The
unsolicited #REPORT messages are sent through any of several mechanisms.
Most commonly the unsolicited #REPORT message is sent using UDP on the multicast IP address which has
been assigned to the service for that purpose. This multicast address is referred to as the service’s “Status
multicast Address” (See multicast Addresses section).
Another common method of receiving unsolicited #REPORT messages is through “registration”. A TCP client
may register to receive unsolicited #REPORT messages by sending a #REGISTER message to the root
service of the device to which it is connected (See TCP Client section).
During device configuration a UDP address and port number may be designated to receive all unsolicited
#REPORT messages. This is called “subscribing to the status of a service” or “subscription”.
For a central controller type system topology, “subscription” is the recommended method of receiving status.
ASCII ADDRESSING AND ROUTING FOR TCP CONTROL
A common way for third parties to control a StreamNet system is through a TCP connection. The Controller
device makes a TCP connection (Port 15000) to any StreamNet device. The third party controller is the TCP
client and the StreamNet device acts as the TCP server. Typically each StreamNet device supports a maximum
of 4 TCP clients.
If a whole system is to be controlled through this connection, it is recommended that a dedicated StreamNet
device such as a ControLinX be used for this purpose. Once a TCP connection is made the controller may
send commands and receive responses to #qUERy messages. Any messages sent by the controller should
use the proper “ToAddress” but should completely leave off the “FromAddress”. The StreamNet router will
add the appropriate “FromAddress” which will be of the form “rootServiceName~TCPn.n.n.n_pppp”, where
n.n.n.n is the IP address of the TCP client and pppp is the port number of the TCP connection.
An example of how to address a command sent through the TCP portal:
#@ToWhom#COmmAND
To receive unsolicited status reports the device must send #REGISTER messages to the root service of the
device to which it is connected. A #REGISTER message is required for every service that the controller
wishes to monitor. The #REGISTER command times out after 30 seconds, so the #REGISTER commands
must be repeated for as long as the controller desires to receive status reports. The repeating #REGISTER
commands can be used as a heart beat to keep the TCP connection open.
An example of a typical #REGISTER command:
#REGISTER {{ServiceName}}
Notice that there is no ToAddress and no FromAddress. Leaving off the ToAddress causes the message to be
sent to the local root service and the FromAddress will be filled in by the StreamNet routing function.