HT 2011, 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: Mon Nov 14 16:22:01 CET 2011


version for 2011 - still under development

Video recordings are now available.

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 19 September 2011 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 14 October 2011 + oral presentations individually scheduled 20 and 21 October 2011.
    • Send email with URL link to maguire@kth.se and you must submit your Zotero RDF file or BibTeX file of references that you have used.
    • Late assignments will not be accepted (i.e., there is not guarantee that they will be graded before the end of the term)
    • 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 part of the day that you give your presentation.


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 - you should avoid using contractions in a formal report
  • 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".):

Thursday 1 September 2011 10:00-12:00 Ka-C1 Lecture/Föreläsning 1
Thursday 1 September 2011 13:00-16:00 Ka-Aulan Lecture/Föreläsning 2
Friday 2 September 2011 10:00-12:00 Ka-C1 Lecture/Föreläsning 3
Friday 2 September 2011 13:00-16:00 Ka-C1 Lecture/Föreläsning 4

Note that Ka-C1 is in the Electrum building in Kista (Isafjordsgatan 22); while Aulan is in the Forum building (Isafjordsgatan 39).

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 2011(~3.6MB).

Video recordings of 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

  • The course previously used: Henry Sinnreich and Alan B. Johnston, Internet Communications Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol, Wiley, 2001, ISBN: 0-471-41399-2 and a second book Luan Dang, Cullen Jennings, and David Kelly, Practical VoIP: Using VOCAL, O'Reilly, 2002, ISBN 0-596-00078-2.
  • Robin Schriebman, "Call phones from Gmail", Official Gmail Blog, Wednesday, August 25, 2010 at 9:40 AM
  • Google Talk voice-chat
  • Google's Gizmo5
  • PeerMe, PeerMe, Inc.
  • Yahoo! builds upon Dialpad acquisition to offer VoIP via its messanger
  • MCI Web Calling for Windows Live Call
  • Grandstream NetworksSIP phones and analog telephone adpators
  • Internet Voice Campaign - part of the Voice On the Net (VON) Coalition (www.von.org)
    Founding members of the Internet Voice Campaign include EarthLink, Google, Level 3, Pulver.com, Skype, Sonus Networks, and USA Datanet.
  • How to use SER with CPL
  • To use SER with TLS and minisip - change your TLS method in the openser.conf file to: "tls_method = SSLv23" (thanks to Pjothi's comments in the minisip users mailing list on Fri, 3 Feb 2006
  • thevoipweblog
  • tools for testing your soundcard
  • A useful tool for watching your SIP traffic is: ipgrab
  • A popular VoIP operator in the US is Vonage (http://www.vonage.com)
  • Jasomi Networks recently annouced their PeerPoint Centrex Edition device for serving VoIP customers behind NATs.
  • Digisip offers flat rate pricing to the swedish fixed network for 195 SEK/month {seems to be limited to 30 hours}
  • Bredbandsbolaget offers per minute pricing to the swedish fixed and mobile networks.
  • See the excellent list of references which Raj Jain has made available
  • Christian Hoene and Enhtuya Dulamsuren-Lalla of TU-Berlin, TKN, have developed a really nice application for showing the effect of packets loss on VoIP quality - Mongolia: An Auditory Testing Environment to Study the Importance of a VoIP Packet
  • For access to the KTH electronic library see KTHB e-library.
  • Texas A&M University (TAMU) and Internet2 have created a Internet2 Technology Evaluation Center (ITEC) focused on Voice over IP.>
  • OnDo's Brekeke a commercial VoIP PBX and SIP server; with an emphasis on its web interface
  • Digium the primary developer and sponsor of Asterisk™ is an open source linux based PBX
  • minisip - a SIP client with SRTP + MIKEY, developed by students from the course; see also the related eavesdropping tool "EVE"
  • VoIPong - utility which detects all Voice Over IP calls on a pipeline
  • SJ Labs SJphone - a SIP/H.323 softphone
  • iptel.org's list of softphones
  • sipXphone
  • SIP express router
  • SIP Express Media Server (SEMS)
  • VOMIT - voice over misconfigured internet telephones - given a tcpdump of a voice call creates a .wav file.
  • INRIA Phoenix list of SIP programs, testing, ...
  • VoIP Security Workshop, June 1-2, 2005, Washington DC
  • US National Institute of Standards and Technology(NIST), "Security Considerations for Voice Over IP Systems", January 2005
  • (U.S.) National Emergency Number Association (NENA), "NENA IP Capable PSAP Features And Capabilities Standard", Document 58-001, Arlington, VA, February 1, 2005.
  • (U.S.) National Emergency Number Association (NENA) Migration Working Group of the Network Technical Committee, "NENA Technical Information Document on the Network Interface to IP Capable PSAP", NENA-08-501, June, 2004
  • AudioCodes VoIP, especially voice compression technology
  • "Connexion by Boeing" - be on-line even from aircraft
  • VoP Security Forum has a tool: SiVuS - The VoIP Vulnerability Scanner
  • Blue Box Podcast #22: SIP Security at IETF (part 1), VoIP security news, comments and more, April 7, 2006
  • University of Naples, in cooperation with Ericsson Nomadic Lab in Helsinki, have released a first implementation of an XCON-compliant conferencing platform. The server side is based on Asterisk and a modified version of its MeetMe application, while the client side is based on Minisip. The system uses the Binary Floor Control Protocol (BFCP). The project is called CONFIANCE (CONFerencing IMS-enabled Architecture for Next-generation Communication Experience).
    For additional details about the proctocols see the IETF Centralized Conferencing (XCON) working group.
  • Alberto Escudero Pascual and Louise Berthilson, "VoIP-4D Primer- Building Voice Infrastructure in Developing Regions, Translators: Anas Tawileh (Arabic), Johan Bilien (French). Available in English, Arabic, French, and Spanish.
  • SIP debugging and testing
    • Sipp (sipp.sourceforge.net) - conformance testing tool
    • SIP Swiss Army Knife (SIP SAK) - a useful command line tool for SIP development and administration
  • Michael Vorländer, "Auralization of spaces", Physics Today, Volume 62 (6), June 2009, pp. 35-40.
  • For some figures on power consumption of IP phones see Green-VoIP with snom, based on the study: "Leistungsmessung von IP-Phones", FH Frankfurt am Main - University of Applied Sciences, Forschungsgruppe für Telekommunikationsnetzte, Dezember 2008
  • J. Rosenberg, "A Hitchhikers' Guide to SIP", IETF, Network Working Group, RFC 5411, January 2009
  • H. Sinnreich (Ed.), A. Johnston, E. Shim, and K. Singh, " Simple SIP Usage Scenario for Applications in the Endpoints", IETF, Network Working Group, Request for Comments: 5638, September 2009
  • Shanbo Li's masters thesis ( mirror) "Web Call Application" (August 2009) illustrates how SIP can be used to instantiate calls between parties by using a web server. It provides a good example of how third party call control can be used.
  • Adeel Ahmed, Habib Madani, and Talal Siddiqui. VoIP performance management and optimization:A KPI-based approach to managing and optimizing VoIP networks. Indianapolis, IN: Cisco Press, 2011, 448 pages, ISBN-13: 978-1-58705-528-7.
  • Converting a PCAP file to LaTeX can be done with pcap2tex
  • minisip with Ubuntu 11.10:
    1. sudo apt-get update
    2. sudo apt-get install build-essential
    3. sudo apt-get install libglademm-2.4-dev
    4. sudo apt-get install libssl-dev
    5. As per http://lists.minisip.org/pipermail/minisip-users/2007-February/001297.html
      echo /usr/local/share/aclocal >> /usr/share/aclocal/dirlist
    6. Then build as per the instructions at http://www.minisip.org/develop_build.html http://www.minisip.org/develop_build.html
    7. I built the files under /home/maguire/trunk, thus I added:
      to the file /etc/ld.so.conf.d/i386-linux-gnu_GL.conf
    8. I also defined LD_LIBRARY_PATH to include /usr/local/lib in addition to /usr/lib and /lib

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

    Page History

    2011.09.23 added notes about building minisip under Ubunto 11.10
    2011.09.16 added video recordings for 2011
    2011.08.24 added lecture notes for 2011
    2011.08.17 added requirement to support Zotero RDF or BibTeX file of references cited in report
    2011.04.20 first version of web page for 2011

    © Copyright 2011 G.Q.Maguire Jr. (maguire@kth.se)
    All Rights Reserved.
    Mon Nov 14 16:22:01 CET 2011

    Valid HTML 4.01!

Feedback News