Voice over IP

  1. PowerPoint slides
  2. Partition students into groups. Each group consists of two students. One student is responsible for developing the sender program. The other develops the receiver program.
  3. The sender will record an audio message from the microphone, save it in a memory buffer, and send it the the receiver via a TCP socket.
  4. The receiver runs an infinite loop to await for connections. It receives data from a TCP connection, save it in a memory buffer, and play out the audio data in the memory buffer.

    Interoperability Test

    1. After all groups have developed their sender/reciever programs, let's try to run interoperability test between each group.
    2. Run each receiver (in turn) on the teacher's computer.
    3. Each sender (in turn) records and sends voices to it.
    4. If it does not work well, let each group capture the data with Wireshark, and explain what they expect to receive/send.
    5. Let students discuss how they should modify to make these two versions compatible with each other.
    6. After all groups have tested with each other, students should have some ideas about how to improve their own versions. Use RCS for version control, and modify their programs according to the previous discussion.
    7. Run the interoperability test again to see how many groups become compatible.