Department for Electrical and Communications Engineering | Networking Laboratory |
S-38.3150 Networked Multimedia Protocols and Services |
---|
Overview
The course Networked Multimedia Protocols and Services addresses transport and control protocls for IP-based environments. We will start with the Internet Multimedia Communication Architecture and then address the individual components in quite some depth. This will include RTP and RTCP, SAP and SDP as well as the more recent Internet Media Guides, and media streaming protocols. A strong focus will be on the Session Initiation Protocol (SIP) including its architecture, signaling details, security, NAT & firewall traversal, service creation, presence, and telephony/conferencing.
The cource will combine lectures with practical coding assignments. The latter are meant to improve familiarity with protocol operation and implementation in a few selected areas. Coding assignments are to be done in small groups of two or three students. Practical assignments can be done as a follow-up on this course.
Lectures and exercises
Lectures will be held: Tuesday 10-12 (S1) and Thursday
10-12 (S1).
Exercises will be held: Wednesday 14-16 (S1).
Three of the exercise dates will be used for lectures to make up for some an interruption due to the 64th IETF in Vancouver.
Exam results for Tuesday, 13 December 2005, 13-16.
Exam results for Thursday, 12 January 2006, 9-12.
The next exam will be on 07.03.2006, 16-19, S4. Don't forget to REGISTER until 05.03.2006, 23:59.
The lectures, exercises, and the exam will in English language.
Requirements and Grading
To pass the course, the first two coding assignments must be completed, the third one is optional. There will be no grades on the assignments but working code is required to pass (and doing the exercises is likely to help understanding for the written exam as well).
The final review date for the assignments will be 27 February 2006. Please complete your assignments and email them to me beforehand.
The final grade will be determined by the written exam.
Time Table
Note that the slides of weeks 47, 48, and 49 are only accessible from workstations within the university network.
Assignments
Note that the assignments 1 and 2 have only indicative deadlines;
these are the handout dates of the next respective assignment.
Please return the assignments by sending me an email with a tar or
zip file containing the source code.
The review session for the assignments will be on Friday,
27.01.2006, 9-11 and 16-18. Please send an email to agree on a
20min slot on that day.
Note also that the code and the media files below are only accessible from workstations within the university network. Please use SSH tunnels and proxies when accessing from the outside.
A test sender is transmitting packets of some 116-120 bytes
(depending on the sequence number) from IP address 130.233.154.27
to the multicast address 226.226.226.226 at port 62226 in
one second intervals. The packets start with a binary encoding
sequence number (32 bits) followed by a binary encoded timestamp
(64 bits) and then contains the same information plus some further
text as plain text representation. The packets always end with
0x0a 0x00.
A second test sender is running on solomon.hut.fi multicasting to
the same address as above. The multicasts should be received by
hosts in the network 130.223.151/24.
For other subnetworks with Sun workstations, a binary copy of the
test sender udpsnd4 is available at ~jott/nmps/bin/udpsnd4.
Or choose one of the following:
Use udpsnd4 -a IP-addr -p port to send a packet stream of one packet per second vis unicast or multicast (depending on the address specified).
For testing in this assignment, we do not provide permanent media streams for tapping into since the a/v data rates are usually more disturbing (so, please remember to kill your own test senders whenever you stop testing). Instead, the following tool mpegStreamer multicasts an MPEG-1 video stream in CIF format at 30 frames per second to the IP multicast address 239.255.42.42 on port numbers 8888 (RTP) and 8889 (RTCP). An audio stream will be multicast to the same address at ports 6666 (RTP) and 6667 (RTCP).
New: You may provide a target IP address to send the media stream(s) to in dotted decimal notation on the command line. If none is given, the above multicast address will be used. Port numbers will be 6666/7 and 8888/9 in either case.
The MPEG-1 (or MPEG-2) media file to be streamed must be named test.mpg and be located in the directory where you are invoking testStreamer. You can use arbitrary MPEG-1 or MPEG-2 media files. The following two MPEG-1 samples contain only video data:
They work fine with, e.g., RealPlayer but should also work with other media players as MPEG-1 and MPEG-2 are commonly supported.
Material
The lecture material (slides) will be available in digital format (PDF) from this web page.
While there are many books on SIP and related standards, only
few of them turn out to be really useful (rather than,
e.g. outdated).
For IP-based multimedia communications in general,
there are not even many books (worth mentioning). A notable
exception is: Colin Perkins, "RTP: Audio and Video for the
Internet", Addison-Wesley, June 2003, ISBN 0-672-32249-8
(which, however, only covers a fraction of the course).
Therefore, rather than relying on books, we recommend to stick with primary material — in this case: RFCs and Internet Drafts — to which we will point for the individual lectures as far as possible. For parts of the coding assignments, it is essential read through pieces of the original documentation to properly interpret packet formats or protocol processing rules.
The following RFCs are likely to be useful (not just) for assignments 2 and 3. The Internet Drafts on RTSP and SDP just provide a view on the latest developments but today's client and server implementations will most likely stick to the respective RFCs.
Finally, some useful links to the various (IETF) working groups
© 2005 Joerg Ott - Last modified: $Id: index.html,v 1.44 2006/02/14 21:38:19 jo Exp $