Every couple of months or so I teach a SIP class. Although it is billed as “An Introduction to SIP,” in two and a half days I dig much deeper than “what is SIP and why is it useful?” I explain every one of the SIP request methods and the most important response codes. I want my students to understand what a Refer does and what a SIP User Agent needs to do when it receives a “301 Moved Permanently” response. Additionally, I use a simple, yet functional SIP client that allows the students to explore SIP telephony, presence, and instant message. While they don’t leave class as Wireshark experts, they learn enough to trace a SIP call flow and filter for different protocols.
I’ve learned a lot from teaching this class, but one thing nearly always comes out. Very few people care about the nitty-gritty aspects of SIP as much as I do. That’s fine, though. I don’t expect everyone to get excited about Timer-B, Re-Invite messages, and SIP forking. However, I have learned that after they are exposed to such things (and so much more), the pieces of the SIP puzzle start to fall into place. They may never fawn over the protocol as I do, but knowing enough to be dangerous is important if they want to stay in the communications industry.
For instance, let’s go back to Timer-B. You may not need to know it to the level I get into in Understanding SIP Timers Part I, but knowing that it exists and what it means can be very helpful. For example, when configuring an Avaya Aura Session Manager you are asked to set Timer-B. Nowhere on the configuration page are you told what it means and what the ramifications are to setting it to something too short or too long. You are just asked to set it and without having a rudimentary understanding as to what you are doing you run the risk of creating a poor performing SIP system.
Another example might be codec choices. You may think that you’ve properly provisioned your network with the correct amount of bandwidth for the number of simultaneous calls you expect at any one point in time, but then your marketing department enables G.722 voice and call quality plummets as greater bandwidth is consumed. Knowing that G7.222 requires about three times as much bandwidth as G.729 is crucial.
The point of this blog is that the little things about SIP are important and having more than a casual understanding of the terminology and functionality of SIP will make a difference. Besides, who doesn’t want to be the smart person in the room when an SBC vendor is trying to sell you something you don’t want or need? Being dangerous can make the difference between the right product at the right price or a very expensive, job killing paperweight.