 Welcome to the Network Engineering Video Blog. I am your host, Michael Crane. In today's video we're going to take a quick look at the Grandstream SIP phone configuration. All this SIP configuration is going to be fairly similar across all phones. So I'll try not to focus too much on the Grandstream specific configurations and more on the SIP configuration. Okay so to get started here I have logged into one of our Grandstream phones. We're on the status page. It just basically shows IP address and the model and some other device specific information. It does show that none of our accounts are registered. And if you're not familiar with SIP these accounts are the different lines on the phone. So account one is going to be line one, account two is going to be line two, etc. Lines are just showing that they're not registered because we don't have a proxy or a back to back user agent in our test bed yet. So a lot of this stuff I'm going to skip over. This is point to point protocol over ethernet so no one really cares about that. Let me log back in. I'm going to kind of go down through these and just comment on the pieces that I think are important and if you have any questions about any of this stuff just put it in the comments under the video and I'll try to answer them or you can probably just google this stuff easy enough. Okay so G723 and ILBCs are both codecs and I don't think I'm using either one of them actually. Silent suppression is something that you'll come up. You'll see every now and then and SIP phones almost all of them will do it and what that is is and you've probably noticed it before maybe on your cell phones is if no one's talking you'll all of a sudden hear nothing almost like the call has been disconnected and what's going on is the SIP phone actually just stops sending RTP packets to save on bandwidth and that's nice if you're struggling with some bandwidth but there's another setting which I don't believe the Grandstream phone support but that's comfort noise, injection and that's actually just the opposite that's where when you're on the phone it actually injects a white noise hiss like a ssss to kind of to let the callers know that that the phone line is still connected. I mean silent suppression is great if you know if you're working with a couple DS0 lines, you know, on a small office, but otherwise just it causes more problems than anything so I never use it. So the layer 3 QOS of with the diff serve or precedence value, this is actually I believe a precedence value of 46, that's express forwarding, and I think it's express for express forwarding. But anyway express forwarding just means they want it low latency. They don't want, they want it to get there as fast as they can. They'd rather drop it, drop a packet then delay it and introduce a bunch of jitter and delay into the phone call. Also this is not for the signaling, this is for the voice packets, not the signaling packets. The signaling, I don't know if it's, well we'll have to keep looking, it's been a while since I've went through one of these configs, but the signaling should be in like a assured forwarding or something that we don't want to drop those packets, those we don't care if we delay because it's not going to mess up the voice quality of our phone call, but we do want them to make it there, right? So we'd rather have the packets make it there than be dropped, and we'll see if that configs in here somewhere else. Okay, so we're not doing any VLAN tagging, that's what these guys are, and that's a P-bit value, but we're not worried about that. Okay, it's a timeout. This is the phone stuff, use pound as a dial key, yeah. Yeah, so this is going to be the local RTP port, it says default $5,004, must be even. Now a lot of people in the business don't use numbers this low anymore, usually they start around $10,000 nowadays, and you can start it around $10,000, you can see it goes all the way up to $65,000, and that way it doesn't interfere with other protocols that use the lower numbers. All right, and you can see that this one RTP port is also for all four of the accounts, so, and when we get to the accounts you'll see. So the accounts are basically your signaling, and this advanced setting in general is kind of like your media settings, okay? All right, keep live interval, that's for sending re-invites or update messages, or options for that matter, it just keeps the phone alive, or the zip call live, we're not using any stun servers or or NATs. Right now, let's see, let's see, yeah, we're provisioning the the phone through HTTP, oops, some DHCP automatic upgrade, no, and I always undo this, because I don't want, I don't want anything upgrading automatically, and then having a customer call and say, hey, my phone's dead. Okay, here's some security stuff, phone book stuff, held up, oh, okay, so this one's good, this is specific, this is, well, kind of, SIP Pacific, it's a DTMF payload type, and that's the, I went ahead and pulled up a Wireshark tray, so we could kind of look at it as we're going along through here, and I'm going into the message body, which is the SDP, the Assission Description Protocol, and I saw all these codecs in here, I was like, oh, okay, well, that's, that's somewhat helpful, here's the G726 we looked at, the ILBC, and it's got this RTP map, 97, here's the mode equals 20 that you saw selected up there, and I'll show you where you set all that stuff here in a minute, but one of the things, what I wanted to show you is this DTMF payload type, and that's right here in this RTP map 101 telephony event, and it's just saying it's 8,000 Hertz, I believe that is, it's for your DTMF digit, so instead of sending the DTMF, which is like when you push a button on a phone, you hear the, and instead of sending that over the voice path, right, this sends it kind of out of band in its own packets, and yeah, we can kind of look at that real quick, hold on, okay, so I pulled up a Wireshark event, Wireshark and I did a quick phone call and hit the zero button a few times, and I'm filtering on SIP or RTP event up here in Wireshark, if you want to look at some of these things yourself, and you don't really need the SIP, you can just do the RTP event, so let's go in here and look at this real quick, and you can see it's got a, you know, version, padding, a bunch of other stuff, here's the payload type, telephony event 101, and if you Google this telephony event, you can use several different kinds, 101, 99, I forget what they all are, you can Google it and check it out if you want, 101 is by far the most common you'll ever see, here's the event itself and it's just saying its event ID is zero, which is, because I was hitting the zero button, so the volume is 16, and you see this event duration in the zero, and that's because as you hold down the zero button, it just keeps sending these packets, so if you look up here I'm just kind of going down, and you can see the event duration down here getting longer and longer and longer until it gets to the end, and you can see right here, so it had 1, 2, 3, 4, 5 events, or zero events, and then it had three ending ones, and you can see I did it several times, so I don't remember how many times I did it, but that looks about right, and I don't think you can set the volume in here, we'll have to keep looking, but I think the volume is fixed as far as this volume level right here, I don't think you can set it in the grand stream, okay so moving on, let's see you can give it some, oh let's say syslog server, yeah we don't care, this is a network time protocol server, we're just using the US pool server, this is distinctive ring tones for different call IDs, so here's a system ring tone, I think that's the default, and here's some other, and these right here if you're wondering, these are different, these are the two frequencies, so frequency one is 440 hertz, frequency two is 480, and this is some kind of cadence thing, right, and so you can kind of look at these, not very interesting stuff, this is all just turning on and off options, call waiting, disable call waiting tone, disable direct IP calls, disable conference, I'm not even sure what that is, I think this is a grand stream specific, I guess you can send DTMF using one of their programmable keys, this is do not disturb, disable transfer, disable multicast, I'm not sure what this is, semi-attended transfer, use RFC 5589, or use referrer, huh, yeah we'll have to play with that one these days, and this is if you got a headset plugged into it and there's eight different languages, okay so that's about it there, like I said if I skip over something and you're curious about it, you know just post a question, we'll take a look at it in more detail, so yeah this is the packet time, and this is in 20 milliseconds, and what's interesting about this is if you look at the spec it's kind of like well it's just a suggestion, but I guarantee if you screw this up, and some of the the phones you can actually set that, I thought I thought that's what this was up here, this 20 or 30, but this thing this seems like it's just for that one codec, basically for all the codecs, this is the packet time, how much it's going to encode 20 milliseconds of voice or audio and stick it in the packet, okay and both sides need to agree that what size that is, otherwise you're going to have a lot of problems, let me tell you, 20 is default and really you shouldn't mess with it, I think I've seen other people mess around with it, try to get better performance out of their network, but yeah you're just going to run into some problems, okay so moving on, let's see here let's go over to account one, and this will be our mainly our SIP settings, and I know I skipped over the basic settings, I don't think there's a lot in here, yeah you can use DHCP or statically configured IP addresses, oh here's what that MPK stands for, the multi-purpose key, okay and I think that's a grand stream thing, I don't know, let's see daylight savings time, LCD backlight, the sable in-call DTMF display, I don't even know what that is, yeah there's nothing really interesting in there, so okay so account one and you see I have this account active set to no, and that's kind of a grand stream only thing, but I do that so I don't get a bunch of SIP registration messages being sent out to the server right here, which doesn't really exist, okay so it will in the future actually, but it doesn't right now, so that'll be another video, okay so a lot of these settings like this SIP server, an outbound proxy, user ID, authentication ID, and and password are the same in a lot of phone configs, and I think this account name, let's go look at this invite right here, so now we're into the SIP message header, okay so here's the phone name right here in this from header, so that's that's this guy right here, right, and so phone A line one right, and so this will be, account two will be line two and account three will be line three, okay, and a lot of times these user IDs right here will be telephone numbers, and let's see if that's in the SIP message, oh no it's not, since I'm doing a direct IP call which is where I just plug in the IP address and not use dialing a telephone number, it's not putting it in this in this from message here, or in the to message for that matter right, so it should there shouldn't be a telephone number in front of this the SIP header right here right, but there's not, and that's because I'm doing a direct IP calling, otherwise this would be like a telephone number, or it could be the extension like 1001, and then when you dial it it automatically attaches a you know a 972212 prefix on it, N P A N X X, all right, okay so we're not using a DNS server, user ID as phone number, oh yeah so here's exactly what I was just talking about, SIP registration, it's set to yes, but since I have the account disabled it's it's not trying to register, and I did that just so we didn't clog up our Wireshark trace, all right let's see uh, unregister on reboot, I think a lot of phones actually have that setting, I don't know what the, maybe someone can tell me what the purpose of it is, register, register, expiration, 60 minutes, local SIP port 5060, now these local SIP ports are important, especially on a phone with multiple lines, okay, and the reason why is each line needs to have its own signalling port, otherwise you're gonna confuse the phone, so if we go to account two here, and if we go to account two, you'll see so its port is 5062, account three is gonna be 5064, and account four is 5066, all right, and uh, yeah see this is line four, so anyway back to account one, and uh, so you need to make sure that all your lines have separate SIP signalling ports, all right, this is a registration failure retry wait time, um, there's some timers, I don't remember what these are off top of my head, I'd have to google them, they, you can google some of this stuff, Sips got a boatload of timers, and you just can't remember them all, you just kind of have to google them or, or look at the spec whenever you need to find out what they are, okay, so the transport, this is pretty important, most people use UDP, you can use, I'm sorry, most people use TCP, you can use UDP, but there's been so many hackers will send bogus telephone calls to your SIP phones using UDP that no one really uses it anymore, unless you're, unless you're behind a firewall or, but usually for your SIP signalling you use TCP, symmetric routing, yeah, so this, this has to do with getting through Nats, I believe, and requiring that you use the same, the same port that it was originated on versus a, a Natted port through a Nats server, okay, and I probably didn't describe that very good, you can go read the RFC and, and check it out if you want, okay, so NAT traversal using a stun server, I don't remember what stun stands for, but it basically, when you send a, this is a good example right here, so if you send an invite, and let's say it's going out to the public internet, well the, the IP address here is 182.168.1.44, that's, that's non-routable in the, in the public internet, right, and you can see that address is just littered all through this, the SIP header and even into the, into the SDP, right, what these servers do, the stun server right here is it, it actually, you can replace your, your private IP address and your SIP message and your, and your, and your SDP with a public IP address that you get from the stun server, all right, this isn't really used very much anymore, most SIP aware routers can do this automatically for you, you just, you know, it knows the public side, it knows the private side, Nick can automatically do this, also session border controllers are very good at manipulating and hiding your actual network topology that could be, you know, sent out on the public internet, you might want, you don't want to know that your private IP address is on the other side of your, of your firewall, just getting, you know, sprayed all over the internet, so a, and a session border controller can take a lot of this junk out of here or hide the IP addresses and, and change them with its own and, its own public one and, so it can hide it, right, okay, subscribe for message waiting, yes, some, I think maybe most PBX's require you to subscribe for it, I don't know, you might be able to send an update, I'd have to look it up, I don't remember really, but always subscribe to it, subscribe for registration event, I'm not, I don't even know what that is, publish for presence, yeah, I think this is, you know, when you're at work and you log in and, and all of a sudden your boss gets a little pop-up that says, oh, you know, Mike's now at work, or Mike's now online or, or something like that, but that's my understanding of a present server, proxy required, yeah, this proxy require, I'm not exactly sure what that is, I've never used it, so I'd have to Google it and I'm probably not going to, okay, voicemail user ID, that's, makes sense, this is in your PBX system, or if you have voicemail server, it can log into that, and maybe that's what this thing's for, I don't really know, that's, that's interesting, anyway, oh, here's, oh, so, so when I told you that all the, the media or audio was gonna, was gonna be under these advanced settings up here, I was wrong, so here it is, send DTMF either in audio, or via RTP, or in SIP info, and this RTP right here is the RTP events that we're using, the 101 events, right, and I think you can do it in both, and in audio actually has some benefit, especially if you're interfacing with voicemail server, you know, you call up some big company and their voicemail answers, and you try to hit a button and, and it doesn't recognize these RFC events, or they're not getting translated the way it likes it, and so you might have to turn on this in audio right here, which basically just sends the DTMF tones down the same path the, the voice channel is going down, and no one uses this via SIP info, so don't ever use it. This early dial, I think that's early media, which would be like a 183, let me google that real quick, so I, I kind of looked this up real quick, and I'm not familiar with this early dial, it's definitely not early media, it has something to do with, with, I guess it can send invites out with only partial telephone numbers and, and the phone's supposed to get these 484 responses back until you dialed enough numbers, make the, the proxy or the back-to-back user agent happy, and I've never used this, I, I don't know of anyone that's ever used that, so there might be a use for it, I wouldn't know what it was, maybe someone can put a comment in and let us all know. Oh okay, so this, this dial plan prefix right here, this is what I was telling you about the, this is the prefix string that is added to each dialed number, okay, so this is, let's say your telephone number is, is 972 dot, or 9722121001, right, well, I mean that's a pretty big user ID, which is actually fairly common by the way, so yeah, you don't have to, you can still leave it 1001 and you can put the 972212 in this box right here and it will, and put it in the, the prefix string, all right, I mean it will append it to this 1001 so you have a full NPA, NXX, and station ID, telephone number, right, so, and I would test that but since we don't have a proxy or since I can't dial a telephone number to make a phone call, we're not going to see it in our invite, we'll, we'll play with that later, okay, okay, so this, this BLF call pickup prefix is kind of an interesting, a little feature, so if you remember way back in the olden days when you had a telephone PBX and you dialed a telephone number, you hit a button, it lit up, and everyone in the whole building could see that you were on the telephone, right, because the same button on their phones lit up and that is the, the busy lamp or it's, it's basically it's just, you know, and, oh, and by the way, so if you wanted to get in on that call, you could just hit your button and, and start talking with everybody or listen in if you were, you know, wanted to spy on them, and that's kind of handy, you know, if you're in an office, you can say, yeah, pick up line three, will you, and so that's what, that's what this does, and it looks like you can prefix it, it says this prefix is propended when answering a call with a busy lamp field key, and I have not set this up before, it would be interesting to play with, we might have to do that one of these days, because this is actually a feature that people like, they, like I was saying, you know, you can, if you're in an office, instead of doing a call transfer to the person sitting in a, a cube next to you, you can just say, hey, pick up line three, will you, and that makes it pretty easy. So this, this delay call forward wait time, let's say you're not really at your desk a lot, and so you're going to call forward all your calls to someone or other person, but you want the phone to ring, you know, for 20 seconds, let's say, and just in case you're, you're sitting there at the phone, or sitting at your desk, and you can actually pick up the phone, instead of it, usually when you call forward, it just gives you the cursory one little ring, and then the way it goes. So this, this, this allows you to let it ring for 20 seconds before it forwards a call, right? Let's see, enable call features. Yes, that's for the star codes, like star 69 for call return, and a bunch of other star codes. They always want to have that enabled. This session expiration is, is the KEPA lives, and we'll have to go over that. There's a whole spec on this, and this is basically, the user can send them, the UC, or the UAC, or the UAS can initiate these and, and set the, and set these timers up, depending on who initiates them. So if this guy initiates it, he's going to send it for 180, and if someone else initiates it, he's not going to let them initiate it any less, or less than 90 seconds. So as a minimum, he'll allow keep live timers, or keep live sent to him, and this is more of the, the keep live stuff. You can either, you can request for a timer, you can force a timer, you can, so you got the caller requesting a timer, the callee requesting a timer, and you got to read these. This is, this is kind of nice, it actually kind of explains their request for a timer and making outbound calls. So it says, you know, here's, here's my keep live timer, please support it. So the callee is the, the person you're calling, the caller is, is the one that's originating, or the, that's the person that you're calling. So this is the originator, this is the terminating side, and then we have the force timer, use timer, even when the remote party does not support it. And I think what it does, it just sends an invite out or it gets back, you know, a 200 okay usually and just uses that to, to update its keep live various timers. And it's got the UAC, this is the client or the phone specifying it. This is the server specifying it and then force invite. Oh, this is what I was talking about a second ago. You can either use an invite or you can use an update. Updates are usually more common because they're easier to weed out when you're doing a trace, but you can use an invite if the other side doesn't support updates, right? Okay, so this enable 100 rail. It's a reliability, I think rail stands for reliability, and this is basically using, is for crack. And that's, and that's a provisional AC. Yeah, that's, that's a whole another topic. I count ring tones. This is so you can have your different sip, sip lines have different ring tones. All right, ring timeout. This is so if the phone, if it rings for 20 or 60 seconds, it's gonna, you know, shoot it off to voicemail or somewhere else. The send anonymous is basically just block your call, blocking your caller ID. And you can either use it in a privacy header, the anonymous method that is, we might be able to actually capture that real quick. Let's try that. Oh, yeah, so we have to do a yes right here update. You can also do that from the keyboard on the phone, right? I forget there's a key sequence to block your or make an anonymous phone call. Let's give it a shot. Let me go place a phone call. Yeah, all right, it looks like it worked. Let's see here's our invite. So we don't need the SDP for this. Oh, yeah, so it actually put it in the from header as well. I thought it was going to give us a privacy header. Anyway, so this is what it does. So, so from anonymous. Oh, here it is privacy ID. There's that header. Well, I snuck it in on snuck it in right above that from there. Yeah, so, so this is, this usually tells the phone system say, yeah, I, you know, don't send my caller call ID information to the person I'm calling. And you know, that sounds kind of not only a criminal would use, but actually a lot of people use it, especially like public figures, or, you know, you don't want to have people, you know, storing your phone number and, and sharing it with other people. And, you know, your phone number be blasted all over the internet, right? So, you know, so they'll use something like this to block, block their phone numbers, right? Okay, so enough of that. Let's, let's move on here. Only use the from header. And this is use from header and use the privacy header. All right. And here you go. So you got, and this is why you don't block your number all the time, because you have anonymous call rejection. So if you get a call with something with the privacy header, or the from header, all, all blocked out with those anonymous entries, then you can just automatically reject it, right? And here's a feature I, I don't know who uses this, but this is if someone calls you, it'll automatically answer the phone. And, and several SIP phones I have seen have that. I, I don't know why anyone would want that, but I can't think of a scenario where you'd want the phone to answer automatically. Okay. Let's see. Allow auto answer by call info. It sounds like it'd be like using a call ID, but I don't see anywhere to put a call ID in there. So I'm not sure what that is. And I'm not going to Google it either. This video is already getting long enough. Okay. Turn off speaker on remote disconnect. Remember I was telling you in the previous video that when it hangs up, you can, you're hearing that busy sound. Well, this is, this actually does that. I'm going to go ahead and set that. And I'm going to try that real quick. Reboot the phone. Okay. Let me place the call. Yep. That did it. Oh, I didn't capture the trace. Oh well. Yeah. So it's basically the same as this last, last slip call. I didn't capture it, but basically what happens is, is phone a calls phone B. Okay. And so then it answers, gives a 200. Okay. We got an act. And then phone. Oh, well, this is phone a in this, this case. But what's what I've noticed is when phone B hangs up, phone a just sits there and, and it gives a busy signal. And, and that is a goofy, goofy grand stream thing. I don't get it. That is not a sip foam thing that I've never seen another sip foam besides grand stream do that. And you got to turn. I don't get it. Turn off speaker on remote disconnect. But if you don't turn and it's, it's no by default. I don't know why it's not. Yeah. So when the other end hangs up, it's done. The call is done. Don't sit there and give them the busy signal. Anyway, I'm done ranting about that little, this is, this is a grand stream feature here. So I have some poly com phones. I don't have that problem with this is this right here is goofy. Hopefully they took them out of their new ones or their new phones. Okay. So check sip user ID for incoming invite. Check it against what I don't know what that is. And that's, that's probably another grand stream thing. Let's see refer to use target contact. I think this is if you're doing a a refer message. This is if you're doing a refer header and you're like a call transfer. And we'll have to get into that. That's that can be pretty complicated. I'm not going to get in now. But anyway, that's it's just saying use target contact. I'm not exactly what that's for. We'd have to play with a little bit on a call transfer. We do some call transfer. Actually, when we get a PBX or a proxy or back to back user agent, we're going to we'll have a lot more fun with some of these, these other settings. And then we can really start digging into the details. We're just scratching the surface of sip right now, believe it or not. Okay, disable multiple media attribute in STP. Yeah, and that's the original sip. I don't know. Let's let's do this. I don't really remember. So I'm going to let's update. Let's check this update it. We'll just place a sip call and take a look at it. How's that sound? Okay, I went ahead and rebooted the phone and placed the call. I don't want to make this video any longer than it is. So yeah, I'm going to go ahead and let's look in this message. It's STP and it looks exactly the same. Disable multimedia. So what I was going to say earlier, and don't hold me to this, but originally sip was for a lot of different things besides just placing telephone calls and video phone calls. But yeah, so it can do other types of media. And I believe that's that multimedia attribute is a header defining what kind of media it is. And I don't even see it in the in the STP here. So but I think it's like M.M. or so I'd have to Google it. I'm not going to mess with it because I don't use it. So if you're interested, you can go check it out. Anyway, let's move on. We're almost done here. Okay, so preferred vocoder. I don't even know if that's a word I'd have to Google that. Anyway, these are voice codecs. So right now I'm saying, well, we prefer G711, which is PCM Mula. The second one is PCMA law, which is kind of a European thing. And then we got 723, 729, AB, 726, LBC, 722, and GSM. And I guess it defaults all this junk because I didn't set it. I usually use 722 and PCM. And that's about it. And the 729, a lot of people use that if it ran out of bandwidth, but that doesn't seem to be much of a problem nowadays with such big pipes. But if you if you had an office that only had a couple DS0 on your couple DS0s on your PBX, then yeah, this is this is probably a better choice. Okay, SRTP is a secure RTP, which is kind of like TLS type thing. And this eventless BLF URI, I'm I know what URI is, that's like a web address. But this is a busy lamp field. And well, no, it's a busy lamp field means that you're on the phone. So I guess if you're on the phone, you can post it to whatever this URI is. And that notifies other people you're on the phone, right? And, and I have no idea what this special feature is. Oh, I guess if you have Nortel, BroadSoft, Huawei, Philips, wow. And that's it. So the account two and account is basically the exact same setup as account one, except for what I showed you about the port numbers and in the names and the user IDs, which are the telephone numbers. And then they got account three, account four and these extensions right here are for these soft keys that you can program and, and looks like you can add just boatloads of them. And so this is like, if you have an extension module, like I googled it real quick, I couldn't remember the name of it. But look at that beast. Look at all those extensions. How'd you like keep track of that? That's pretty funny. Anyway, that's, that's kind of what that's for. All right, man, it's got, hey, look at them. There's 56 on that page. And, and here's the other one. Another hundred, oh, I guess there's 112 of them all together. So anyway, that my friends is it. If you have any, if you have any questions or comments, leave them in the comments end of the video. I'll try to answer them the best I can. If you liked the video, give it a big thumbs up. That really helps. And, and hit the subscribe button. That really helps as well. Thanks for watching. I hope you liked it. And I'll see you next time.