If you have been following my blog it should be clear that I like SIP. I like it for its simplicity, its ability to create sessions of any media type, and its synergy with the Internet and web. However, it’s just a protocol and as such it’s basically a bunch of request and response messages. You need something to process those messages and “render” the media streams. Something like SIP clients, servers, and services. More specifically, you need SIP hard phones, SIP soft phones, proxy servers, redirect servers, presence servers, and session border controllers. However, even that’s not good enough. You need an overall architecture to manage and orchestrate those devices and applications. Enter session management.
Session management consists of seven functional areas. They are:
Routing is moving SIP messages from one place to another. It might be as simple as forwarding call setup messages (INVITE, 100 Trying, 180 Ringing, 200 OK, ACK) between the calling and the called party. It might also be more complicated and involve sending those same messages to different SIP applications that sit between the two parties. For instance, before allowing a call to be placed, you might want to send it to an authorization application. Also, before ringing the far-end you might want to send the call to an application that checks the presence status of the called party. Session management routing can send a SIP message anywhere that makes sense for any particular call flow.
Policy Management enforces rules and “class of service” on a global basic. With session management, you can set policies for an entire enterprise and all its users in one central spot.
Network Dial Plan
One of the hardest things about bringing together different communications systems is merging their dial plans. One system might use four-digit dialing while another uses seven digits. There are problems with number overlap and a myriad of different dialing rules. To require each node in your communications network to understand the dialing rules of every other system can quickly become a nightmare. With session management, the dialing plan is centralized and dialing rules between different systems can be managed and implemented in one place. The different communication systems only need to know how to send to the session management layer. The session management layer knows how to speak to the rest of the world.
Call Admission Control
Call Admission Control (CAC) is easy with non-IP or circuit switched telephony. Every call consumes a single physical circuit. You can’t put two calls on the same circuit so there isn’t any admission to manage. IP or packet switched telephony is based on network bandwidth and you can keep adding calls until that bandwidth has been consumed. Session management implements CAC on a network level. New SIP sessions of any media type will be allowed or disallowed based on session management understanding the network as a whole.
Unfortunately, SIP isn’t always SIP. Different vendors have taken liberties with SIP and there is no guarantee that you can connect Vendor A’s SIP system to Vendor B’s SIP system without some confusion about the messages that are sent between the two. Protocol Normalization fixs up those messages so that each vendor sees SIP exactly as it want to see it.
For a deeper dive into this, please read my article on SIP Adaptation.
Secure Network Edge
Anytime you open up your network to the outside world you need to make sure that it’s done securely. You don’t want rogue SIP clients attaching to your call processing services and consuming resources and committing toll fraud. Session management ensures that only the right people register with your SIP services and they do so in a secure manner.
For more information about SIP security, please see SIP Security.
Proactive Voice Quality Monitoring, Reporting, and Notification
You can buy the best SIP communications system in the world, but if you don’t plan for and manage Quality of Service (QoS), the chances are high that you will have a very unhappy population of users who constantly complain about lousy phone calls. Session management monitors, reports, and notifies on QoS issues both historically and in real-time.
In Practical terms
Those seven functional areas do not have to be implemented by a single component. In fact, in the Avaya world you need an Avaya Session Manager along with a Session Border Controller (SBC) to fully realize session management. The Session Manager is responsible for Routing, Policy Management, Network Dial Plan, Call Admission Control, some Protocol Normalization, and some Secure Network Edge. The SBC can also do Protocol Normalization, is much stronger on creating a Secure Network Edge, and is completely responsible for all QoS management. Those two elements combine to accomplish all seven tasks.
Again, I like SIP. In fact, I love SIP, but I love session management even more. Session management is the glue that holds everything together and allows you to create a scalable, reliable, multimedia communications system that takes the best that SIP can offer and make it even better.