HT 2010, Period 1, IK2554 Practical Voice Over IP (VoIP): SIP and related protocols
(Röst över IP (VoIP) i praktiken: SIP och relaterade protokoll)

Last modified: Thu Apr 21 17:51:41 CEST 2011


Initial version for 2010 - still under development

Other updates

  • Students who are not regularily enrolled at KTH can apply for the course by filling out an application form for "Kurser för fristående studerande" -- please bring this form with you to class - so that I can expedite its processing (since normally this application should be submitted in advance of the course.

IK2554 Practical Voice Over IP (VoIP): SIP and related protocols (Röst över IP (VoIP) i praktiken: SIP och relaterade protokoll) is a 7.5 point course designed for advanced undergraduates and graduate students; especially those in the Telecommunication Graduate Program or the International Masters Wireless program.

Advanced undergraduates should have completed the course 2G1305/IK1550 (Internetworking) or 2G1701 (Advanced Internetworking) or an equivalent course and obtain permission of the instructor.


This course will give both practical and general knowledge concerning Voice over IP. The emphasis will be on the underlying protocols.

Learning Outcomes

Following this course a student should be able to:

  • Understand the relevant protocols (particularily SIP, SDP, RTP, and SRTP): what they are, how they can be used, and how they can be extended.
  • Enable you to utilize SIP in Presence and event-based communications
  • Understand how SIP can provide application-level mobility along with other forms of mobility
  • Understand how SIP can be used to facilitate communications access for users with disabilities (for example using real-time text, text-to-speech, and speech-to-text) and to know what the basic requirements are to provide such services
  • Understand SIP can be used as part of Internet-based emergency services and to know what the basic requirements are to provide such services
  • Contrast "peer-to-peer" voice over IP systems (i.e., how they differ, how they might scale, what are the peers, ...)
  • Know the relevant standards and specifications - both of the protocols and of the requirements (for example, concerning legal intecept)
  • Understand the key issues regarding quality-of-service and security
  • Evaluate existing voice over IP and other related services (including presence, mobile presence, location-aware, context-aware, and other service)
  • Design and evaluate new SIP based services
  • Read the current literature at the level of conference papers in this area.
    • While you may not be able to understand all of the papers in journals, magazines, and conferences in this area - you should be able to read 90% or more of them and have good comprehension. In this area it is especially important that develop a habit of reading the journals, trade papers, etc. In addition, you should also be aware of both standardization activities, new products/services, and public policy in the area.
  • Demonstrate knowledge of this area both orally and in writing.
    • By writing a paper suitable for submission to conferences and journals in the area.

This course should prepare you for starting an exjobb in this area (for undergraduate students) or beginning a thesis or dissertation (for graduate students).


  • Telesys, gk or Datorkommunikation och datornät/Data and Computer Communications or equivalent knowledge in Computer Communications; Internetworking; or permission of the instructor

Students considering participating in this course should contact the instructor.


This course will focus on the protocls associate with Voice over IP. The course should give both practical and more general knowledge concerning the these protocols. One of the major aims of the course is that student should be able to build upon these protocols to enable new services.

The course consists of 10 hours of lectures and an assigned paper requiring roughly 50h of work by each student.


  • Session Initiation Protocol (SIP)
  • Real-time Transport Protocol (RTP)
  • Real-time Streaming Protocol (RTSP)
  • Common Open Policy Server (COPS)
  • SIP User Agents
  • Location Server, Redirect Server, SIP Proxy Server, Registrar Server, ... , Provisioning Server, Feature Server
  • Call Processing Language (CPL)

Examination Requirements

  • An assigned paper requiring roughly 50-200h of work by each student (7.5 ECTS)
  • Registration: Monday 20 September 2010 at 23:59, to maguire@kth.se with the subject: IK2554 topic" giving:
    • Group members, leader.
    • Topic selected
  • Written report
    • The length of the final report should be 10 pages (roughly 5,000 words) for each student; it should not be longer than 12 pages for each student - papers which are longer than 12 pages per student will be graded as "F".
    • If there are multiple students in a project group, the report may be in the form of a collections of papers, with each paper suitable for submission to a conference or journal.
    • Contribution by each member of the group - must be clear (in the case where the report is a collection of papers - the role of each member of the group can be explained in the overall introduction to the papers.
    • The report should clearly describe: 1) what you have done; 2) who did what; if you have done some implementation and measurements you should describe the methods and tools used, along with the test or implementation results, and your analysis.
    • Final Report: written report due Friday 15 October 2010 + oral presentations individually scheduled 21 and 22 October 2010.
    • Send email with URL link to maguire@kth.se
    • Late assignments will not be accepted
    • Note that it is pemissible to start working well in advance of the deadlines!
    • For graduate students the paper should be of the quality that it could be submitted to a conference - immediately following the course.
  • Oral presentations; Each group should present their results in 15 minutes or less. The presentation should not be more than 15 minutes, given the 20 minute timeslot this gives time for a couple questions and changing presenters. You only need to attend the day you present.


