Open Source Toolkit Documentation:

The MITRE Audio Echo Server

License / Documentation home / Help and feedback


The audio echo server is designed to test audio devices by routing incoming audio broker connections to outgoing audio broker connections. It currently handles 8-bit and 16-bit broker data.



Status

History and plans

This server originated in the Galaxy Communicator 2.x distribution, and was removed in a cleanup before 3.0 was released. In the meantime, we've enhanced it somewhat.

This server is thread-safe, so make thread should work (used for CATS audio example).

Version history


Usage

Command line

<OSTK_HOME>/bin/audio_echo

Default port

5000

Command line arguments

No server-specific arguments.

This server also accepts the standard server arguments. See the command-line argument parsing library in the Galaxy Communicator documentation for details.


Message set



handle_audio_data establishes an incoming broker connection and copies the broker data to an outgoing broker connection. At the moment, it only handles binary (8-bit) and 16-bit audio data. It supports compatibility with the MIT playbox control protocol.
 
  parameter type optional depends on description/constraints
IN: :audio_host string yes   host of the outgoing audio broker, if not using broker proxies
  :audio_port integer yes   port of the outgoing audio broker, if not using broker proxies
  :call_id string yes   call ID of the outgoing audio broker, if not using broker proxies
  :audio_proxy proxy yes   proxy object encapsulating broker information, if using broker proxies
  :batch integer yes   if 1, save the audio until the outgoing broker is done and then set up the return broker. If 0 or not present, set up the return broker immediately and relay audio as it arrives.
  :mit_playbox_protocol integer yes   If 1, use the MIT playbox control protocol on input and output
  :sample_rate integer yes   Sample rate of the incoming audio. The server does nothing with the value besides include it in the return broker announcement.
  :encoding_format string yes   Encoding format of the incoming audio. The server does nothing with the value besides include it in the return broker announcement.
  :logfile string yes   Pathname of file for storing raw audio data for this message.

This message returns a frame.


Messages issued

When the server announces the return broker, it sends the following message:
{c FromEcho
   :synth_host <string: host of return broker, if incoming broker was not a proxy>
   :synth_port <integer: port of return broker, if incoming broker was not a proxy>
   :call_id <string: call ID of return broker, if incoming broker was not a proxy>
   :synth_proxy <proxy: untyped proxy stream for data, if incoming broker was a proxy>
   :sample_rate <integer: sample rate reported by incoming broker, if present>
   :encoding_format <string: encoding format reported by incoming broker, if present>
}



Known bugs

None yet.

License / Documentation home / Help and feedback

Last updated September 13, 2002