The Secret Of SESSION INITIATION PROTOCOL
Most voice over IP systems includes a couple of different services or protocols. So here we have a small topology. You can see that there’s an Asterisk box here that is acting as our server and our register. And then we’ve also got a TFT IP and a DCP server. And then there’s a couple of phones there. And the first thing that happens is that the phones have to get DCP based addresses from somewhere. You can do this statically but most people do DCP and then it’s very common especially for desktop phones to go out and look for a TFT server somewhere.
They download the latest firmware download settings files things like that to tell them about the configuration for the network. One thing that they might pick up is where the call server is. All right. So that’s that’s the to get us going, of course, there’s a pee-wee switch in the middle. And these things have nothing to do with voice over IP in particular but they are part of many voices over the IP system after DCP and TPP are finished.
We now contact the call server and in this case, we are going to use a new signaling protocol called sip. Now if you remember right. Voice over IP is really broken down into two kinds of protocols. We have the signaling protocols and then we have the transport protocols are three major signaling protocols are HDR. Three two three skinny and sip all of these use RTP as the transport protocol. So that’s something we have in common and we’ll talk about RTP in another series of videos.
The signaling protocol unlike HSV 2 3
Right now we’re talking about the signaling protocol unlike HSV 2 3 and skinny we’re going to go to Port 50 60 for sip and sip has all of the familiar functions that we have with Asia. Three two three skinny that is we have phones registered where to find a way to contact other stations to let them know that we want to talk to them. So these are all things that are handled by our signaling protocol. So let’s talk a little bit about SIP specifics SIP is the session initiation protocol or what is a session a session is when we are going to establish a transfer of voice data between two nodes. Really what we’re talking about here is real-time data in all its forms. The most common is the voice over IP. So when you set up a connection between two endpoints really you have a session now sip unlike three two three or skinny is an RSV based protocol.
So you can pull down the IFC anytime you like there IETF documents and we’re going to start with 30 to 60 one. Now that is the sort of finalized version although SIP has a lot of companion RF CS and remember that the basic features and functions that we have here are being able to register with a gateway being able to contact a remote node find a way to establish the parameters for the call. These are all things that we’re trying to accomplish with the signaling protocol now H.R. 3 2 3 has a 2 to 5 and 8 2 4 5 to accomplish these two things.
SIP has its messages or methods and also the session descriptor protocol that allows us to swap the parameters for a particular session basic parts of a simple apology really include the user agent and it has a couple of formats and then proxies redirects and register server. Now the central part of this is the user agent. And this is really sort of divide up and two ideas whether or not you’re a client or whether or not you’re a server. Now already we can start confusing things but I’ll just start with this. Let’s think about a call server or a call manager.
This is typically going to be a user agent server which means that it accepts requests from the clients and sends back responses to client query the user agent client initiates those requests and then accepts responses from the server. Now the tricky part here is that a device acting or using the U.S. can actually be a UAC as well proxy is part of simple apologies.
The addressing that’s being we’re used to phoning
Actually, it’s part of a lot of apologies. The proxy here, in this case, is when you have calls that are forwarded on behalf of nodes or endpoints to another system or to another device. So this is what the proxy does. The proxy takes this call information or the invites and then forward them on. It’s not uncommon to see proxies use between systems. Now another big part of SIP is the addressing that’s being we’re used to phoning but SIP brings us into an era in which we use domain name services and email accounts and all that kind of stuff. So now we have something called the sip you or I. Or sip. Uniform Resource Identifier which is very similar to the email address that you’re used to using. Now, this makes it much easier to contact and find other entities on the network. So we’re used to saying well I want to send an email message to this person at this particular domain and sip allows us to do the same thing too.
Now that doesn’t mean that you can’t use phone numbers just like you use everywhere else but there are a couple of other formats that we that we use. Now one handy detail to remember is that when you’re setting up SIP trunks This is the format that we like to use. So you establish accounts on either side of the trunk and then you forward those trunks to those particular users. And there are some examples of SIP addressing below. Now, these are some of the key SIP messages or the SIP requests razor. This is where you’re going to contact the call server and try and log in or try and establish that you’re part of the system in the invite is used when you’re calling somebody trying and ringing a very similar ringing is typically from your own call server.
Trying is a lot of times we see it as being between systems because the call server has it doesn’t have direct contact with the called Node or the other endpoint. And lastly, we have that session descriptor protocol that I mentioned earlier. It’s actually defined in yet another RF C.. And this is what we use to set up the parameters of the call and SDP messages are actually rap wrapped up inside SIP messages and here’s an example of a sip message.
Here we see the header expanded and this one, in particular, is called an options message. Now you look all the way down the bottom this you’ll see the allow. These are all the methods that this particular endpoint or servers are willing to support. And this one happened to be that options message and we can see the type of system you can see the port number used. And so as we go through the videos what we’re gonna be doing is tracking sip conversations using messages like this but one of the very handy things about SIP especially when you compare to protocols like a Saturday two three is that it’s very easy to read it’s very simple to see what’s happening.