Codec Freedom -- Specifications -- Exchanging MIME-typed data through AMQP
Both the bit-insertion and packet modes provide an 8-bit clean channel that can pass data at an unguaranteed speed. The connections are bidirectional and can be torn down and reconnected, much like a TCP connection.
We use this channel to exchange the binary data for AMQP. The AMQP 1.0 protocol is designed as a binary protocol over a bidirectional link, and it passes one or more files with descriptions like a Subject and MIME-type. We will be using these MIME-types below to facilitate special telephony functions over the modified G.711 carrier.
AMQP flows may start idle, but when they communicate their first word will be "AMQP" and a space. If this does not happen, a break of the data link should take place, and when this condition continues it may be necessary to shutdown the attempt to run data over a voice channel -- and when this leads to a long enough sequence of data link breaks, the connection may be brought back to the unmodified voice codec, at least for sending. This means that the initial string is treated as a magic code to recognise this use of the data stream; even if this is the only definiton to date, it is still useful to leave room for alternatives and to reduce the chances of spurious patterns that look like proper connections.
A registry will be created at IANA to hold these initial strings, with currently only "AMQP" and a space as a prefix. Entries into this table should be at least 4 characters, and will only be added if no MIME-type is available or possible for passing the data over AMQP. The registry will be subject to expert review. TODO: IANA Considerations section.