RTP tools change history

1.17 (April 2001)
Added -o option to rtpdump, so that output can be directed to a file. This is necessary so that the file can be opened in binary mode. Also configured stdout on Win32 for binary mode, disabling the typical \n to \n\r translation. (hgs)

1.16 (July 2000)
  • For rtpsend, add -s flag to allow setting source port of packets. (Ping Pan)
  • For rtpsend, set RTCP timestamp to current value. (Ping Pan)
  • Compile fixes for Linux. (Jori)

1.15 (March 2000)
  • For rtpsend, in function rtpsend(), added support for transmiting RTCP messages, leading to a rewrite of rtcp_packet() and the addition of the rtcp_write_XXX() routines. (Ping Pan)
  • Bug fix: in rtpsend(), the parse() routine should store unsigned long into n->num, instead of int. This caused an error for large SSRC values. (Ping Pan)
  • In rtpdump(), the print-out for RTCP SR/RR report blocks should have a space before the ')'. This confused the parse() routine in rtpsend(). (Ping Pan)
  • rtpdump in -F ascci mode generated an ntp line without preceding space, crashing rtpsend. Fixed rtpdump. (Wenyu Jiang)
  • rtpsend sets X (extension) bit correctly and allows to specify the extension header. (Ping Pan)
  • rtpsend has -a flag to set the router alert option when sending RTCP packets. This features is only useful for testing YESSIR resource reservation.
  • rtpsend made more robust against invalid input. Exits if invalid input is found rather than trying to soldier on.

1.14 (October 1999)
  • Various portability fixes; now tested to compile on Solaris 2.6, Linux 2.2.10, FreeBSD 2.2.7, and FreeBSD 3.3. (Jonathan Lennox)

1.13 (August 1999)
  • Change to autoconf format [Petter Reinholdtsen]
  • rtpplay, rtptrans: compile fixes for HP/UX 10.20 and Irix 6.5. [Petter Reinholdtsen]
  • rtpsend: htonl(seq) should be htons(seq). [Bruce Levens]
  • Makefile: BIN directory wasn't created. [Mike Brescia]
  • rtpsend: fix usage and commandline parsing [Mike Brescia].
  • rtpsend: use absolute rather than relative timing [Mike Brescia]; this also removes an extra call to gettimeofday for each packet.
  • rtpdump: endianness bug in line
    packet.p.hdr.plen   = ctrl ? 0 : len;
    [David M.,]
  • Changed 'u_int16 length' to 'unsigned int length:16' [Jori]

1.11 (January 1999)
  • Marc Eaddy found that MSVC++ 5.0 only works if seq is declared unsigned int seq:16.
  • Additional Linux fixes by Petter Reinholdtsen
  • Windows NT/Win32 port by Xiaotao Wu (Columbia University).

1.10 (March 1998)
  • Bill Fenner: "I've been experimenting with real short clips, and discovered that rtpplay exited as soon as it read the last packet instead of letting the playout happen, cutting off READAHEAD packets (which in most cases was the whole file). Here are my fixes. Note that I had to (somewhat kludgily) schedule another timeout, since the notify system doesn't notice a notify_stop() request which is set from a timeout until there's another event." [hgs: Notify was changed to drop out when there are no pending timers and no open file descriptors.]
  • Jonathan Lennox created multidump and multiplay.
  • Catch additional signals.
  • rtpplay: Add -b and -e flags for playing back only a selected portion of the file.
  • rtpplay: The first RTP packet is now timed correctly with respect to the preceding RTCP packet.

1.9 (August 1997)
  • rtptrans also has non-sendmsg ifdef for Linux and similarly socket-challenged systems (by Lutz Grueneberg)
  • Port to FreeBSD (by Jonathan Lennox):
    • Added necessary architecture Makefile.
    • Extracted hsearch code from GNU libc 2.0.4 for rtpplay.
    • Massive byte-ordering cleanup (behavior under FreeBSD and Solaris should be identical).
    • Minor other changes for BSD 4.4 sockets.
  • rtpdump -f file now shows a "from" address of
  • Updated rtpdump, rtpplay's payload type maps to reflect current IANA numbers.

1.8 (July 1997)
  • Bug in parsing of RR fixed.

1.6 (October 1996)
  • Format flag on rtpdump changed from -f to -F for consistency.
  • Added ability to use RTP timestamps rather than received timing for rtpplay, making it more useful for recording.
  • rtpdump can read from files.
  • -x flag supported for dump format so that only RTP/RTCP and media headers are logged.
  • Fixed: random address information in header.

1.0 (December 1995)
  • First independent release of rtptools.
  • Added rtptools/rtpsend to generate arbitrary RTP packets based on text file. Intended as a debugging and torture/compliance test tool. rtpsend reads files produced by rtpdump (ASCII mode). For replaying recordings, use rtpplay. Only supports RTP data and SDES RTCP packets right now.

Last modified 1997-08-08 by Henning Schulzrinne