CCIE Collaboration :: Telephony Standards Protocols Part 1

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right let's go through these slides and start kind of talking about the telephony standards and protocols we're going to talk about several things within this this slide deck here first of which is going to be voicing the video codecs force the new edition from the CCI voice to the CCI collaboration this video codec there's also a couple little additions that weren't really mentioned a whole lot in the in the CCIE voice that we'll talk about today also we're about to talk about media protocols namely RTP because that's what's going to be transporting your media whether it be voice or video we're also going to be talking about you know signaling protocols which is going to be skinny which is sccp and we talked about media gateway control protocol which is mgcp and session initiation protocol which is sip and also yes Lou I am reversed so just so I can kind of it's almost like for me it's like looking in the mirror essentially so I can point that Waypoint that way that makes sense just a little aside into the behind the scenes of the video production so skinny MVC P and sip are the are the signaling protocols we'll talk about today we also have the age 33 gateways and gatekeeper yes gatekeeper is on the written exam even though it's not on the lab exam so we still need to be familiar with how that works and what's involved in the gatekeeper configuration we're talking on analog telephony digital telephony and the different types of signaling you can use with each of those technologies and then finally we'll follow that with fax and motor protocols and I'm sorry they just kind of worked out that way with those kind of those topics being towards the end of the lecture and the end of the day I know that's uh it might be a tough topic to do to keep interest in but unless unless you're from the old school voice world in which case you're going to love that part of the lecture so let's move on to voice and video codecs as long as there are no questions all right boys some video codecs what the heck is a codec anyway it's actually a coder or coder decoder and they've just combined the two words to make codec brilliant right it performs encoding and decoding on a digital data stream that's the whole point so one side encodes it the other side decodes it and if they're both running that same codec then they can easily encode and decode and pass the information back and forth these DSPs are digital signal processors that are on these specific voice routers that are that the traffic is passing through but they're going to be processing these voice signals from analog to digital and then from digital to analog and also from digital to digital in some cases so you'll need DSP resources to pull that off so the commonly used codecs that you're gonna see you know in the CCI collaboration written and also the CCI collaboration lab first one the new one is h.264 that is a video codec and it's used for recording compression and distribution of video content technically right and the goal is to provide quality streaming at lower speeds so if you have a you know H dot 264 enabled video phone like a 99 71 you can make a video call across a network somewhere that supports h.264 to make a video call between those two endpoints the next codec is internet low bitrate codec which is il BC this is one of those that wasn't really focused on a whole lot for the CCIE voice but now it's coming into light a lot for the collaboration it's a high complexity speech codec supported by sip skinny h.323 mgcp and it's at 15.2 kilobits per second with 20 millisecond frames sampling rate and/or sampling time and then 13.33 kilobits per second at 30 millisecond frame size so just very various bandwidth right there it's good to know you know the type of bandwidth that these band widths that these codecs can operate at so good information to have Internet speech audio codec which is Isaac bandwidth adaptive codec used in streaming applications with bitrate bit rates from 10 to 30 to K and a sampling frequency of 16 kilohertz so we're going to talk about I'm actually going to draw a little bit of what this means the sampling rate and frequency so we can kind of understand what this is talking about you know so it makes it a little bit more than just numbers I mean we have obviously the 15 point 2 K and 13.33 K or numbers that we can understand pretty easily because we've always worked with you know kilobits per second megabits per second that type of thing but you know the sampling frequency and sampling rate bit depth that type of thing which is also audio engineering type stuff it's good to understand to understand how a code actually works but we'll talk about some more codecs before we do that so the commonly used codecs that are continued from the previous slide low overhead audio transport multiplex la TM it's supposed to provide superior sound quality for voice and music for sip and Tandberg endpoints you can see the variable bitrate here at 48 56 64 or 128 for those of you who you know are in the music downloading revolution of course everybody is now the you know most commonly used format for mp3s is 128 K it's not necessarily the best quality for for audio yeah that you can get at an mp3 I prefer like 320 I think that's the best way to go but anyway 128 is really amazing for a voice codec I mean talking about very clear speech at that point if you're allowing the bitrate to go that high next thing g 7.7 22 g dot 722 it's got a sampling rate of 16 kilohertz and a frequency range of 7 kill Hertz now if you remember from digital networking 101 basically digital telephony 101 you have the sampling range for your phone is only off it's it's like three and a half kilohertz basically you're going from from only a small little little frequency band basically and so now this that's g7 22 is getting to give you almost double that or actually just about double that frequency range so the theory there is it's going to give you a better audio quality and if you can make a call with g7 22 and g.711 you may not be able to tell the difference you know if you're just testing it by yourself but if if you have that run in your network somewhere and you look you look on your phone hit the double question mark and you see that you run a g7 22 you just take note I mean you'll see a lot more frequencies represented mainly like the low-end you'll notice a lot more bass in someone's voice if you're using g7 22 because it's a higher quality frequencies for frequency ranges that it's analyzing they're so wideband codecs G dot G dot 722 dot 1 and then on the next page there's not two but this is another high quality speech codec with a bit rate of 24 or 30 qk per second another 7 kilohertz with 16 killa samples per second ksps audio coding and supportive for sipping h.323 only so you only see those with those two types of endpoints g7 22 forgot to mention is supported both with skinny and sip and a variable bit rate of 48 56 and 64 let me go to the next slide here and then I'll I'll start explaining kind of what that what these bitrate things mean she got 720 2.2 just a second version of that codec and it's an adaptive multi-rate wideband codec so it means it can shift basically it's it apps adapts to situation that it's forced in a bit rate of 16 K per second and a frequency range of 16 kilohertz so let me go back here just to get some of these frequency ranges to the first one so the sampling frequency of of 16 kilohertz let's take a look at that get rid of my wireless diagram so let's say that you have basically an analogue signal that's coming to work that's what we're talking about we're turning an analog signal into a digital signal that's the whole point of a codec so an analog waveform is you know what's generated from your you speaking so that looks in a close-up view something like that you know and as you zoom out it's just a bunch of garbage that you can't really tell but when you zoom in to this waveform it's basically just an endless loop of up and down basically so in this in this loop this represents your your voice your speech and the goal of a codec is to try to turn that speech into digital information so if you're taking a frequency range or frequency rate of 16 kilohertz that means it's taking a sample of your voice 16 thousand times a second so generally speaking that get pretty stinking accurate so what that means yeah sine wave Mike thank you sine wave but the sampling rate at 16k would mean let's say we're taking a sample of this little section this little section that little section and so forth and so it's just taking a bunch of little chops of each of these sections of the sine wave and then that information then is represented in digital form let's say with if it's 4-bit it can be represented that way so if it's 16-bit or 24-bit or whatever you know then that that quality will go up because do you have more ways to represent that specific waveform so if it's 16-bit then you have 16 bits with which to represent this specific part that we're looking at so the the only thing is and and this is another one was things like I said that overlaps with my hobby audio engineering you can you can take as many samples of a wave that you want a sine wave that you want but you'll never ever get it to be where it's exactly like an analog wave and and they've got codecs now you know like the codecs we've we've mentioned here that are just ridiculously good and you can't really even tell you know like if the quality is bad or not I mean that they were all very good quality so but what I'm saying is you know you're expecting a certain quality on the phone but you know it's never gonna match that of your analog voice like being in the same room with someone because when you think about it you're taking this sample but it doesn't go up like that on an angle you know it's either a 1 or a 0 so it's got to be squared off so when you take a sample it really gets right here exaggerating a little bit so you can see the difference and this spot right here this little triangle is not able to be represented by that sample essentially and obviously this is super magnified we're talking about very small pieces of the sine wave but that means that you'll never truly be able to represent that analog signal digitally so and you know just one of those things that you you can take away from calculus I guess the integration stuff and area under under a curve never thought I would use that stuff but I guess I I did but yeah so moral the story this you'll never be able to represent an analog wave perfectly with a digital signaling technology just can't do it you can make it better but it'll never be perfect so anyway I hope that that makes sense there with the frequency rate and the you know this this right here by the way also is called the bit depth if you represented that by four zeros you know it's a four bit depth on that so any questions on that so far okay all right moving on to media protocols so really the only media protocol we're going to talk about is is real-time transport protocol RTP RTP is is the protocol that's used between phones obviously to to exchange voice information you know it provides end-to-end Network functions for delivery of delay sensitive real-time traffic so as you know voice is very delay sensitive if you have any problems in your network you'll figure it out really quickly if you're trying to run voice over it because it just it will sound choppy and the quality will be bad and it runs on top of UDP as you would imagine it would because it ran out in TCP then you would have to constantly be acknowledging receipt of frames instead of where UDP or just sends it out and it does acknowledge it so which is called connectionless so the payload type identification sequence numbering and time stamping is also provided by RTP and of course you wanna you wanna identify what kind of traffic you're carrying in RT in the protocol on RTP so that the other side can interpret it you also want to have a sequence number that's super important because I mean if you don't have sequence numbers the speech could be very garbled I mean you'll you'll receive you always you not always but a lot of the time you'll receive packets that are completely out of order at the receiving end you know just based on how it was routed through the network and the receiver is intelligent enough to resort those packets based on the sequence number so the sequence number is absolutely essential to to RTP and then time stamping is also useful for for the information to kind of you know obviously troubleshooting is a great great need for time stamping there and RTP uses even port numbers just a good little trick to know there any questions so far okay real-time transport control protocol rtcp works in conjunction with RTP it provides out-of-band control information regarding RTP flows so that means it's going to provide information about the quality of the voice stream QoS delay jitter and it's going to use the next higher port number so if I use 16 384 for my UDP port number for my RTP stream then this next port number would be 16 385 for our tcp so that's just used to provide that control information to get information about the actual stream itself secure real-time transport protocol is just the secure version of the protocol that's basically all it is it's a way to to encrypt that traffic so you can't take Wireshark and and listen out of land and try to get somebody's conversation for yourself it uses AES 128 bit encryption and hmx sha-1 for the authentication and the the next thing here obviously you have a secure RTP you also have a secure our tcp and that's obviously just a secure version of our tcp so any questions on that doesn't look like it yet alright so now that those two things are out of the way we got the codecs out of the way we got the media out of the way now let's talk about the actual signaling protocols how do these media streams get set up and how do their codecs get selected and things like that so the first thing is skinny client control protocol which is sccp it is a Cisco proprietary signaling protocol of course and it's been around for a long time and obviously is the default protocol on phones actually and now that's changed a little bit with these these new phones that have come out to 89 71 is 1970 ones and so forth the 89 89 and 99 series 9900 series phones use the SIP protocol now exclusively so but the skinny protocol is still all over the UC network so it's definitely still necessary to use it's a master/slave model which means that you have one side of it that's basically controlling the session and you have another side that's just just executing the commands that the master wants it to execute so in this case the master is going to be communications manager and the slave is going to be the phone so that's a master/slave relationship uses TCP ports 2000 through 2003 and there is SCC PS which is the secure version of skinny as well so see CCM uses skinny to control phones first of all it also uses skinny to control analog ports on voice gateways you can use skinny 4 though for the voice gateways there and also skinny for media resources which are vastly important in the system that's the native way that it's it's controlled within Communications Manager or whether it be a transcoder conference bridge you know MTP it's all done through skinny the next thing is that this is and this is pretty important to note is that skinny sends DTMF digits out of band and what that means is that there's actually a separate little channel to send DTMF digits like dual-tone multi-frequency is what it stands for and that's simply when you're pressing a number on the keypad that generates a DTMF tone and then those digits get sent over a control channel rather than the media channel so if you're sending digits over a media channel then you need to make sure that those digits can be interpreted because when you think about what DTMF actually is it's just a frequency that's being generated by a key and that's what it was used for in the old old-school phone systems and there's actually interpret at the other end based on reading that frequency of course and now we're just turning that frequency into digital representations of that frequency and sending the digits along in this control stream so the CCM collects these digits sent by skinny phones using this station a knit message that's all one word there station and knit so digit NASA analysis takes place in real time as well so if I go off on if I go off-hook on my skinny phone and I start dialing digits those digits are sent immediately to Communications Manager right they're one-by-one so if I want to dial from the HQ site you know phone one to phone to i dial one zero zero to each of those digits are set one zero zero two right in a row like that so good good thing to note there and the digital assist aches place in real time as well so if you have you know if you have that dialed number that you sent you have one zero zero and the second you hit two and call manager receives to you it rocks the call immediately so it's it's basically trying to collect as much those digits you know one by one and then as soon as it gets one that matches a pattern somewhere in the system in raphson so it looks like a question here so you can look at the CCM SDI logs and just search on a station in it to find the key presses that's exactly correct thank you for that Julius so the the logs themselves I mean this excellent troubleshooting point of if you want to see the DTMF digits actually happen I mean you can you can see what happens when a phone you know presses digits one by one or and the other scenario to that I was going to just talk about was the skinny phone you know dialing the digits without going off hook you know and then hitting the dial key at that point digits are sent in block so you can have if you're dialing one zero zero two it dials one thousand two right there as soon as you hit the dial key so and you can see all that in the in the traces when you pull up a trace search for the station and net message and then you can see what actually comes from the phone itself pretty cool also there's a link I put in here and I use this tiny URL thing because the link was huge I'm I've started doing that or I started doing that or about this lecture I think through the slides so if you click that it'll go through a couple different things with a skinny call flow so we can click that here and check that out all right let's see if I can make this a little bit bigger okay so in this in this example you have IP phone a and you have the see you see em X they've labeled here an IP phone B so the first thing that happens here is that IP phone a gets the gets the phone picked up somebody's picked up the phone to make a call so it's 10 sends the station off hook message to see you see em see you see em then says okay I've noticed that you've gone off hook now I'd like to display that text to you to make a call so if you pick up the call pick up the phone it's gonna say you know whatever it says make a call is let's see here yeah it's your enter number is what it says so then it also in addition to having that display text it says station play tone so it's gonna you want to hear dial tone obviously when somebody picks up a phone they expect to hear a dial tone so see you see em the master in this relationship is instructing the phone to play dial tone and also set this station lamp to steady the the next thing is going to happen is once that once that feedback is generated to the user the user knows that it's time to dial the number so they start dialing the numbers station digit dial and then now what that first digit is dialed see you Sam instructs the phone to stop the dial tone so if if you know if you hit that first digit unless you're looking for outside downtown for like a PSTN line or something you expect that tone to stop or else you're gonna be like hey wait a minute why did that tell him keep going you're gonna think it didn't even accept your digit but in this case here this you know this is what it's when it's for and stopping the tone here for this call and then you have another digit dial another digit dial so apparently he's dialed three digits here this person sees him then takes those three digits and sets up the station call information message to IP Phone B so it looks like IP Phone a is calling IP phone be here that's the station lamp to blink and the ringer to on and the point of that obviously is to indicate to that user that his phone's ringing so it's time to pick it up and the user in this case does pick that phone up and and I did miss a message here the station call info while that phone's ringing there this UCM is going to indicate to the original phone that called that number that the phone is in fact ringing and that you're going to get an alerting tone back back for that so next thing station off hook sends that to see you see em and then it sets the station lamp to study which means it stops that dead blinking and it sets the ringer off and the next thing stopping tone over here and now what happens is the open received channel message they open receive channel message goes between those two phones and then you have an acknowledged open open receive channel message acknowledged and then you can start the media transmission and then the open receive channel ACK at the at the other end from the original phone that dialed and along with the conversation there so you can see the actual messaging going back and forth it's pretty logical to understand it's it's nothing crazy it's just basically you know every single thing every single action that's necessary on a phone is described in the messaging so you have the conversation and then you go to the the part where we have on hook so that means user a hung up first that message was sent to see you see em see you see em instructs phone B now to close that receive channel and set the station we'll have to off stop the media transmission and then everybody's on hook so that's that's an example of a simple skinny call between two end points they also have no messages between other end points in the same fashion I mean it's going to be the same type of signaling to make that call so any questions on that I so want to confirm with on-hook sccp dialing you just are sent in block one call send key is hit that's correct when you when you don't go off-hook you just dial the digits and hit the dial key that goes off hook and sends those digits and block all at once the station opened receive channel messages that the RTP port numbers are established yes so when the open receive channel message happens that's what it's describing in that open receive channel and says I want you to open a receive channel to this port and then it instructs the other side hey is gonna be receiving on this port send to that port essentially and so that when those messages are exchanged then they know exactly what ports to communicate on for RTP thanks for the questions guys any other questions at all feel free to ask any time all right so now that and it's just a quick overview and I see sccp mgcp media gateway control protocol is of course used to control gateways it is is also a master/slave protocol it's all text-based so as you've guessed probably the master in this case is a call agent or CCM and the slave is the actual gateway so the gateway in this case really just takes instruction from C you see em when it's running the mgcp protocol it can be run with a they define them as call agents which in our case is going to be communications manager so so the call agent is the master gateways of slave it also uses the user or user that's the typo it uses the session description protocol SDP for negotiating the media streams the SIP protocol also uses SDP to negotiate media streams as well that's just a good little similarity between these two protocols that's about as far as they go in terms of similarities though the UDP port is 24:27 for control traffic meaning the gateway is actually controlled using UDP messages on that port you know so the communications manager is going to communicate on UDP 24 27 to make that happen and then tcp 24 28 is used for backhaul and backhaul is when you actually send the messages that are received from your is the intro q.931 directly to communicate communications manager so an exchange is keepalive packets with the gateway in the call agent so you're gonna constantly know that that link is is up essentially because those keepalive messages are going back and forth and so like I mentioned the backhaul is going to transport that signaling that's received from the Gateway from the endpoint that's connected to the ISDN network across back to see ECM and then see you cm can control that PRI so it allows CCM to recognize ISDN status that way and since it's a master/slave protocol the master has all the intelligence so all the dial plan route patterns digit manipulation everything is done in C you see M this is especially good for for customers who don't want to have you know multiple areas of control in their network for digit manipulation or or or configuration the simple way to do is through m TCP well no you know it's not it's on the CCI collaboration exam it's not simple but it is it is less configuration for sure then then maybe having the dial plan on both CCM and through an 833 gateway all right moving on to MVC peak all states these are these are important to know because they define the type of messages that you're going to have with mgcp from the call agent to the gateway or from the Gateway to the collagen the first one we're gonna talk about is create connection it's and and I've labeled all these in here as the where they're from and where they're going to so that way you know what the message direction is and some of them are actually bi-directional so the first ones create connection which is CRC X that's the actual message that you're going to see in mgcp when you do a debug and you say it says creates a new connection on the Gateway which is codec bandwidth allowed gain control etc so it tells the Gateway to create a session with all these different settings so that message actually happens from communications manager to the Gateway the next message here is the modified connection dcx and that's also from the call agent to the Gateway and what that's gonna do is modify parameters with an existing connection so if it needs to add an IP address you know for example to to the Gateway in order to change where that stream is coming from I mean it'll issue the MD CX message and I'll and we'll have the the information that needs to be changed in that message the delete connection DLC X is going to be sent from either the call agent or the Gateway so as you can imagine I mean the the Gateway can also delete a connection because it's the thing that's actually making the physical connection with the network so it has the ability to say hey delete connection I've I'm done with it but the call agent also has the ability to do that because the user can also hang up so that message if you delete a connection that's the LC X that will be coming from either direction depending on where the call was terminated the next one is endpoint configuration and that's from the communications manager to the Gateway and it configures the Gateway with bear information so that would be it says here Mew law or a law meaning g.711 Mew law or g.711 a law to different codecs that you're no doubt very familiar with if you've studied for the CCI voice before or CC and PE or whatever but it will tell the Gateway to configure itself with that type of information to process calls mgcp call states continued we have now a notification request which is the acronym is kind of backwards we have our Q and T and that's from CCM to the Gateway so what it does is it tells the Gateway to inform the call agent when specific events occur so you'll have like oh the example here's on hook on off hook actions so if you if you receive a request notify from the call agent it wants to know about specific events related to what it's telling you about so if it does send you know if one saw on off hook action in their status you know once notification on that it wants to a request notification from the Gateway on that so that's a good way to remember that to a request notify request to be notified or from the Gateway so that's how I always remembered it Oh got a question here station oh let's see is that mixing arc UNT and and notify oh it may actually no no it's not actually Luke thanks for pointing that out though you made me think about it um it still is notification requests that still has the acronym that's correct there good good catch though cuz it you know never know these are beta as you say so the next one here is on at endpoint which is a ue p that's again as you can see there's a recurring theme here happening or a lot of messages from the call agent to the gateway so what this is going to do is try to audit port status which is going to be bear info signal status event status and port status i mean you can see the difference here between on them point audit connection one is gonna they're both going to audit obviously they both want information from the gateway but one's going to be used to discover to discover the status of a particular connection and one's going to be used to discover the status of a port meaning many different connections so the the audit endpoint is going to come back with a lot of different statuses on the different channels that are available on the gateway and then the audit connection will come back with one specific one specific in piece of information on a connection on the gateway next one here is notify and that one is from the gateway to call agent and now so that that's like the kind of the response that request notify so it's going to notify then back to the college and the information that it wants to know so in this case i had an example of on off hook actions like we had in the previous page there it would inform the call agent one specific events occurred because the call agent requested that that be notified to them the next thing here is restarted progress which is RS IP that is from a gateway to the call agent and informs the call agent that the Gateway is taking ports out of service and bringing them back in service so you'll have so there's three types here that that I've highlighted you have restart graceful and forced restart is endpoint is completely in service and and that that's the the type that's going to be forced when the endpoint is in service the graceful is going to wait till the call is actually cleared before it does anything before the reset in progress actually happens and then forced actually takes the endpoint out of service so the restart once again as the endpoint in service keeps the endpoint in service graceful wait until the call clearing and then forest endpoint is out of service so another link here on different call states in in Mt CPU which I definitely recommend that you check out we'll go here and look at a little bit of it right now this is basically a great example of what some of these messages look like so you can you can say this one says debug sequence for one a handset goes off hook and a user dials digits so you can see these notify messages are happening here to a particular endpoint you know and then each of these are going to tell you what exactly is going on so I think this is a great link you know to actually learn what these messages actually do so we can go and look at some of these here and let's take an example on that voice call it that shows originating and terminating sides I won't go through the whole thing but just to give you an idea of what kind of messages are received so you have this notify event remember which which side does notify come from or the NT n NT FY where does that come from Julius has got it right comes from the Gateway dance got it right - so that this message then is coming from the Gateway at this endpoint did anybody talk about endpoints too much but let me it's pretty small - let me see if I can enlarge that a little bit the endpoint is going to specify the actual port where this is coming from this happens to be an analog port this is analog line basically and then this is port 1 0 1 so this just how it's identified at mgcp and then this is the the router name and then the domain name at the end of it so and the whole thing together in mgcp is called the domain name so this is the endpoint at domain that's a good good thing to know as well so you see the notify message coming in here it's just sent to the call agent to report the observed event notify sequence number isn't 166 so we've we've got this in the middle of a message basically so you originally you got a request notify from the call agent for this and then notify sent that message from the Gateway back to the call agent let's kind of scroll through here and see if we get any other good ones okay so this one here is a create connection CR CX now which end point is going to issue the CR CX correct call agent or CCM so this we know now just by seeing the CRC exit this is coming from the call agent so we have this create connection message receive from the call agent and the sequence number of 2879 so we know what this 2879 means now it's just a random number sitting out there and then you can kind of go through and see what the end point ID is the version mbcp 0.1 the notified entity ID with the destination port number so everything is is basically outlined here and I won't go through all of them just in the interest of time but definitely have a look at this it's a very very good link for studying for the CCI voice or CCI collaboration written alright and here's an example that I popped into slides the delete connection you can see mgcp packet received DLC X with what is this a sequence number that's what we said and then this is the analog port 1 0 1 and then the router name dot domain name so the whole thing collectively known as the domain name so that's what a delete connection looks like from the mgcp side then now you have here's a modified connection which will actually go through and you know you can see that it's received where's the modify connection come from again gotta throw these quizzers in there you guys on your toes good deal from CA and also when in doubt just say it's from the call agent because it was like you know 28 of them that come from the call agent like 3 from the Gateway so but you can see you know in this message is actually modifying some connection parameters here you have the connection ID which is you know ipv4 13 200 2.6 it's modifying that IP address and this is the you know the port number of the RTP audio stream notice it's an even port number and the mmm in this case signifies media you also notice that if you've looked at the SIP debugs this looks very similar to how a session description protocol would look in sip because in fact it is the same thing STP is both in mbcp and sip alright mbcp return codes this is also similar to sip not exactly the same thing but very similar the response acknowledgement message so you're saying I got that I got that message from you I'm acknowledging that that's just a straight-up zeros 3 zeros the rest of them are are basically you know variations of each of the sub set of numbers 1 2 4 5 and the one set is a transit transaction executed relation message or related messages two is gonna be transaction successful like 200 okay that you might see and sip you'll get just a 200 in mgcp for x-axis transient error messages like a 404 permanent error message you might see like a 501 so those are the different types of return codes and sip or an MVC P and also you'll see in sip as well they're very similar all right MVC P commands and we can get into actual gateway configuration we get actual look at the gateway and check these out too but I wanted to point out a few of these commands before we did that the CCM Manager fall back - mgcp command enables the PRI to have somewhere to fall back to you if it loses connection to the call engine so this is perfectly useful in an srst scenario where a survivable survivable remote site telephony scenario where you lose your when link connection and you have to recover somehow so if you lose your LAN link and you're using an MVC P gateway your call control is gone at that point because you you know remember the Gateway is just a slave to the master you know call manager so if call manager is controlling the Gateway and you lose your when link then you're not able to control your gateway anymore unless you're somehow able to fall back to local control of that PRI you know in this case with fall back mgcp it's going to fall back to h.323 which would be the service alternative default command so the next one here CCM managers switch back graceful enables the graceful switch back from one cecum server to another during a CCM failure so let's say for example that you have an MVC P gateway connected to two different call manager servers in the same cluster obviously in the same cluster but you have two subscribers let's say and one is your primary call agent and that primary collagen goes down so you're on the backup call agent now everything is working just fine you're making calls the Gateway is working fine but now that primary collagen comes up well if this graceful command is configured with a cesium editor switchback graceful it's going to to basically allow any calls to complete the basic basically that PRI to be quiet before it does anything to disrupt any connections so it's going to kind of just take its time getting back essentially you also have the option of immediate which obviously it calls the call is going to stay up I mean it's it's RTP between endpoints at that point but you have immediate switchback never switch back I mean you basically manually do that by shutting down the mgcp process and bringing it back up scheduled time meaning that maybe you schedule it during off-hours if it switched and then uptime delay so based on a certain amount of uptime it allows a college and then to switch over next command here to pay attention to is the CCM manager redundant host and that defines let me just move out of the way a little bit defines the other CCM servers to which the Gateway can connect so that means that if you do have that call asian that is your your standby college and this CCM manager redundant host command is going to specify that server that you're going to connect to as a backup so the the primary command is just going to be mgcp college and but then if you have the CCM manager we've done that host command then that's going to say alright my backup for this call agent is going to be this server the next one CCA manager music on the whole is going to enable music on hold oddly enough so that command is actually it is necessary to you enable a streaming of music on a whole and them to CP though any questions so far okay next set of commands here mbcp call agent which I just talked about defines the primary call agent that the Gateway is going to use to to have its master relationship with it's going to be controlling that gateway gateway the MU CP bind command this is a very fun command that generally can cause some problems in configurations because when you're when you're first bringing up a a gateway and you use the bind command a lot of the times what's going to happen is that bind command is going to prevent you from from getting a multiple frame established status on your ISDN connection and what needs to happen in that case is you just remove the command and Rehab the command and that's been a source of frustration for a lot of different people I know I was one of those people when I first found that out kind of blew my mind like all right so I delete the command and Rehab the command and then it works okay so but the point of the bind command is to tell the MVC P process to use a specific interface for its communication so if I want to use my loopback interface which is probably desirable because that's always going to be up I use that as my source interface and then that communicates with the college and/or co-manager using that loopback address that's all that really amounts to you can do that for both media and control yeah the Allen the bind command was the one I was talking about that gave me fits and that was because it hung up the status on the highest en circuit so and and the way to fix that was just to delete the command andrey at it and multiple frame established right after that okay next thing mbcp DTMF relay kodak defines DTMF really related parameters essentially it allows you to change the way that DTMF is processed on the MVC b gateway whether that's in band or out of band you know RFC 2833 it allows you to specify the specific type of DTMF you want to use in MVC P and lastly the MVC P app command associates a dial P R with an MVC P connection so if you want to control an analog port you know you or a dial P or whatever you put that mgcp app under the dial peer in order to control that on the call manager side and also another great link on mgcp nice little summary here click on that understanding mbcp interactions with call manager so yeah well here's a good little breakdown of the analog you know or the endpoint type and what that all means so this is a great link to go through as well I mean the explains kind of everything I've gone through but it's definitely a good thing to keep in your back pocket go check it out when you're going back through the slides later something that Julius just brought up here that he said no mgcp I'm just mgcp will work I got to disagree with you there on that one and the others didn't why is because I know from experience it's very painful to have to troubleshoot this over and over again so I it in some cases it may work I'm not ruling it out but I know for sure 100% of the time if you remove that bind command and we add it it's worked for me if I have that that te I assigned the dreaded te I assign status in the highest en and and Julius that's that's awesome he's so Julius has had some success with just shutting off MDC P and turning it back on which is great hey whatever works man I'm with you but definitely uh you know if you run into that think about shutting down an MVC P bringing it back up and also think about that bind command alright so moving on to MDC P registration how does the Gateway actually talk to communications manager to register with it of course we talked about this backhaul link which is using TCP so it's got to open a TCP socket with with the the Gateway and then from there this is this is the reset and progress command from the Gateway to communications manager to inform that the Gateway is being brought into service so that's the gateway when it when it registers and brings itself up it's going to send that harness IP message saying hey I'm resetting everything based on what you just told me and then co-manager acknowledges that and then after that's done it sends an audit endpoint request which remember what the audit endpoint request does does it do a connection or does it do a port okay excellent and good way to remember that too is obviously on an end point ends a 2p report and audit connection previous looking at one specific connection so a good way to keep that in your mind the Gateway is then going to acknowledge that message from the call manager and then call manager will send a request notify and then get into the knowledge back so it asks the Gateway to confirm inform CCM of any changes one per endpoint so that's a standard requester so that's how the mbcp gateway registers very quick registration process so here's an example FX s call and we haven't gotten into the analog signalling yet but FX s means foreign exchange station and that's a port that is connected to a phone so that means a phone is making a call through an MVC P gateway remember MVC P can control FX s ports as well so notify here that the line has been taken off hook and then you get a dial tone back so very similar to how skinny would do that you'd phone goes off hook and scan he says well I'm going to provide dial tone or I got to tell it to provide dial tone so it does the same thing there and then you see notify for is pressed and then it turns off dial tone just like skinny wood and then digit five is pressed and then it creates a connection because apparently four and five is all the needed to dial that that was a valid dial string and so it creates a connection and turns on ringtone and then it gets acts and you know determines the RTP ports and everything it needs to communicate on after that so before I go into sip you guys want to see some sample configuration in the actual gateway itself or do you want to skip that part okay cool looks like a bunch of skips if you guys if there's somebody that did want to see it just ping me after class or whatever we can go through it alright so moving on to sip which is session initiation protocol and sip is all over this exam both the written exam and the lab exam so this is a huge huge thing to understand sip is is a pretty easy protocol to look at in a debug it's mostly logical I would say you know looking at the debug itself and and trying to pick out what parts or what I think it's relatively easy to understand it doesn't mean it's the easiest thing in the world I mean it's still looking at a debug so but it is an IETF standards protocol and it's obviously been evolved many different times there's been many amendments to the original RFC for sip so there's been a lot of different things added to the protocol to refine it make it better it's an application layer protocol that uses either TCP or UDP for transmission so it has the ability to use both protocols to transmit data it's a text based protocol similar to HTTP so for those of you who have you know programmed websites before an HTTP this is your lucky day because sip is very similar and how those messages go back and forth sip uses TCP and UDP port 5060 that's just the standard port it can also use a bunch of different ports just like anything else can but the standard port is five zero six zero alright SDP like I mentioned before a session description protocol is used just like it's used in mgcp for negotiating the media type and format so when you have an STP passing from one sip and point to another sip endpoint that means it's trying to negotiate media between those two endpoints and it it it operates in a offer answer approach so that means that if I'm sending an initial STP or initial invite or whatever and has an SDP in that initial invite I'm offering the codecs that I have for that specific call so if I'm offering you know g.711 GC 7:29 I'll BC or whatever and the other endpoint only has g7 29 well it's that's what the call will be because you have an offer and they have an answer the the other side can answer back all right let's just use g7 29 because that's all I can support and so it's pretty easy to see that at the debug going back and forth the and the next thing here resources are identified by SIP URI which is different from the directory or I if you caught my V lectures in the last couple weeks on directory you are eyes the SIP name is it starts out with sip : username and password popping you possibly if that's required in the string at host : port so the port would be 50 60 most the time the host is going to be maybe an IP address maybe a domain name depending if you have DNS in your network and then the user name is going to be you know a phone number in a lot of cases it'll be like like say for example if I'm making a call from HQ phone one it'll be 1001 so 1001 at 10.10 3 not 11 : 5060 would be that you or I that that's passed when I'm actually sending a call somewhere make sense everybody cool with that all right a distinction between skinny and sip for how DTMF digits are sent remember DTMF dual-tone multi-frequency happens when you press a key sip sends those digits in band by default but it also can use the out-of-band DTMF if necessary so there's a few DTMF methods that are important to know for this this written exam and also for the lab exam you have keypad markup language which is KP ml and that's an out-of-band method so that means it's sent over a control channel that's not the same as the audio channel this is similar to skinny because skinny uses those those messages that come out of band that are in the station in that message so so it's similar to skinny where analysis occurs in real time as well and it uses these sip notify messages so instead of the station a knit you're going to get a notify when using KP ml so it sends digit by digit analysis and one thing to I want to mention about the DTMF methods that I don't think I mentioned before is the difference between in band and out of band of course auto band uses that control channel in band uses the actual audio stream itself but when you do that you need to make sure that the if you're using in band for DTMF you need to make sure that that audio stream can actually send those frequencies remember these codecs now are advanced and they're designed specifically for speech and not for tones that go across the network so if you you know hit the number 2 key you know it may not interpret that correctly because it's expecting a voice to come through and synthesize that voice and not synthesize the key press so if you're running G 729 and you're running DTMF in band you might have some problems because G 729 is an adaptive linear predictive coding and it's going to try to synthesize that speech according to how you're inputting that that speech and not frequency you're not going to talk like a phone would with a DTMF key press so you have to ensure that you use some type of codec that can pass those DTMF digits on modified at all so I wasn't sure if I mentioned that earlier I wanted to make sure that you understood that though the next method here is unsolicited notify which is in hot aband method as well but it's non standards-based still possible to use the unsolicited notify message the the next one is pretty common message to use it's or message is pretty common DTMF method to use which is nte network termination equipment or more commonly known as RFC 2833 and this is an in band method that sends everything within within the audio stream itself that's known as RFC 2833 what is the default for sip on UCM RFC 23 it can the default on you cm is KP ml for a sip so keeper key press markup language so everything sent out of band on see you cm but you can configure your your SIP trunk you know to use RFC 28 33 or adapt or whatever the other system is using that type of thing so yeah hope that answer your question there Julius sip dialer rules this is the next thing I want to talk about here sip dollar was on a CCM are configured to allow sip phone to download a dial plan file which is dial playing XML from the CCM TFC TFTP server on boot so the dial plan that XML file is going to be stored locally on that phone and then the phone can access the file essentially for all the dial fund information so if you have you know digits that you want processed within that dial plan locally on the phone you can do that and then send them to communications manager so when dialing those digits are analyzed first against that locally stored file and then when a number is matched in the file and the timeout is zero meaning there's no wait time allowed the SIP invites message is sent immediately to CCM the SIP invite message is the way that the call oh that a sip call starts it's gonna send an invite to the other end and say I'm inviting you to this call that's the logic behind that so if there's not a match though in that dial planet XML file the digits are sent to see you see em when the inter digit timeout expires which by default is 15 seconds so that the inter digit timeout or the inter digit timer is also called what does anybody know the top of the head for bonus points yes you guys all get bonuses TDOT 302 excellent so good deal alright so moving on KP ml phones can use the dial plan that XML file but it disables KP ml because it has to go through the style plan XML file KP ml is gonna just send a DG by digital communications manager so it so it gets interpreted that way so then with that in mind sip da rules always take priority over KP ml because it disables it when it uses it so here is a nice little link on sip dial rules themselves this is another one another important one to pay attention to you see if I can make that centered if I go through and look at some of these things I mean tells you how to configure the SIP down rules tells you have to go through communications manager and do that there are a couple different things that I wanted to point out here because you're gonna see basically in sip dollar rules that the character is a lot different than normal route patterns that you would see it's not like you know just the xxx to say 0 through 9 you know they're they're different different values actually right here I think is what I wanted to show you so like a period will match any dish any digit just like an iOS a - means more digits can be entered so there there's some different rules that you want to get familiar with to how you would you would make a sip dial rule to you to download to your file so definitely good stuff to know in there have a look at that link and make sure you're familiar with it so Eric's pointed out that the t3 or tube by default is 10 seconds in iOS I think you're right on that and co-manager is 15 seconds we can check that out though okay move on to SIP Network elements so these are the the different roles that a sip sip clients and devices can play in the network you have sip user agent first of all which is kind of a general term you can have a user agent client user agent server but it manages manages a sip session endpoints can act as both a user agent client and a user agent server so a user agent client would be one that actually is sending a request out to have a conversation user agent server can can act as as a device that forwards the request on to another another user agent client so actually it says it right here initiates requests and received responses from user agent server or sip proxy server that's a user agent client it's a temporary role though because it only lasts for the duration of the session so you could change roles based on session and that's and that's why you know these roles in the network can change significantly a user agent server is response to sip requests by accepting rejecting or redirecting their requests and also as a temporary role that lasts the duration of the session so anybody can really be a user agent server as long as it can respond to sip requests by accepting rejecting or redirecting the request a sip proxy server is going to provide routing policy format enforcement features authentication and authorization see you see him as an example of a sip proxy server because it does all those different things any questions so far and this water bottle doesn't stand a chance talking this much really dries you out alright moving on here to SIP Network elements the continuation of that a sip redirect server is a user agent server that provides address translation so if you get well the it generates this 3-xx redirection and responds to requests and so it allows the sip proxy server which could actually be the same device a sip redirect server and a set proxy server to redirect invites to external domains so what that means is you might see a redirect message saying this extension has moved you know this extension is now here redirect over to that extension and so it would send a 3 X X message to respond to that and that's a perfectly legal response according to the RFC and Dan you point out that back to back user agent usually meaning call managers and back to back user agent and so technically yes it is and it could be all these other roles as well and you stole one of my questions at the end so ok what role does QB usually play was the question that he was answering there and he would be playing it back to back user agent because cube is in the center of this communication that you have communications manager going to cube and then cube going to another device somewhere and so now it's gonna take your request from this side and send it out send out the request on this side so it's performing a back-to-back function the sip registrar server is the next one I want to talk about it's the endpoint that accepts register messages from you as user user agents so what is that an example of a registrar server where might that exist well I ready to start a registrar server is going to exist in Communications Manager Communications Manager Express it's basically the way that that phone is going to register with the server and and it tells the server about its location meaning its IP address so it's also acting as a location server at that point so CCM performs a lot of different functions that are defined separately and sip I mean you can have all these different sip functions can be different at different devices in some fashion a lot of the SIP call processing call processing agents that you're going to see have them all in one though so users can register their current location with the registrar server of course meaning that that IP address is in the service configuration though all right now you have these sip requests and methods talk about invite a little bit in byte is when the user agent client is actually going to send out a request to another endpoint inviting them to a session so that invite requests if you're if you're a ninety nine seventy one phone sip phone on communications manager you're gonna send that invite to communications manager to to kind of interpret you know where to where to go with that I mean you're gonna you only have the college community to communicate with and a call agent is going to tell you where to go from there so you send that request to communications manager and then communications manager takes care of the rest essentially so user agent server receives the invite invite and a response to that so communications manager would be an example of a user agent server in that scenario Sarek points out iOS gateway could be a sip registrar server when running sip srst that's absolutely correct because in in the in the same fashion I mean you'll have to see see you see me running that that see you CME sip configuration and under under voice register global and then you have in the srst scenario and basically using the same underlying processes to run that you can do the same thing with that so a good point there Eric all right next message here was register which is used by the user agent to indicate its current IP address and/or location and that's going to be sent to the call agent so Cisco sip phones send the MAC and register lines with CCM using this method so that's in order to behave more like skinny phones that was done so the you can send the MAC address as well or to register with the server and then of course ACK that's the easiest one you're gonna learn all day AK is just acknowledge and of course that's logical because you already know that most most of you it confirms that the message was received and is sent in reply to the final response from the user agent server sent in reply to the final response so an ACK is only sent in that scenario and lastly by is going to terminate that session between user agent clients so that's it actually signify the end of the session cancel is where one of the sides sends well actually it would be the calling side that says this because you're gonna initiate an invite and then maybe hang up the call because you dialed wrong number or you didn't want to talk to that person or whatever so it would sip would then send a cancel message to the server and you can only really send to cancel when that final response has not been received so that means when a call is up you can't send a cancel to to the other end because it's not going to do anything you can send a bye to the other end and it will hang up the call but you can't send the cancel options is used to request information about the capabilities of a caller so it's going to define you know obviously the different capabilities you can get from each sip endpoint the provisional response acknowledgement adds the acknowledgement system to the provisional responses so it's it's basically allow you know a form of acknowledgment for these different messages that you're going to have going across the sit met work to make sure that they're received so it's a good good way to verify that that communication is actually happening yes the server can rest easy that the communication has happened so all right so now on to the SIP responses any questions so far actually got one just come up with set phones and you see em where do you identify what DTMF is to be used so let's look at that real quick actually let's pull that up I got a million windows open now play the waiting game for the login here Julius I need to send you the laughing face on that one I like that all right so if I pull up this 99 71 phone that I have registered here the question was where do you identify the DTMF that's going to be used well I don't think it's in the phone page but required DTMF reception I believe that the DTMF is going to be in this sit profile section here but let's have a look and verify that here's the team of DB level nominal I guess it's not in there maybe a security profile well that would be sick SIP trunk security profile actually I'm not sure on that be honest with you I thought it was it directly in the SIP profile there turns out I was wrong which is allowed you can never know everything right but I'm gonna go ahead look that one up after class I'll get back to you guys on that one it's a good question yeah definitely definitely there are a lot of DTMF related issues when it comes to you know connecting the third-party systems and different providers and things like that so good good thing to know it's on a sip trunk using RFC twenty or thirty three and g7 29 is an MTP required well let's say so RFC 28 33 is an in band DTMF method and you're using g7 29 so I would think yes probably because there's there's no way that you can send in band across g7 29 there so I I would say yes on that John thanks for the question okay back to these reciprocity provisional is 1xx just now this is similar to mgcp like I said but it's not the exact same provisional is when the request has been received and is being processed and it's informational only it doesn't have any bearing in the session you can have you know one thousand you know 1 xx messages come through and it doesn't have any bearing on what happens in the session whether the call gets disconnected it's just informational success is obviously what you want to see and that is the 200 okay message that'll pop through there's obviously there's other messages in that as well indicates that the previous action was successful so whenever you get at 200 okay whatever happened before that was successful the redirection we already talked about a little bit which is the 3 xx that means that further action should be taken by the sender and that sender should be redirecting to another user-agent client so the user-agent server has said hey this number is moved or whatever you need to redirect to this other number and so the user if your client does that the we're gonna question here explain your answer to John's question G 729 won't allow in-band DTMF now to explain that I touched down a little bit earlier but when you have in-band DTMF going across a low bandwidth codec like that so what happens is you have how can I explain this a little bit differently you have g7 29 which is adaptive linear predictive coding which means that it's designed to actually take your voice in and then synthesize that into digital packets so it predicts the type of waveform that's coming next based on the previous one so that's why it's able to to cut down that bandwidth so much and so if it's not a voice stream that's coming through it can't properly analyze that frequency so if you press DTMF key or you know whatever key on the phone that generates a DTMF digit going through that g 729 codec it's not going to be able to pass that information through the Kodak because the codec is is is expecting the voice to come through it so if it can't analyze that that means DTMF won't be passed properly so you need to have some type of auto band method or maybe an MTP to accommodate that scenario because if you're going to be doing that that it's just not able to pass it information I hope that clears that up okay cool all right moving on here to the the next one here server error 5-xx so just like HTTP if you have a server error you'll see like a 501 on authorized or something like that that's just like what you'll see in sit so 5-xx failure to execute the request from the user agent client and another thing too you see these codes that come through like 501 unauthorized the unauthorized part of that code is not or the the string part of that code that says unauthorized is not necessary it's it's just a descriptive term that's put in there by whoever wrote the protocol on a specific device that could say anything according to whatever the developer wanted to say but the 501 is the important part that's interpreted by the SIP protocol just wanted to point that out the global failure option here is 6xx that means that requests cannot be filled at any server so any server in the enterprise I don't know that I'm seeing a 6xx come across my desk but it's good to know for the written exam there okay sample sip call flow it's what you've all been waiting for I know and obviously this this link to is pretty important I made it another tiny URL because it was a huge link but a good link on call flows itself so you have a call flow between sip phone a and sit phone B so you send an invite out to sip phone be from sip phone a and then you have this 180 ringing message coming back and 180 is in the which category responses is 180 right informational is the the type of response that 180 will be and I Scott I just I saw your question there what happened - 4 xx response codes that would be a omission by myself so apologize about that for xx is like a not found messenger there you might you might see a for xx message when it's not able to resolve some type of directory number sorry about that I forgot to include that in there let me I'll add that to the slides of course before you guys get them so what do we say about informational messages basically they have they have no bearing on the session it's just a nice thing to know it's a nice thing to know from the other side that all right the device is ringing it's it's good we're you know got session progress and so forth the the real where the rubber meets the road the real message that that's really good here is the 200 okay that's what we're looking for so we got 200 okay and then we send an ACK because that's the final response to that message so that now that that basically sip dialogue or that sip transaction or whatever is is complete based on that so you have the invite ringing came back 200 okay came back and now we send an ACK back and now after that ACK happens we have our two-way RTP Channel and we have we have another invite coming here for send only and it 200 okay and an ACK meaning that a is on hold so what happens here what happened here is that be actually put and hold and you can see invite a equals send only a is is audio meaning it's it's only sending audio it's not receiving any so a is he's gonna be on hold there and 200 okay came back and then an AK from phone be in response that 200 okay you always need to have an ACK in response to 200 okay message so then when it takes the user off hold it has to send a send receive now so it's going to be both sending and receiving on that audio stream and then of course a sense of 200 okay B sends an ACK all is right with the world and they have RTP between these two devices again it's just a very simple basic call flow and real quick just to show you what this link has has some good information about actual sip call flows and here the different responses and you can see sip for xxxx is client failure responses which I I failed to put in the PowerPoint presentation so you can kind of go through and see you know the different call setups that you might you might have you know PBX gateway sip user phone you know how these are calls actually work the same way basically I mean you got you got setup coming from the PBX in this case and now you're you're having your gateway terminate the configuration from the PBX gateways running sip so it sends an invite to this user B phone and then you have a call proceeding coming back from the Gateway saying all right I've taken care of it I've send the call out it's proceeding and then meanwhile the SIP user B phone is saying I'm trying that extension or you know that that server might come back and say I'm trying the extension and then now it's saying we're saying ringing of course you notice that there are two informational messages coming back from that specific device so obviously you can have as many of those messages as one there's good good information to know and then so now we have the alerting tone sent back to the original phone that called from the PBX and then a two hundred okay comes back which translates into a connect message on this on this side here on the PBX and of course you have the act come back from the Gateway and now RTP is established on this link here between the you know the Gateway and the site B user phone and then the two-way voice path is exchanged between the Gateway the PBX so that might be you know a tie line or something that's you know a digital link that's connected between those two systems so a lot of different call flows like that and explanations for each of those call flows very cool link right here good good bedtime reading probably all right so but definitely good to know for the for the written exam and the lab exam good prep our provisional and informational interchangeable terms for 1xx responses or is there or is there more to or is there two more I'm sorry I didn't get the question or is there more to the different terms more than the different terms I think I think they're interchangeable honestly we'll have to verify that I mean I think I've heard provisional and informational used in the same way but we'll have to look that up and verify that go ahead and write that down in my to do list you're welcome Scott not a problem buddy all right now cool little thing here let me see if I can okay sip early offer and sip the late offer Oh actually how you guys doing you guys need a break you guys heard enough of me for a little while Coffee please yeah get some caffeine in your systems all right let's do let's do five minutes come back at 3:02 ready go all right Caesar you
Info
Channel: IPexpertInc
Views: 6,493
Rating: undefined out of 5
Keywords: CCIE Collaboration, Telephony Standards
Id: v-lJMPtgR2E
Channel Id: undefined
Length: 87min 29sec (5249 seconds)
Published: Wed Aug 20 2014
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.