Helsinki University of Technology Department for Electrical and Communications Engineering Networking Laboratory

S-38.3152 Networked Multimedia Protocols and Services

Overview

Starting with a review of the basics of IP-based multimedia communications, we will explore the details of media announcements (SAP, SDP), Internet Media Guides (IMG), media streaming (RTSP), and as the focus of the Session Initiation Protocol (SIP) as defined in RFC 3261 and may related documents. We will discuss concepts, protocol details, the concepts for SIP extensions, present SIP building blocks, and the various approaches to SIP-based service creation. Specific application scenarios to be discussed include telephony as well as instant messaging and personal presence. We will also address security and NAT/firewalls traversal. Finally, system design aspects (for endpoints as well as for infrastructures) will be investigated.

The course 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.

  • NOTE: The course starts in the first period of Autumn 2009(8/10.09.2009). However, the main course topics are lectured in the second period. Based on the feedback received from the students, we found that the coding assignments need to be spread over two periods. So, the introduction lecture and the first assignment shall be given in the first period. But, students familiar with the basics of network programming can start the course in the second period.
  • Announcements

  • 1. Introductory lecture on Tuesday 08.09.2009 (8-10 in ?)
  • 2. Assignment-1 and introduction to networking programming 10.9.2009 (C/C++: 10-11 and Java: 11-12 in ?)
  • 3. Regular lectures begin in II term
  • Support

    For questions concerning the course, please use the Newsgroup opinnot.sahko.s-38.tietoverkkotekniikka or Noppa or send mail to

    Lectures and exercises

    The regular lectures and exercises will be held in the second period: Tuesday, 8-10 (S1), Wednesday, 14-16 (S1), and Thursday 10-12 (S1).

    The lectures, exercises, and the exam will in English language.

    Requirements and grading

    To pass the course, the three coding assignments must be completed and the written exam must be passed.

    The final grade will consider both on the written exam (about 70%) and the assignments (about 30%). To pass the course, 50% of the points in the assignments and 50% of the points in the exam must be achieved!

    The final review date for the assignments will be announced later. Please complete your assignments and email them beforehand.

    Time Table

    Week Tuesday Wednesday Thursday
    37 (7.9.-13.9.) Short introduction to the course No Lecture Network programming: C and
    Network programming: Java ,
    Assignment 1 .
    45 (02.11.-6.11.) Introduction and Overview
    Packet MM basics
    RTP/RTCP Basics
    RTP/RTCP-II (Extension)
    Payload formats
    46 (9.11.-13.11.) Session descriptions (SDP)
    Session announcements (SAP)
    Media and Program Guides
    Internet Media Streaming Architectures
    RTSP streaming,
    Assignment 2
    P2P Streaming
    47 (16.11.-20.11.) PPSP Streaming Architecture IPTV
    48 (23.11.-27.11.) Introduction to SIP
    SIP Architecture and components
    Basic session setup and teardown
    Registration and service location
    Peer-to-peer background
    Peer-to-peer streaming
    Peer-to-peer SIP
    49 (30.11.-04.12.) Security for IP-based Multimedia I:
    Signaling security
    Security for IP-based Multimedia II:
    Media security
    Dan Wing's Media Security overview
    Assignment-3
    NAT and Firewall Traversal
    50 (7.12.-11.12.) SIP service creation:
    Architectures and interfaces
    SIP for presence and instant messaging
    SIP for telephony
    Multimedia conferencing with SIP
    SIP deployment aspects
    Exam hints

    Assignments

    The assignments will have deadlines assigned which are indicative or hard (as will be indicated).

    Please return the assignments prior to the deadline by sending an email with a tar or zip file containing the binary and source code. All the assigment submission must be send to Varun Singh <varun (at) netlab.tkk.fi> and Md. Tarikul Islam <mtislam (at) cc.hut.fi>

    Assignment 2

  • Streaming mpeg2 video: (mpeg2Streamer)
  • The GStreamer framework has been already installed in the computers of Maarintalo. The script mpeg2Streamer unicasts two MPEG-2 videos to the local address on port number 4400 and 4402.
  • Execution instructions:
  • (i) Put the mpeg2Streamer.sh, news.mpg and sports.mpg in the same directory
  • (ii) Execute mpeg2Streamer (sh mpeg2Streamer.sh)
  • Files Attached:
  • mpeg2Streamer.sh
  • news.mpg
  • sports.mpg
  • Reading tasks

    Course 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). The book by Gonzalo Camarillo provides a very good overview (but also discusses the 3GPP Internet Multimedia Subsystem (IMS) which we do not address in this course).

    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.

    The Internet Draft Tracker is useful to find any Internet Draft by name (and associated information).

    Finally, some useful links to the various (IETF) working groups

    © 2006 netlab - Last modified: $Id: index.html 174 2008-02-13 06:23:05Z jo $