TSM350 – IP Telephony, Fall 2011
Lab #1 – “Come Here Mr. Watson”
Objective(s):
This lab can be done in the privacy of your own home (dorm room, workplace, etc.). The objectives are to register for a SIP IP Telephony account, obtain a VoIP client sometimes called a soft-phone), configure the client, make a call, and draw a ladder diagram. If the client host computer is behind a router that provides NAT (e.g., a home router connected to a broadband network), it’s also interesting to think about how the IP address of the client is bound to the public ip address of the NAT on the outside of the router. (However, don’t worry too much about that part – we’ll look at that in detail in the next lab).
Doing the Lab:
1. Obtain and configure a SIP user agent client (a.k.a softphone). There are many free or opensource VoIP clients. (Open-source software is typically free, the source code is publicly available, and one is typically free to modify and/or incorporate that software into other products as long as the user agrees to conditions that pertain to making the modified source code available under the same conditions. Free software is obviously free, but there is no requirement that the source code to be publicly available). One widely used FREE (not open source) client is X-Lite, from a company called Counterpath. An older version of the client – which supports looking at the SIP messaging – can be downloaded from
Some advantages of Counterpath’s client are:
1-it provides a diagnostic log of the sip signaling (at least the old versions did, the newer versions do not, for reasons that are not clear to me).
2-it supports STUN, which allows calls to be made from behind most NATPed networks (without using a Session Border Controller – just wait, you will understand this in a few weeks), and
3-it’s been around for a long time, and so it’s pretty reliable.
I would suggest that students use the X-Lite client as a baseline client for these labs. However there’s no reason to stop with X-Lite - in fact, I’m interested in seeing how other clients work. So, I’m willing to offer 20 ataboys to anyone who also completes this lab with another client. (A good list of clients is available at you may also find a client at or even try using the Microsoft messenger client).
2. Register for a network based SIP account. Just as there are many sources for SIP user agent clients, there are also many SIP based telephony providers (Skype – which uses a proprietary and “secret” signaling protocol, is not such a provider). Generally, these providers allow you to make calls between SIP endpoints for free. They generally do not let you make or receive calls from the PSTN without paying something. {The reason for charging $$ to make calls to the PSTN is somewhat obvious – it costs the SIP service providers $$ to terminate calls on the PSTN. However, that there are providers, such as Skype or, that do NOT charge for making calls to the PSTN. Note that these providers have alternate models for obtaining revenue – some that work, some that don’t – but that “there’s no such thing as a free lunch.”).
One widely used “free” SIP Service provider is (Free world dial-up – Pulver’s sip based IP telephony service provider). For the purposes of this class, please register for a fwd account. That way, members of the class can call each other, since you will all be registered with the same service provider. Please send me your fwd account number, which I will publish on the class web site. This will allow calls to be made to/from classmates. – deprecated 2009. A really interesting thing about teaching this class is how quickly the commercial environment changes. Here’s an example – FWD has gone to a paid version (we believe), or is somehow running on empty with the end of the pulver/voip empire.
One widely used “free” SIP Service provider is (iptel is a widely used SIP proxy – with both an open source version (in fact two open source versions as the source code forked several years ago), and a paid version that was/is the foundation of a code base sold and supported by an American company (“Tekelec”). I believe Tekelec started out in the SS7 world, and is still significant a player in that arena.
For the purposes of this class, please register for a iptel for an account. Please send the class TA your fwd account name, which I will publish on the class web site. That way, members of the class can call each other, since you will all be registered with the same service provider.. This will allow calls to be made to/from classmates.
3. Configure your SIP client and make some calls. Configurethe client you downloaded (step 1) with the registration information you received from registering with a sip server (step 2). Remember to follow the directions provided in (2) for configuring the sip proxy (figure 1) and STUN server (figure 2). If you are using X-Lite as a client, right clicking will allow you to see the diagnostic log. (If you are using a different client, you will have to find a different mechanism to see the sip messages).
For the iptel hosted service if you call sip:, you should hear some streamed music – which should convince you that a call can be completed, and that media is at least making it to your client. You can also call echo@iptelorg (or dial 3246). This doesn’t seem to work the way normal loop back echo tests work (in which you can hear yourself as the media - RTP - sent to the network is looped-back. In this case it appears that only numerical key presses are sent back – which I do admit makes it easier to get a quantitative sense for what the delay is.
We will publish a different loop back number. T+It will be appropriate to use the phrase “Come here I need you Mr. Watson” at this point. Off course, in the spirit of the 21stcentury self-indulgence, you will only be able to hear (and help) yourself.
4. Send you username to the lab TA, who will publish it on the class website. Then make some more calls to other members of the class, or call your parents at home. (I have two kids in college, I’m very big on calling your parents – and now it doesn’t cost anything, so there is no excuse). How do you sound? What codec are you using? Have someone leave you voicemail, and then retrieve it.
5. BTW – it really helps to have a headset when you are making calls. (The reason, which you will learn about later, is acoustic echo). A cheap headset can cost less than $20, so if you have a few spare $$, go out and buy a cheap headset. ( Here’s an example – but no endorsement!
6. - Capture the sip messages, and draw a ladder-diagram.
Figure 1: Configuring the X-Lite client to register with the FWD SIP Server
Figure 2: Configuring the XLITE client with a STUN server, and making a call to the RTP loopback number.
TIPS for writing up Labs for TSM 350
• Be obscure clearly. –E.B. White
• Blessed is the man who, having nothing to say, abstains from giving us wordy evidence of the fact –George Elliot (Mary Ann Evans) 1819-1880.
• Plagiarism, let no ones work evade your vision. Plagiarize! Plagiarize! Plagiarize! –Tom Leher.
• Keep it short. You’ll get a better grade. – Elliot Eichen
I HATE grading labs. I HATE grading labs. I HATE GRADING LABS (even more than I have grading exams). Here’s what I want to see in a lab report (take a look at the sample lab report on the class web page):
1. A picture
2. Annotated ladder diagrams (with the actual sip dialog in the appendix. Use numbers and brackets around the sip dialog to reference which message points to which ladder diagram.)
3. Answers to the lab questions.
4. Item (3) written on the back of a $50 bill (thank you Click and Clack)
Lab Question:
If you have a broadband home router (e.g., a little Netgear, LInksys, etc. router), you may have noticed that the sip client running on the private, NATed side of the network (NAT = Network Address Translation) is populating the SIP messages with the publicly routable IP address on the public side of the router. In 1-2 sentences, explain how the client knows what IP address to use for the public IP address.
Lab write-ups were deprecated in 2007 – it was just too much work to read through all those write-ups – and anyone, it appeared that many folks were just copying their what others had done.
Instead, in 2008, we instituted short lab quizzes – I think these to a better job of gaging the student’s level of involvement in doing the labs. You should “do the lab” and try to answer the questions, as preparation for lab quizzes in this class.