Tracing OSDP Communications

It has been known for a long time (Stoll, 1989) that having a view of a communications dialog between two computers is a high effective and sometimes the only way to perform debug and maintenance activities. One of the first things Frank Gasztonyi suggested was to leverage the bus nature of 2-wire RS-485 by building a listen-only version of an OSDP protocol engine. There were discussions and apparently multiple exploratory attempts to use Wireshark by implementing PCAP format. (Side note – that’s a github repo run by an IETF working group/area, using Markdown to write internet drafts. We got PCAP format from the 802.3 spec’s inclusion of Promiscuous Mode and the 1988 work of a team at LBL ) Unfortunately it appears the PCAP structure is too complex to fit into the byte stream nature of (serial) OSDP. (Y’all are welcome to invalidate that comment. Many of us would be happy to use Wireshark to debug OSDP.)

So,,, I took the ugly message-dump-in-hex code I had already and cooked up a small JSONL (JSON as a one-liner) format. This is documented in the libosdp-conformance repo here.

This provides the implementor community with a common format description that can be used to capture and analyze OSDP communications.  It brings the protocol debugging process further along the technology maturity curve, similar to the way PCAP format contributed to debugging TCP/IP and other Ethernet-based communications protocols.

Several tools implement OSDPCAP format in one form or another.  libosdp-conformance writes it (both in the ACU and PD implementations.)  Cypress and Third Millenium have implemented tools to read and analyze OSDPCAP.  osdpdump (a public repo on Bitbucket) and OSDP.NET (on github) implement reading OSDPCAP.

In summary this common data format facilitates significantly easier OSDP development and maintenance processess.  Your OSDP tech support team should at some level be able to process an OSDPCAP file as part of an issue filing.  Note I said “the team”.  The team member actually in front of an EAC troubleshooting an OSDP ossue does not need to have the entire protocol spec memorized, all they need to do is to have some way of capturing a trace that can then be sent to tech support.

 

Share:

Email
LinkedIn
Reddit

Leave a Reply

Table of Contents