provide access to multiple profiles. To identify a profile a unique string is assigned to it. This profile identifier has the format of a Uniform Resource Identifier (URI) or Uniform Resource Name (URN). In the past the URI format of the profile identifier lead to confusion, because it is similar to a web address. To avoid misunderstandings newer profiles should use the URN format. Example profile identifier: Messages and Frames BEEP messages are structured according to the MIME standard. There are sometimes misunderstandings about BEEP using XML in messages, but only a small subset of XML is used by channel 0 and it is transparent to the profile designer (BEEP user). It's up to the profile designer which message content format is used. This can be any textual format like JSON or XML as well as binary data. XML is used in the channel management and the TLS standard profile defined with BEEP. Example of a successful channel close message exchange from RFC3080. C: MSG 0 2 . 235 71 C: Content-Type: application/beep+xml C: C: <close number='1' code='200' /> C: END S: RPY 0 2 . 392 46 S: Content-Type: application/beep+xml S: S: <ok /> S: END Larger messages are split into multiple parts and distributed over a number of sequence frames. Exchange Types BEEP defines 5 message types to allow most of the application protocols patterns needed. They are the following: Some of the most common application protocol patterns are implemented like follows: Request-reply using MSG for request and RPY and ERR for replies Single request-multiple replies using MSG, and a series of ANS replies ended by a NUL frame Unacknowledged notification using MSG without any reply Flow Control BEEP supports sequence frames (SEQ) to implement flow control at channel level. Sequence frames are defined in RFC 3081 section 3.3. The Transmission Control Protocol (TCP) defines a sequence mechanism on transport layer level and supports flow control related to the connection. Flow control on channel level in BEEP is needed to ensure no channel or big message monopolizes the entire connection. To that extend sequence frames are used to support quality of service (QoS) and to avoid starvation and deadlock. External links BEEPcore.org Official website : The Blocks Extensible Exchange Protocol Core : Mapping the BEEP Core onto TCP : On the Design of Application Protocols, design considerations of the BXXP protocol as told by its creators : Reliable