Note that this informal information represents North Latitude Technology, LLC opinion, and is not an official representation of the Security Industry Association or ANSI.
Q: What is the purpose of the sequence number in DC-09 messages?
A: The sequence number allows the communicator to ensure that the ACK it receives is intended to pair with a specific message. The concern was that with IP message transmission, message deliver is occasionally delayed a relatively long time. If a communicator sends one message (#1) which is delayed, then sends it again (#2) and it is delivered and then sends a third message for a different event (#3) you could have the following sequence observed at the receiver if there were no sequence numbers:
... but in this sequence, message #3 was never delivered.
Q: How should a receiver behave if it receives out-of-sequence messages (e.g. due to reset of the premises equipment)?
A: No problem, the receiver simply echoes whatever sequence number it receives, and the communicator can then match the ACK with the correct sent message.
Q: How to handle a site that has more than one communicator transmitting alarms to a receiver?
A: The firewall should not be a problem for outgoing message traffic. The default programming of most residential firewalls/routers allow outgoing requests for any socket, and the response is routed properly. It's when you have multiple receivers behind a firewall you can have an issue - you'll have to arrange a careful mapping of ports to the receivers and set up port forwarding to make it work - or better yet, simply have a dedicated public IP address for each receiver.
Q: What's up with the CRC table in DC-07 - there's a mistake.
A: Yes, there is. In the example, the 101st entry in the table crcTable[] should be 0xEB01 instead of 0xBE01 as shown. SIA is reissuing the DC-07 standard now, to correct this. (updated 10/16/12)
Q: Is the CRC in DC-09 sent as ASCII or binary?
A: It is four ASCII characters representing a 16 bit hexadecimal value.
Q: What does the SIA DC-09 Annex B Errata sheet correct?
A: It clarifies that the CRCs are sent as ASCII, corrects the CRCs and message lengths, and correctly shows a "#" before the account number in the data field. See an example of correct information, below:
<x0A>CE110032"SIA-DCS"9876R579BDFL789ABC#12345A[#12345A|NFA129]<x0D>