NE #79 SIP Call Transfer REFER Method Explained

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] welcome to the network engineering video blog I am your host Michael crane in today's video we're going to use Wireshark to look at a sip called transfer using the refer method the call flow will be a call C then B calls a followed by a transferring B to C we will be using our sip testbed we built in video number 65 for this testing so let's get started okay so it's going to be a call transfer test basically what we've got is we're gonna have a is gonna call C right and then B is going to call a and then a is gonna put the phone C on hold he's gonna answer the the call from B and at that point a is gonna transfer B to C all right and I hope that makes sense let's give it a shot okay so first a is gonna call see now okay now B down a little bit now B is gonna call a all right you can see line two blinking there for a so I'm gonna say is gonna put phone C on hold so I'm gonna put him on hold I'm going to answer line two yeah it's hard to do this voice path test it's easier just to pick the phone's up and say hello but yeah that wouldn't work too good with the video okay that looks okay okay so these guys are in to a calm and we've got phone C on hold all right so now what I'm going to do is I want to transfer basically line two to line one or basically seed up or b2c and and after we do that a is going to drop off so do this I'm gonna hit the transfer button and at this point usually a dial a phone number but since we're doing direct dial I can't do that so luckily they grant streams allows you to just select the line so I'm just gonna select line one which is phone C and as you can see phone a is disconnected is no longer a call going and you can see that B and C are talking and you can verify yep we've got voice path going both directions so so there you have it okay that's a that's called transfer all right so I guess first we'll just take a look at the call flow here real quick so you go to telephony VoIP calls and since this is a transfer we're gonna have two different calls one is a calling C and the second one is be calling a alright and I'm just gonna highlight them both so we can look at them together it'll I think it'll make more sense in looking at them one at a time right so I'm gonna highlight them both click on flow sequence all right let's refresh our memories what what the testbed looks like alright so dot 44 is phone a right here dot 46 is phone see and dot 45 is phone B so it's good that we looked at this so you know the middle one here instead of being B is going to be C all right so first we have the invite so a is calling C and I'm not gonna really go over the the messaging on a regular sip callers I've done a video on that and also I've done a video on putting a phone on hold I'm not gonna go deep into that we're mainly interested in the transfer part of this today but we'll go ahead and look at this here real quick so we've got this is a calling scene there's the invite and get some 100 trying from C gets a 180 ringing from C and at this point we should have a dialog up or our dialogue ID I should say and then we get the 200 okay and they agreed upon g.711 miu law and thrown a axe back next the 200 okay and we have to weigh media that's what these guys are all right so we've got basically the a calls see boom call up right or session and that's just your standard sip call that we've looked at in previous videos all right well this is different so so now we're gonna have this is the invite coming from B and he is calling a and of course it'll be coming in online too so we get the invite from B we get a 100 trying from phone a a 180 ringing from phone a and so now the phone is ringing and it alerts the user so the user says okay I've got another call coming in on line 2 so he says the phone C let me put you on hold and that's what this invite is that's that's phone a putting phone C on hold here's the 200 okay back from phone C and the act back from phone a okay so now line 1 is on hold line 2 is ringing so he clicks on line 2 these are clicks on line 2 and and that generates say 200 okay from phone a to phone beep then phone B sends a an ACK to the 200 ok and now we've got to weigh media okay so the call is up that that session is up between phone a and phone see I'm sorry phone phone B and phone C is still on hold all right so now what we want to do is we want to transfer phone C to be right so here's this is that this is the invite to do that and let's go take a look at that invite so when I hit the transfer button phone a sends an invite to phone B right and if we look down into the and the SDP you can see he's sent he's putting him on hold basically right so he's basically putting phone be on hold and that's interesting about is it says it's in dialogue and I mean I noticed in when we're doing the other hold when we did last video on call hold and I never saw this in dialogue I'm not exactly sure why it all of a sudden decided to mark it as in dialogue it didn't do they are the one we could look at it real quick if you want and this is where this is where this call flow comes in handy if we just try to scroll up here and figure out which invite is what there's three of them right before we even get to it how we could do it I mean it's not that hard with this simple of a call flow but it's easier to just come down here and say okay well here's where B is calling a and this is where we put C on hold so you just highlight this invite right here and what's nice is it automatically highlights it on the trace so we can just move that off the screen come down to this invite and this is where we put them on hold you can see a ascending see the invite send only right it's a 200 okay back should be receive only up from C but you notice he didn't put in dialogue there right I don't know why maybe someone that knows more about Wireshark than me can comment but anyway let's go back to our call flow because we're looking at call transfer and let's see where were we we okay put on hold okay this is so now like caught the session between a and C I'm sorry a and B C is on hold okay we hit the transfer button he puts be on hold okay there's a 200 coming back and act for putting be on hold and as soon as I select that line where I say I so I'm talking to me I select line one for a phone see I do this I'm gonna hit the transfer button and at this point usually a dial a phone number but since we're doing direct dial I can't do that so luckily they grant streams allows you to just select the line so I'm just gonna select line one which is phone see he shoots this refer out now this is this is the real transfer right here okay is this referring let's go look at that guy okay we've got okay it's coming via a okay from phone a okay that makes sense to phone see okay there it is here's the rears what we're looking for so we're gonna refer 2.45 which is phone be port 56e replaces this call ID okay from tag here's his from tag here's his to tag so it's uh it's looking at the whole dialog right and it's referred by well there's a head-scratcher Wow I don't know where that IP address came from that's that's pretty damn funny there it must be some something bogus and in one of the phone can fix it that's populating that because top-40 what is that let's pull up our drawing there's nothing up here with dot forty I'll have to go look at that okay so I went ahead and pulled up the that config for phone a and you can see his IP address is not forty four which is correct and then line one or mount one you can see that the adopt forty is actually something I plugged in there for the sip server and the sip server does not exist well not yet anyway and I do plan on creating a sip server with an IP address of dot 40 if you remember from a long time ago and a video blog we did but as you can see that counts not even active so I guess the the sip phone decided well I need to plug something in that field so I'm just kind of plugged this top 40 in so anyway that's where that that dot 40 came from and yeah so in this referred by I'm surprised it didn't use got 44 I'd have to go on this spec but I I'm surprised it just didn't use dot 44 anyway um yeah we're gonna be replacing this dialog for that's going to phone a two and it's going to be replaced by a dialog between B and C instead of ANC okay and one of the things I was looking at was if you notice in our trace right here you're gonna see something that you see they accepted right here and this is coming from phone B I'm sorry phone C is you know so given a 202 accepted and then after this 202 accepted we see this notify coming back and and what that is is that's and we can look at it real quick but it's a a sip fragment and he's kind of given us he's giving phone a or phone C is telling phone a what's going on with the call between the call that we transferred between B and C all right so phone C is updating phone a about what's going on between B and C that makes sense and what he's telling us is to sit frag and he's received a 100 trying from phone B now if you notice from our trace here we don't see that right here and that's because I didn't have the port mirroring turned on for phone B or phone C either one would would work because we're missing the dialogue between phone B and phone C because I only had the the port mirroring turned on for phone a so we can see everything communicating with a but not the if a wasn't in the conversation he wasn't getting the trace so I went ahead and made another call exhale exact same call this time I turned on port marrying for phone see I believe you see now he say house it was from phone see cuz he can see right here so we'll just highlight these guys now look at the flow sequence and now I'll see we have another color so here's the refer we're looking at here's a 202 accepted and here's a notify and you can see it looks like it's a little a little out of sync not exactly sure why but if you look at this is the invite from phone see to phone be alright let's go take a look at them real quick so here's that invite message header okay so from phone see to phone 45 is B can see there's not a tag ID right here so they haven't established a dialog yet okay contact phone C and here's the replaces header this is telling phone be that this is a transfer okay and it's and it's replacing this dialog right it's not the the dialogue that was in that was in that referred to in that refer header that refer sent message this is the dialog from the phone call from B to a okay so let's go look at that real quick so here's his call ID a 18 is the last three digits and the tag is 592 and 527 so let's go up here see even this this kind of simple trace can get pretty complicated so dot 45 is as B here's where he called a and let's go down to the 200 okay here's the 200 okay for it oh let's go look at has dialog ID we got oh yeah see here you go a 18 d09 oh sorry that's that's the transaction ID 527 and 592 replacing down here and this replaces header see 527 592 a 18 so this the dialogue we're replacing with this no invite that we received from see right that clear as mud so far anyway he sends up one enter trying back and then he says but I don't need this this old call anymore to phone a so he sends a by the phone a it's probably easier look let's look at this trace right here okay so here's a refer accepted notify 200 okay and this notify were said trying I believe this is when it's in a sip frag like this is usually from it be like this trying right here but it doesn't look like it's really synced up and I'm starting to think maybe it just got a 100 trying from phone see or this trace is out of whack and I'm not gonna really look get into it or dig into a little more other ones look like so here's our ringing and here's probably a note of five for the ringing and stuff so I'm not sure if see just didn't generate that one under trying just to send you know an update to phone a but anywhere is a 200 ok okay so here's the the invite from C to be with it replaces so it's replacing the call from from eight to see it gets a one that are trying back from phone be and at this point phone be says well I don't need that let's call up here anymore so I'm just gonna disconnect it and then he sends okay I'm doing or ringing sends it ringing - phone see phone ace is sending a 200 ok ok back to this by right here and we can go look at that real quick if you're wondering how determine that this is where the sequence numbers come in so here's a PI and this is like I was saying where the sequence comes in so it's a sequence number of 15 135 by and here's that ringing I was telling you about right here and here's a - okay and 200 okay and you can see so it's forced the sequence by 15 135 so that's how you kind of know that by and this 200 okay are matched up and so phone C has received a 180 ringing from from B and now he's gonna notify phone C is gonna notify phone a just to kind of keep him in the loop that he got a ring so we'll go look at this real quick and there it is right there and a sip fragment he's saying yep I got a ringing phone a says okay very good and then phone B sends a 200 ok for the you know to bring the call up or the session and phone C says tells phone a ok I've gotten a 200 ok so now the call is up phone C acts the 200 okay for this guy right here is he got 200k he acts it he sent it and between that time he's sent the notify phone a sends a 200 ok for that notify that he received right here ok now these guys have their media going so the session is up and now that phone a knows that this call was transferred ok he just sends a goodbye and disconnects the phone and phone C says yep see ya ok alright don't forget you can support the network engineering video blog by donation using a credit card and paypal or by purchasing products at the MUX all store details and links are in the description under this video well that's it for this video if you liked the video give it a big thumbs up that helps and hit the subscribe button that really helps if you have any questions or comments post them in the comments under this video thanks for watching and I'll see you next time [Music] [Applause] [Music] [Applause] [Music]
Info
Channel: Network Engineering Video Blog
Views: 6,990
Rating: 4.909091 out of 5
Keywords: Michael Crane, Muxall LLC, SIP REFER, Learning SIP, SIP tutorial, voip, call transfer, wireshark, sip phone
Id: dYDNT9dmaOg
Channel Id: undefined
Length: 20min 3sec (1203 seconds)
Published: Tue Apr 30 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.