
This README file and its program can be found at:
        http://www.cs.columbia.edu/~wenyu/research/ott_mon-v1.3b.tar.gz

It is a udp (periodic) traffic generator and trace collector program.
It has 2 parts: "module_mt" is a test agent program, "monitor" is the
controller.  You start the "module_mt" process on a computer, then use
"monitor" to connect to and ask it to send or receive udp packets.

The steps to install it onto your computer:

1. ftp the .tar.gz to your computer, unzip and untar it.

2. run "gmake" if you want to build a binary other than Solaris Sparc.

3. run "module_mt.SunOS [-f <hmac_keyfile>]" (this assumes you use Solaris)

v1.3 is a multi-threaded program running in foreground, just like
v1.2, but v1.3 has added authentication based HMAC-MD5.  This means
only an authorized controller program can create a UDP test between
two agents.  It requires the controller and the agents to share the
same secret key, stored in a file. Each agent should have its own unique key.
So a controller needs 2 keys for 1 test.

4. The shared key file is an ascii file holding a 16-byte key, presented
in hexadecimal display format. Like this:
00112233445566778899aabbccddeeff

5. In a 1-way test, the resulting trace file will be found on the receiver
machine, in the directory where you started the "module" daemon. The filename
is "rf_test" by default, but it is changeable by the command
        "set filename ..."

6. In a 2-way test, the file is stored on the sender side.

7. Finally, it is often useful to create 2 1-way tests, it models the VoIP
sending behavior better than a 2-way test.

Note: we no longer support the old interactive monitor program, instead 
we will only use batch-mode monitor_auto.
-------------------------------------------------------
NOTE: newly added batch tool "monitor_auto"
It is a batch-mode equivalent of "monitor" program, but it is much easier 
to use. the following shows its usage syntax:

sbb$ ./monitor_auto.SunOS 
usage: monitor_auto [-n 1|2] [-t time] [-g gap] [-f filename] [-p pktsize]
   [-o port] [-R] -a sender_keyfile -b receiver_keyfile -s sender -r receiver
 the value in "()" is the default
 -n: 1-way or 2-way (1),                -t: duration in seconds (60)
 -g: packet interval in ms (100),       -f: tracefile name (from test.counter)
 -o: udp test port (4368)               -R: retrieve the remote file
 -p: UDP data size in bytes (36),       -s,-r: hostname or IP addr
 -a,b: sender and receiver agents' key file for HMAC-MD5 authentication.

Where the trace file will be placed is still the same: in a 2-way test, the 
sender logs the trace; in a 1-way test, the receiver logs the trace.

You need to use "-R" option if you want to retrieve a trace file that is 
logged on a remote machine.

The sender and receiver can be either DNS hostnames (short name is fine) or 
IP address. But in case you have a firewall, then make sure the DNS name 
can be translated to IP address from the machine where you run monitor_auto.
