The formal syntax of all messages is provided in Augmented Backus-Naur Form (ABNF), as specified in [RFC4234].
However, note that this document deviates from the convention of using block-formatted protocol diagrams to depict message structure. This protocol specifies its message syntax by using self-describing elements that are concatenated to create a flexible message system. This is in contrast to C structure-based protocols, such as TCP/IP or HTTP, which often have fixed structures in fixed orders. The ABNF constructs in this specification precisely describe the allowable message contents.