OSDP - Open Supervised Device Protocol
This is an open source implementation of Open Supervised Device Protocol (OSDP) developed by Security Industry Association (SIA). The protocol is intended to improve interoperability among access control and security products. OSDP is currently in-process to become a standard recognized by the American National Standards Institute (ANSI).
OSDP describes the communication protocol for interfacing one or more Peripheral Devices (PD) to a Control Panel (CP). The OSDP specification describes the protocol implementation over a two-wire RS-485 multi-drop serial communication channel. Nevertheless, this protocol can be used to transfer secure data over any physical channel. Have a look at the protocol design documents to get a better idea.
Salient Features of LibOSDP
Supports secure channel communication (AES-128).
Can be used to setup a PD or CP mode of operation.
Exposes a well defined contract though
No run-time memory allocation. All memory is allocated at init-time.
Well designed source code architecture.
Supported Commands and Replies
OSDP has certain command and reply IDs pre-registered. This implementation of the protocol support only the most common among them. You can see a list of commands and replies and their support status in LibOSDP here.