 So, today we will start with SIP. SIP stands for session initiation protocol. So, some of the smallest stuffs actually I had been telling about this protocol already. So, what has happened is as peer to peer computing actually has evolved over time and it become the basis for voice over IP telephony. So, people actually thought of building up a protocol stack. So, this was one of the them actually. Then there was another one remaining four actually I have told in my earlier lectures. So, those kind of they are paired together then they actually form a complete multimedia architecture functionality essentially. And in a very limited sense you can build up simple VoIP telephony system. In fact, the all existing telephony infrastructure can be implemented with this. So, in fact, there is already most of the telecom operator slowly will be moving in this direction. So, one of the first ones I think was British telecom which made a complete change to voice IP based telephony. They are no more using circuit switching in their network they are actually using completely VoIP systems. And even for telecom operator it does make a sense to actually build up this kind of thing. But as of now India I think it is not legally permitted to use IP based telephony unless until is PC to PC. PC to PST and thing is not permitted here. So, only exception is call centers where over IP network actually all the calls will come and will be received here and over ordinary telephone line usually people will be receiving. So, that is the only exception. As of now operators actually do I think that is my feeling I have not verified this fact. But it is possible that from your home the phone is there it goes all the way over same copper cable and in the exchange they just put a media gateway. And then they can within their network can route this as a voice over IP call goes to the other end point. And then again going as a ordinary copper cable actually. So, this is technically possible. So, you actually do not get a feel you still do all dial up everything all information signaling which happens in the conventional structure. But intermediate in the core it makes sense to convert it to voice over IP. Because your cost will be very very low you are only you going to use bandwidth then you are actually the person is going to talk. Otherwise there is no packet being generated there is a silence being detected here nobody is talking. So, do not generate any packet. Now that is a very specific feature in any recording system in any digital recording system this actually happens. So, when for example, I am not speaking here their system will figure out that I am not speaking there is a gap. So, even if there is some noise which is going perturbation whatever it is system should be able to identify through a threshold detection. Because when I am speaking actually signal level is greater than a certain threshold noise is below the threshold actually. So, when it is below the threshold do not do digitization you can actually do digitization you will get some number some PCM code for that. But that is immaterial you simply do not discard it actually. So, that will be done by all the systems. This actually means for telecom operator even in the core if they start using this infrastructure it makes sense because they will be able to now push through large number of calls. And of course, they need not maintain two separate overlay networks over same infrastructure currently they have to maintain a SDH voice actually is being transported through that thing without any compression because it is like a 64 kbps channel which is fixed for every voice. So, he is going to consume 64 kbps per voice channel plus overheads and everything. And then he has to actually overlay a data network because most of these guys are also providing IP connectivity. If they go for this kind of infrastructure there is no 64 kbps limit there is a silence detection and for tremendous amount of compression which can happen and no separate data and voice network is required. Only thing is that for voice thing you require quality of service support. So, that can be handled using MPLS in this case. So, that will be one way, but in fact user will never figure it out this within an operator. And when an operator is going to talk to another operator for example, if I make this as a cloud of an operator it need to talk to another operator because the destination phone is here. This pairing is not IP based. This pairing is like conventional PRI lines kind of thing 30 channel circuits. So, this typically happens in various different cities between the switches this is done, but this is an option, but I am not sure in India this is being used as of now or not. This is a mostly it will be a circuit switch link it will be mostly PRI lines primary rate interface ISDN is a 2 mbps circuit over which 30 voice circuits can be set up at any point of time. It is a even PRI even PRI ISDN PRI. So, in fact that even is of 2 kinds even R 2 MFC and even PRI, but even R 2 MFC is no more even use is mostly PRI lines which are used. Only difference is the signaling channels how the signaling is actually happening for various voice circuits that is only major difference. So, I think R 2 MFC are no more in use nobody uses them I have not because we discard them almost 7 or 8 years back at IITK. Now, coming to SIP. So, how will SIP actually will work? So, far I have given the name now let me give the number of the RFC. So, RFC number will be in this case which define this RFC 3261 which defines the core of this. This RFC is available at and currently it actually absolutes an earlier RFC which was 2543. This was the older one this has been scrapped now all systems actually follow this SIP and it is not explicitly mentioned, but nowhere in the text in RFC we call it SIP version 2. Except when you will look at the headers fields which are being transported between two end points that is where SIP slash 2.0 will actually come. The way STTP we have STTP slash 1.0 STTP slash 1.1 same way we will have a specification here, but the this standard itself does not tell that it is SIP version 2 this was SIP version 1. So, currently we always look for most of the equipments are built with this. So, there has been some changes in between. So, I am not going to cover this particular part. So, we will be working only with this one now the entities which are defined first thing are the two basic entities. So, one is known as UAC UAS this is typically known as user agent client and this is known as user agent server and it is important both of them are actually user agent. Now, the way why this definition actually has come is there is one peer there is another peer. If this person sends a request it is acting it is a client it is a user agent only it is a your soft phone and, but it is acting as a client because it is sending the request and this guy is now going to respond. So, this is known as user agent server, but both of them are user agents. So, it will respond back to the client similar who is initiating it depends on that, but both of them are user agents. So, one is known as caller other one is calling. So, this guy is making the starting the call this is receiving the call this responds it can be other way around this can work as a user agent client and this can become a user agent server. So, usually as far as a software design is concerned there will be two separate portions one which depends on the which takes care of the requests and whenever a request comes what is the corresponding response which has to be generated is handled by user agent server. So, when this guy is initiating there is separate software component which will be participating, but each client will contain both user agent client as well as user agent server both will be present. Now, there are many other things these are the two entities most of the SIP phones will actually will provide this or if you get a phone on your machine. So, one of the very popular SIP phone is software is Akiga. So, this is available for your windows. So, you can download and install it you even can actually make a phone call through this this is technically possible and this is a pure SIP client similarly this also comes for windows Linux and windows both those of you who actually have Android phones and would like to communicate over a Wi-Fi. So, there is also SIP clients which are available even for Android phones, but they use either Wi-Fi or a 3G data connectivity. They do not talk to your GSM and other kind of things which are built inside the phone. There are many SIP clients. So, what I have been using is SIP client actually that is a lightweight one, but there are many heavy high end ones also are which are some of them are paid versions also I am using a free one and it can connect to multiple proxies that is advantage it can register with multiple of them. So, actually my SIP client Android also connects to my Akiga account. So, I have an account here. So, you can give me a call even on that. So, my phone number there will be actually Vyansing dash 9 that is my then my phone number 9452048451 at the rate Akiga.net. So, that is my SIP URI, but it was not a phone through Akiga dial tone the tone will be same of course, if you call it. Nobody has so far called me I have got this account for more than 6 months. I have not received any call on this account. I am still waiting for the first one. So, user clients now you will have more elements. So, one of them is known as proxy. Typically, this is also known as SIP server. This is technically nothing, but it is not an indexing server remember. So, in earlier case I have not talked about proxies were not there. So, equivalent of proxy was a reflector node or a super pier. Super pier in your Skype or in case of Brahaspati sink it is a reflector that was equivalent to proxy, but we call them SIP proxies that is the third entity which will be your client is one. So, one will be server one will be always a client then SIP proxy this usually is a intermediary program. You want to make a call to somebody you cannot make a direct connection. So, you tell somebody who is on your behalf will try to set up the connection will find out talk will register will find out with somebody will set up a connection on your behalf and he will inform you back to whom you have to connect on which port and what all parameters which are accepted and based on that you will make the call. So, he does everything on your behalf. So, this will typically will be requirement because of multiple domains because I might actually get a my own SIP proxy. My own SIP proxy will only permit the phones will only knows the numbers which are existing within IIT Kanpur. So, whenever you are trying to talk you always request that proxy to set up the connection proxy will also be having a indexing server we call them register actually in this case equivalent of that. So, whenever my device is active connected to Ethernet port powered on it will register with the register and of course MAC address binding will be done usually. So, it knows that this IP address corresponds to this particular phone number, but this MAC address also corresponds to this phone number. So, usually what happens is somebody else can spoof your IP, but cannot spoof your MAC address. So, in between somebody cannot take it unless you log in even from that MAC address. So, it is always that thing is also additionally done as a security thing this has evolved over time and from IIT Kanpur if you want to make a call to somebody outside there are two ways one is there is a media gateway and I have even PRA line that is a connecting to PSTN network. So, I can route the call through that through even PRI or one way is suppose if BSNL is going to run its own SIP proxy. So, we will have an agreement we will know each other and we will authenticate each other well that is a way because even now when my I connect my even PRI wire comes from BSNL then we technically authenticate using those physical port. Somebody takes that physical port out connects to his own machine in between he can start making call like IIT Kanpur actually does not matter. So, there is technically no security even PRI except it is a physical port connectivity. Here there is no physical port I am connecting over internet line. So, two SIP servers will be talking to each other. So, whenever you want to talk to somebody who is on BSNL line and I have only done tie up with BSNL now you want to make a international call how this will be done. So, most likely I will tell my SIP server that I want to make a call my SIP server should talk to BSNL SIP server is like an exchange and he will then talk to somebody else and ultimately the other guy will inform his SIP phone at the destination and once he accepts all the message will come all the way back to me and once we both are I will know who are who is my destination what is the IP address. He will know what is my IP address and port number and then we will make a peer to peer connection and call is set up and we are keep on going to work with that, but there are complications in this for example, I cannot do a midway negotiation is not through SIP proxy it can be done directly also, but sometimes it is not required it is not to be done because there can be a problem for example, you have done this kind of thing you are making a call to a friend in between the third phone call actually comes in and you want to add him to the call. Now, adding third party to a call is a complicated process is known as mid call feature this cannot be implemented if a peer to peer relationship is done. So, signaling usually is always has to be through always proxies it will never be direct even if the direct connection is set up, but that is an optional thing I will tell how this option gets implemented in SIP. So, SIP proxy will do that is intermediate it will basically a client will be there connect to the SIP proxy for signaling purpose not for transport it will then make a request response comes it tells the response. So, this will be proxy the way we have STTP proxy similarly, we will have TCP proxy and our STTP proxy also checks the login and password otherwise it does not permit same way it will also check the validity of all users here and we will have something called redirect servers is another entity forwarding agents technically. So, you can register yourself on to the redirect server and based on that all calls will be actually terminating for you will come to redirect server most likely it will be your proxy. So, for within a domain I can actually have a SIP proxy for the domain I can have a redirect server. So, SIP proxy can give it to and this will maintain where the currently the person is moving you can be mobile he is moving somewhere else. So, I can give a redirection URL. So, you have changed the organization gone from IIT Kanpur to IIT Bombay, but you want still to remain the actually maintain this number. So, every time the call will come will come at whatever is your address at the rate IITK dot AC dot N. So, once the phone call comes here redirect server will find out where the call have to be forwarded where the signaling has to be forwarded. So, remember call is still not voice call is not going to come to Kanpur. It is only peer to peer directly between end users. This request now can be sent to multiple places simultaneously through redirect server that is the beauty of it and then whichever places you will actually give a reply it will come back. So, this is done through mapping remember it is not the same address one address is being mapped to another address through a mapping table that is only what has been done. The way the mail is forwarded for example, you can forward your mail coming to IITK dot AC dot N to gmail dot com. It is a technically doing that particular work only for signaling is a special kind of proxy technically. These are all logical entities which I am telling as of now. You can put them in a sing same box running as a separate process it is fine. Physical is only a box executing a program operating system can run multiple instances separate instances of separate programs, but physically it is a same box. Roaming is slightly different implementation. Roaming what happens is your name your destination address does not change your phone number remains the same. Redirect is you have got some number you go to some other place you got another number I am redirecting the call to that it can be even conditional redirection. So, you are trying to dial you your number you are not picking up after some time the call will be forwarded to another number is a call forwarding actually equivalent to that in signaling, but they call it redirect server in SIP terminology. SIP proxy sir it is known as registrar No registrar is a separate logical entity and this is not indexing server SIP proxy is not an indexing. SIP proxy is not the indexing server, but who will maintain the directory sir who will tell the user that this user is connected over there because the directory functionality is being done by. There is no directory you have to get then somebody has to tell who I have to tell you what is my phone number then only you can call me. Directory you have to buy from BSNL BSNL is maintaining a mobile directory or I have to give you a number or you have to have my email or my website from where you will get the number. Unless I give you my number you cannot call me and there is no directory server in PSTN. You cannot say give me the phone number of biasing it is maintained over a separate website separate booklet. So, for example, I dial that SIP numbers. See otherwise what will happen you can start calling you anybody who does not want to receive your call. But if I dial a SIP number sir. So, where does this request go to sir because I will not request usually I am coming to that particular sequence of events. I am going to come to that for trapezoid of communication. The next one is your register the final entity. So, here the movement you will have an ID this is known as your SIP URI that is what it is actually known as. So, which will identify you into. So, for me it is YNS dash 9452048451 at the rate a giga dot net. So, that is my phone number. So, there is no numeric thing that is a important thing there is a alpha numeric stuff which comes into picture now. But I would have kept 9452048451 at the rate a giga dot net also would have been fine, but putting YNS makes sense. So, mobile phone also now you dial you do not dial by putting numbers you always dial you store them and dial with the name and androids of course, this become extremely powerful because they are synchronizing directory from the lot of servers which are available over the internet linked in Facebook and everything. So, you actually dial names email IDs technically and there is a display name correspondingly you dial that or you search with an organization. So, my organization name is also there. So, Google does provide that service. So, in the phone itself I can find out I can push the number it will knows all the numbers from that Facebook all other linked in this stuff. So, far there is a common email ID across all the accounts all of them are joined together that is a functionality of Android. In fact, I think almost now Blackberry Z 10 as well as this one your Apple they are also providing very similar services otherwise they would not sell in the market honestly speaking. This extremely because you can throw your phone buy a new phone the whole directory still can be restored back which is not possible in the conventional mobile phones. So, ultimately they will move to ship telephony they also do not have much option and with Weimex now coming up or 4G. So, Weimex telephony is going to come by the other Ammani brother who is not in telephony currently. So, he will be providing this I think same ship telephony systems over Weimex. So, by the time he is also hoping it will become legal I think this year and it should be there. It has already been announced technically, but they have to only change the regulation. So, there is mostly all these will be nothing, but the separate software processes running in the same machine mostly when you will buy a server just run them. What this register will contain is only have the access to database where when you will attach your phone or whenever you change your IP address you will re-register with them. It maintains your ship URI and what is the corresponding attachment point as of now the attachment point is technically IP address MAC address port number and there will be a signaling thing and there will be signaling port and there will be then data transfer port. So, voice for the media for example which can be dynamically changed for security purpose. This is not a new technique this has been used in FTP protocol. FTP is not that you just tell your machine the on the other side and the machine sends you the file on the same port no this does not happen this way. You tell make an FTP request over a signaling ports which are identified FTP is actually happens on I think 21 FTP is 21 or 22 one of them is SSH 23 SSH I think. So, FTP port when you connect that signaling you tell that I want this file to be transferred to me put or whatever it is. So, the other machine actually tells on which port or from which port you should transmit on which port I am going to set up a connection. So, that side server actually sets up a connection in the reverse direction. So, TCP connection is not set by client for data transfer it is set by the then by the server. Servers actually sends the connection back on that port where you are supposed to receive it and then the transaction of the actual data file actually happens. So, again this was all done for security reasons. This was the kind of a hack which was figured out and implemented in FTP protocol and this was the earliest one earliest design of this kind. So, register will maintain this redirect server also will get most of the information from here technically it will be nothing but proxy, but it will have an access to all this data alternate paths. So, this register is currently where you are connected or what all active machines are there. Here you will be telling where the call has to be forwarded in what case in what scenarios. So, this will be a separate database attached to this. This will only maintain what we call the current active signaling paths only information about those. So, typically now what happens the whole structure is very similar to HTTP hypertext transport protocol. So, whatever you response you will send the first line will contain the message which you are sending in the signaling mechanism. So, for example, in HTTP you always do get post. So, usually you will always say get and then the URI and then you will have HTTP 1.0 or 1.1 whatever it is you want. So, that is the kind of thing. So, same thing will be used here. In the response you will always say 200 which means or something like this numeric coding actually is used for giving the responses. Whatever other fields will come has to be but this actually tells the machine that what is the state next state of the FSM which is used for implementing the protocol. FSM is final state machine. So, going from one state to another and so on. So, there is a list again which is being provided for various capabilities of these logical entities. So, whether now I can actually put them as four stuff actually here. You will have a redirect server is one entity. You will have a proxy. You will have a user agent server and you will have a registrar. So, whether this can act as a SIP client. So, what about redirect server? It cannot act as a SIP client. It is only passing the signaling information. It cannot act as a SIP client. So, it is no four actually in this case. So, it is actually sending back the reply back. It is not forwarding the request like a SIP client. So, your request actually goes to him. It sends you back that go. Now, you should send the information here. I cannot send the information. I cannot forward on your graph, but I am giving you alternate address. So, this cannot proxy server. Yes, it can. User agent server is the last endpoint actually. It is a user agent and this is server part where they call signaling back terminates. So, this cannot act as a SIP client. This will be acting as only as a SIP server last server. So, this is also no. The registrar is no. Only SIP proxy can do this job because this is doing signaling on the behalf of a client. So, that is a first capability. Then, 1 x x, this usually is a status code. So, 1 0 0 1 1 0 1 whatever number, but the number will start with 1. So, this status code is returned actually. This status code redirect server actually can return. This usually is that you kindly I am still trying to keep on waiting. It is not final response. It is an intermediary response. So, the transaction is still not complete. It is basically for that purpose. Redirect server may say kindly wait. I am still trying. I am still trying to search my database and will give you a redirection URL. Proxy server, yes. This each one of them can tell this thing. Status 2, we will come to these numbers actually what for this purpose actually these are used as we go along. They have used exactly whatever the STTP responses are actually used for. These codes are exactly same used in many other protocols. Then, 200 series which is successful completion kind of thing, 200 is ok for example. 100 is for trying. I am still trying for making the connection. 2 x x status is, so this how these things get differentiated. So, this will not send. So, 2 x is because signaling will not be terminating. So, 2 x x cannot be sent by redirection server. Other guys can send because they can terminate the connection. You are registering your thing in register. It is sending ok. I have registered. Everything clear transaction is over. So, ok it can send. So, 200 can be sent by them, but not this guy. Transaction will not be complete. It is giving a redirection and because transaction complete has not come. This guy has to keep on working based on the response. Similarly, you will have 3 x x. All 4 can do this. 4 x x, 5 and 6. They are only up till 6 actually. I will explain all these later on. Not now. As we keep on using, I will for example, 100 is for trying because that will come when I will start explaining how the call is set up. 200 is when the call actually gets that transaction gets completed. It is ok. So, there is what happens whenever I will write 100. In bracket, I will write trying. So, protocol machine does not understand this system. It only understands this, but the meaning will be this actually. That is the way it will be written in the description. 200 similarly will be written for ok. So, 4 x x is also yes. 5 x x is also yes actually for all of them. 6 x x is not used here. These are the only exceptions. Rest everything is yes. Now, there is something called via header field. In the header which is sent, there is something called via. Via always tells that when the response is going to be sent back, do not send it directly. It has to be sent via me. See for example, he is asking me, you set me a call for me. I sent the message, signaling message to you, but I set the via field that via it is me. So, you know that who is the guy who is for whom actually the call is being set up. You will not send the response back to him. You will send to me. You can send to at another person, but you do not add a via field. So, that person when he will actually respond back, he will see the first via which is for me. He will send the signaling to me. I will send it back. So, anybody who remains in the path, signaling path, once everything has been set up, they have to keep on adding this via header field. Now, which all servers actually can do this? So, next one is whether via header field can be added or not. Obviously, redirect server cannot add the via header field because it is not supposed to be the intermediary for signaling. Proxy server yes. This is not an intermediary. That is also not an intermediary. So, they cannot add via header field. So, this is no for everybody except the proxy. Acknowledgement, who will actually send the acknowledgement except, exceptance actually. This is accepts acknowledgement. Who will accept the acknowledgement? So, it is yes for everybody except the last one. And register typically uses a soft state based system. So, you have to periodically keep on updating. If it times out, the entry will be removed, your registration entry. Because sometimes you have registered your number with the certain IP address and binding to the register and suddenly your power goes off. You never had a chance to remove the entry from the register. So, it is a soft state. It is not a hard state. It will time out and it will expire. You have to periodically keep on refreshing that entry. The same thing is done with even GSM for example. Every 6 hours usually a registration has to be sent back and tell that you are in the particular area. And suddenly you take the battery out. He will still keep on trying in that area. Your registration will not be off and then he will figure out that you are off. But if you properly shut down your mobile phone, it will be deregistered from there and then it will not be sending any information back. It will be telling from there itself the phone is switched off. So, now let us go to how the procedure. So, you will have now these things which will be done by SIP user location. This I have also already mentioned actually I think verbally, but not have I have not written it actually. User availability, you have user capabilities actually. I am just making them more explicit, but most of it is already understood. Session setup, this basically it means ringing and setting of session parameters. That is what the session setup actually means. And then there is a session management. Here you include transfer and termination of the session, modifying the session parameter and invoking services. There are three things which will come here. So, that is what the SIP will do. So, usually you will actually have a trapezoid, we call it trapezoid actually. I am just taking the same example given in the RFC. So, like in most of the examples Alice and Bob are again present here. Going to use the same name is there in the RFC as it is. So, does it come from Alice in Wonderland I think most likely. So, Alice would like to call Bob, that is the problem here and this has to be solved. So, Bob will be identified by a URI which will be something like this. So, since it is being done in the US or they have chosen those names, I am sticking to them. I hope this is these are all fictitious names, they do not exist. Actual operators are not there with this name. So, RFC is there very particular about it, no branding. So, this will be the URI and this is for the gentleman named Bob. So, Alice somehow will get to know of this thing. The way I have told you that my URI for making a phone call is SIP colon y n s dash my phone number at the rate a giga dot net. So, C might have also figured it out from somewhere. Once this is there, she has to make a call. The URI for this Alice is, so that is a URI that is a domain and that is a name. Within a domain same name can be given to cannot be given to two different people. Naming has to be unique within a domain, but same name can be used across two different domains, but those will be counted as two separate persons. So, this is like your, you have name what they are actually lot of students with the same name. So, usually in your register, do as a register, it is always son of or daughter of father's name is also attached that is counted as a domain name. Unfortunately, father's name is also, they can also get duplicated. So, we do not have a concept of domain name, but here this has been taken care of two domains cannot exist, cannot have same names. So, when a new domain name actually is being requested, it is always such if it is already existing, it is never given actually. So, that has for example, you cannot have IITK dot AC dot IN being given as a domain to somebody else. It is only for IITK. You can change something else or you can become a sub domain within IITK. For example, E dot IITK dot AC dot IN is fine or you have to change IITK either you have to change or AC you have to change or IN you have to change. So, domains are always unique. So, that is the way the naming will be there. Now, how the message, what is the fundamental thing which will be done? So, most fundamental thing is the invite that is the most basic thing. So, when the message or a phone call has to be made. So, it is like when you dial a number, a message has to go that I want to set up a call, call is set up. So, when this is a SIP phone, we call it a soft phone if it is on a PC or it can be hardware box containing all the SIP software setting inside it and a invite has to be sent to Bob, so that call can be made. But she does not know, she cannot find out where the Bob is or Bob may not accept it actually even if you directly because there is no way you can authenticate that is a problem. So, she does not know where the Bob is, she does not know where the proxy server for the Bob, a proxy has to be connected because the IP address of these guys will keep on changing dynamically. You switch off your machine next day, tomorrow you come up it takes another new IP address from DSCP, it might be different entry every day and may be different port every time which is available on which your server can be activated. So, she has to find out a way, so only way is she has to look at SIP server within her own domain, the way I told that within IIT Kanpur domain, you will have our own SIP server running may be after 2 months and then all the phones will have to be configured with that SIP server. So, may be when the phone was provided to Alice, her phone was configured to use SIP server which corresponds to Atlanta dot com or when the machine boots up in the morning, there is a DSCP dynamic host configuration protocol. It keeps on looking for the DSCP broadcast, once it finds out a DSCP server, it says request and then get all the information. So, it may get which is a current time which is the domain name, but domain name usually will be configured because identity is there is a key which is involved in every SIP registration because it has to connect to even to register, but remember register is logically different than a proxy, only for connecting to register and telling what is your IP address you require a authentication, but not for connecting to proxy, but usually proxy will authenticate you by challenge response and you will also are supposed to know which is the correct proxy. So, you are going to basically have faith on your DSCP that it will give you correct proxy, the way it gives you correct routers here. So, now there is another variant of this which exist not only SIP you can also have SIP S, I can add an S here. So, this is very similar to you have STTP and STTP S and what is the difference between the two? It is a secure option. So, similarly for SIP also there is secure option, it works exactly same way the way the STTP S works, method is exactly same. So, Alice will find out this server and she will send a invite request and this is written in capital to her own proxy which is configured here. This invite message will tell that what a server is supposed to do. When you say get some URI you are telling the STTP server this is what you are supposed to execute. So, you are telling the server what the method is supposed to do and response has to come back to me. So, invite is the method being told which has to be ultimately executed here. So, actually this currently it is being sent here. So, this will execute and get the response. It is a proxy it will understand and will again send invite to this that is a different matter it can do something else also. For example, if she has not paid her dues. So, the invite will not be accepted and it will be refused. So, call cannot be made through. So, you might have to pay a monthly rental for taking the service of a proxy server because there is cost involved cost has to be borne by the users. So, invite now usually will contain header fields invite message. So, typically how the invite will look like is this. So, I am just writing how it will look like in the text. It is a purely text message STTP is also pure text and remember the all header fields are named attributes. So, there will be a name and there is a there is a attribute name and the corresponding value of that attribute. So, for example, 2 will be the named attribute and whatever is there Bob at the rate Biloxi dot com will be the value of that attribute and colon will be the separator usually that is a standard. So, invite will the first line there is no named attribute that is important thing first line only tells what is the method which is being invoked and then after that you will have all the header fields. Then there is one blank line and then whatever is being sent header actually ends there with the blank line and then whatever is a payload part of that. So, payload for example, invite might contain SDP SDP will be in the payload part. So, invite and what is the argument of the invite is this you are trying to invite this Bob at the rate Biloxi dot com. Now, this is something which is this is 2.0 sip slash 2.0. If you have been using 1.0 you would write sip slash 1.0 depending on whether it is 1.0 2.0 server is supposed to interpret the fields accordingly the interpretation of fields actually changes across the versions. The version has to be there both versions 1 and version 2 actually provide for invite. So, type of header fields here or type of request is version 2 and then after that you will have the first field which is first letter is capital then a small via via is basically through a certain path or say I think a street in Italian via probably stands for that. So, you will say it is sip 2.0 compatible over UDP transport. So, this actually tells the response is supposed to come here back at this place. So, any signaling response to this should be sent here I can add more via fields also and they will be in order if a new via field it has to be here. So, it will keep on pushing down this thing. So, PC 33 is I am again taking the same thing, but that thing does not matter. Now, this is the domain name of the machine this is a name of the machine on which the soft phone is installed or this can be name of the phone itself phone is like a computer and of course, this line is still not finished remember. So, I am writing I should not put a backslash actually this should be long boards, but the remaining text I am just putting indent in remember this whole thing is one line in one line you will have a branch equal to some random string. So, random string also I am again copying from IETF draft, but this is actually random I can put anything arbitrarily which I wish does not, but no relevance to us as far as there is no meaning the meaning is session dependent. So, they have put some value. So, you put whatever it is at A B C 1 2 3 4 5 A B C again F G H whatever you want. So, semicolon is the separator within this. So, that too one is this V I is the attribute this tells the version of the SIP which has to be used the transport the machine to whom the response has to be sent and response has to come for a SIP 2.0 client it has to come via UDP that is what it has been explicitly told and this is a branch parameter. So, branch is going to be unique branch is a random parameter which will be used to identify the session uniqueness basically. There are many random fields. So, no two phone calls even if between the same persons Alice and Bob can set up another call and every call can be uniquely identified this can also be logged the PC 33 what PC 33 PC 33 some number given to that machine. For example, my machine in my office is actually having a name yamani.ie.iitg.ac.in that is the name of my daughter. So, I kept my machine's name on that. So, you have a machine in electrical engineering want to have a name for that we have to send a mail to me and I can put that mail and then your whatever is the name .ie.itg.ac.in will resolve to an IP address which will be for that machine. So, this similarity a name if you resolve in the DNS for Atlanta dot com domain given IP address where the soft phone is installed that is what it means. Names are easier to remember by human beings otherwise IP address could also have been put. So, what I will do is I will close here because recording is finishing and we will I will continue with this description tomorrow. So, this whole trapezoid we have to complete we have to have the more fields we have to study their interpretation in the reverse direction also then.