Assignment 7

The assignment is due Sunday, July 18, 11.59 pm EDT. Submission Guidelines

  1. Programming problem: Building on the previous assignment, extend your audio application to provide basic RTCP support and playout delay compensation, as discussed in class. For RTCP, you should support the SDES (CNAME only), SR and RR items. For this assignment, you can leave the RTCP interval at a fixed value of 5 seconds. For the playout delay algorithm, you may choose any of the algorithms discussed in class (see the class references for additional papers). You should support delays of up to one second and PCMU (mu-law) audio packets of any size. Otherwise, all the features from the previous assignment remain, with the additional user interface keyboard of playout and values of manual (algorithm from assignment 6) and adaptive (your adaptive algorithm).

    The application can be written in C(++) or Java. You may choose either Linux, Solaris or Windows (XP). The programming style guidelines apply. You should omit the Columbia copyright, since assignments belong to the author, not the university.

  2. Review question: Name two reasons why RTP packets contain an SSRC value, rather than just using the source IP address for identification.
  3. Review question: Consider two scenarios. For a 64 kb/s and 256 kb/s stream, respectively, sent by one transmitter to a multicast group, at what population does the RTCP timing algorithm kick in, i.e., does the RTCP interval vary with the user population? Assume that RTCP packets are 100 bytes long.
  4. Review question: Other protocols typically use a fixed port, such as port 80 for HTTP or port 25 for email. Why did RTP chose a different approach?
  5. Write down, as pseudo-code, an algorithm that handles both playout delay and inter-media synchronization. You should adjust the delay for each talkspurt for audio and no more than 5 ms for each frame for video. You can use any of the playout delay mechanisms discussed in class.
  6. Playout delay: For a system with a nominal interarrival time of 20 ms, packets in a talkspurt arrive at the following instances: 0, 10, 42, 61, 89, 103, 125, 150, 161, 189, 203 ms. Assuming that 10% late loss is acceptable, compute the optimal (non-causal) playout delay.
  7. What should a receiver do with the following packets (N+1, N+2, ...) when a packet N arrives late, but the next packet has not been played out yet? Justify your answer.
  8. Using the RTP specification for details, compute the jitter measure that a receiver would report in RTCP RR packets for problem 6. Assume that the timestamp clock rate is 8,000 Hz and each packet contains 20 ms worth of audio data.
  9. RTP inter-media synchronization: A system has two media streams, a G.711 audio stream and a video stream. The receiver receives two RTCP sender reports (SR). The first SR, for video, contains:
    NTP timestamp bf8c1623.7abc83a9
    RTP timestamp 18000
    The audio SR contains the following information:
    NTP timestamp bf8c1624.816fc9bc
    RTP timestamp 68880

    What audio sample timestamp should be played for the video frame labeled 20,000?