For new ECTS grading:

  • To get an "A" you need to write an outstanding or excellent paper and give an outstanding or excellent oral presentation. (Note that at least one of these needs to be excellent.)
  • To get a "B" you need to write a very good paper, i.e., it should be either a very good review or present a new idea; and you have to give a very good oral presentation.
  • To get a "C" you need to write a paper which shows that you understand the basic ideas underlying voice over IP and that you understand one (or more) particular aspects at the level of an average masters student. In addtion, you must be able to present the results of your paper in a clear, concise, and professional manner - and answer questions (as would be expected at a typical international conference in this area.)
  • To get a "D" you need to demonstrate that you understand the basic ideas underlying voice over IP, however, your depth of knowledge is shallow and you are unable to orally answer indepth questions on the topic of your paper.
  • If your paper has some errors (including incomplete references) or you are unable to answer any indepth questions following your oral presentation the grade will be an "E".
  • If your paper has serious errors or you are unable to answer basic questions following your oral presentation the grade will be an "F".
  • If your paper or oral presentation are close to passing, but not at the passing level, then you will be offered the opportunity for "komplettering", i.e., students whose written paper does not pass can submit a revised version of their paper (or a completely new paper) - which will be evaluated; similarly students whose oral presentation is unacceptable may be offered a second opportunity to give their oral presentation. If a student fails the second oral presentation, they must submit a new paper on a new topic in order to give an oral presentation on this new topic.

Code of Honor and Regulations

It is KTH policy that there is zero tolerance for cheating, plagiarism, etc. - for details see KTH startpage->Student->Student rights See also the KTH Ethics Policies

Suggestions when writing your report

  • For students who are looking for examples of papers - see the ACM Sigcomm 2005 proceedings - which are in the Computer Communication Review, Volume 35, Number 4, October 2005.
  • For your document, you should be sure to use A4 sized paper rather than US letter.
  • For those using LaTeX, you can improve the look of the document by:
    • switching to using PostScipt fonts (instructions)
    • You can also turn off hyphenation or at least limit its use with "\hyphenpenalty=5000 \tolerance=1000"

Some common flaws in reports (from other courses)

  • Incomplete references
  • Missing important citations
  • Statements made without justification or supporting citations
  • Poor (or no) editing
  • Failure to spell check the document
  • Documents which it is clear that no one looked at after formatting - often these have breaks in the middle of sentences, missing phrases, ... .
  • Using figures from others without the copyright owner's permission
  • Lack of page numbers
  • Unreadable text in figures
  • Failure to label elements of figures adequately
  • Use of contractions
  • Use of acronyms or abbreviations without properly introducing them; often failure to use these acroynms and abbreviations consistently through the rest of the paper
  • Redundant text
  • Using too few refences, often the paper looks like simply a cut and paste edit of these references.
  • Single sentence paragraphs
  • Lack of vertical white space between paragraphs, which in some cases makes it hard to understand where new paragraphs begin
  • Lack of a date - every document should have a date, in addition to title and author(s), and most references should have more information - keep in mind that the goal is to enable someone (perhaps even yourself) to find the reference at a later point in time
  • Sections and subsections are not numbered - hiding both the structure of the document and making cross references difficult


Main Text-Book

The course will mainly be based on the book: Henry Sinnreich and Alan B. Johnston, Internet Communications Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol, 2nd Edition, Wiley, August 2006, ISBN: 0-471-77657-2

Additional Reference Books

  • none - at the present time

Lecture notes are available on-line in PDF format. See the notes associated with each of the course topics.

Errata for Henry Sinnreich and Alan B. Johnston, Internet Communications Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol (note this is a work in progress)

Supplementary readings

Useful URLs


The schedule for lectures for IK2554 Practical Voice Over IP (VoIP) are shown below (Note that in the following "xx" means "xx:00", not "xx:15".):

Lecture Plan and Lecture Material (OH slides)

Note that the lectures will occur in a very intensive fashion to accommodate graduate students coming from elsewhere in Sweden.

version of lectures for 2010(~3MB).

Audio of the lectures is available (thanks to a student in the class).

Staff Associated with the Course


Use the normal process for registering. For most students this means you should speak with your study advisor (studievägledare).

Other on-line Course related Material

  • A sample call and how to record with tcpdump and decode with tcpdump, ethereal, and ipgrab.
    • Running /usr/local/vocal/bin/sipset as user 1010 on a linux PC named "tlclab01" (which will have the SIP URL sip:1010@ and making a call to 1010@ (which will have the SIP URL sip:1010@ Thus user 1010 on tlclab01 makes a call, which user 1010 on (a Cisco ATA 186) answers.
      At the end of the call, the user on tlclab01 hangs up.
    • SIP-call-example
    • rtp-filter.ethereal
    • example-call.tcpdump
  • Examples of written reports submitted in 2004:
    Andreas Ångström and Johan Sverin, VoiceXML and Khurram Jahangir Khan and Ming-Shuang Lang, Voice over Wireless LAN and analysis of MiniSIP as an 802.11 Phone both reports appear here with permission of the authors.
  • Stefano Ventura, VoIP & Security for Enterprise, Séminaire Grifes, Institute of Information and Communication Technologies (IICT), Haute Ecole d'Ingénierie et de Gestion du Canton de Vaud (HEIG-VD), Yverdon Switzerland, 8.11.2005 - a very nice introduction to VoIP security (in french)

Sources for Further Information

Previous versions of the course (both as IK2554 and the earlier 2G1325)

Page History

2011.01.31 added a subdirectory 2G1325 for old lecture material - to keep it accessible
2010.09.05 added audio recordings of the lectures
2010.08.26 added lecture notes for 2010
2010.08.17 small changes
2010.06.30 added schedule for Fall 2010
2010.04.13 some updates
2009.10.20 first version for 2010

© Copyright 2008, 2009, 2010 G.Q.Maguire Jr. (maguire@kth.se)
All Rights Reserved.
Thu Apr 21 17:51:41 CEST 2011

Valid HTML 4.01!

Feedback News