VoAX is a very simple protocol used by TalKT to transfer voice data over packet. Syntactically it is rather equivalent to HTTP, but it is no client/server protocol and it is not session-oriented, so you can do more then one transfer with the same connection. Each transaction is preceded by a header and optionally followed by a block of raw data. The size of the data must be given in the header. If there is no size-field in the header, it will be assumed that there is no data block. Each station may send such headers/block at any time.
<transaction> =: <header> <data> <header> =: <header-content> <cr> <header-content> =: <identifier> : <value> <cr> (<header-content>) <identfier> =: accept|user-info|content-type|size|callsign <cr> =: 0x13 <data> =: binary data, size depends on "Size:" header field
audio/melp, but there will be more in the future. This field is only valid, if there is a
Size:header and a data block, too.
WARNING: The current implementation of TalKT is not very robust and does not respect the protocol very strictly. Please refer to the specification and urge me to correct my implementation if there are any inconsistencies.