RemAud uses only one TCP connection and port. RemAud also uses authentication and enables the user to change codecs at run-time. Therefore a command protocol is needed. The command protocol is "hidden" in the audio stream to be able to save another port and TCP connection.
Each command string is uppercase ASCII and 150 byte long. Each command begins with REMAUD|| followed by a command and ends with ||. The rest of the string is filled with blanks.
The client first sends an authentication request together with the favored codec information:
with U: and user, P: and password, C: and codec, M: and channels (mono or stereo), B: and bits per sample.
If the connecting user is authenticated the server responds with the current or requested codec message:
- C: Codec can be PCM8, PCM11, PCM22, GSM610_8, GSM610_11 or GSM610_22
- M: Channels can be MONO or STEREO
- B: Bits per sample can be 8 or 16 (only for PCM codecs)
If the connecting user couldn't be authenticated the server responds with an information message and disconnects:
REMAUD||I:Invalid user or password||
To request another codec at run-time the client sends a codec message, for example:
To disconnect the client sends:
If the server shuts down it sends a disconnect message and disconnects:
To perform an echo test the client sends the Echo On REMAUD||E:1|| and Echo Off REMAUD||E:0|| commands.