 So, so far what we had done was a lot of circuit switching and then of course, a lot of basics about the packet switching systems. So, basically the way I told was either you can use a cross bar and then you can build up a packet switch doing packet by packet scheduling or you can build up a distributed system which is basically based on the self routing matrix which is a BANIA network technically and you can use this control routing that actually means whatever tag which you are going to insert in front of the packet will be dependent on the output port address and it will be same on all input ports. But if you are not using a BANIA delta network you are using some other configuration then also on those BANIA networks also it is feasible, but for the same output the tag value will keep on changing depending on the input that will be the only condition. But it is technically feasible to make the things. Now, I am coming back to the telephone ultimately why we were actually doing all this switching. So, switches are technically built for two kind of systems one is to create circuits or paths and then do the media transport over it. So, this is what was conventionally done in telephone so you actually create a path from source to destination and then the people talk. Second is if I am going to build a packet switch I frame packets data packet most likely that is the most common use you will put a header and from any source to destination you can do end to end payload transport. But there is actually something more which also goes once you build up a circuit switching system a packet switching system. You can build actually in layered architecture a complete communication infrastructure that is what the internet actually does. So, packet switch is a very simple thing in that. So, because that background is required and if you have not done earlier course on distal communication network this will suddenly will become something different. So, basically what I am trying is I am trying to start with IP telephone technically so you need to understand how the internet actually operates or TCP IP network how does it operate. So, of course the thing is pretty simple you are going to have an abstraction of end to end I am just doing a quick revision and you will be transporting packets from source to destination reverse also you will be doing if it is a bidirectional line. This can also be a broadcast scenario 1 percent transmits a payload it is being received by everybody and people can filter only thing is that these frames can be transported between two end points over a link and these can be corrupted by noise sometimes and if it is a wireless kind of channel where everybody is using same channel there can be chances of collision. So, we usually use an abstraction of medium access control if it is a broadcast network then on top of it we take care of what we call the losses which happens because of the simultaneous transmissions they somehow are coordinated or you can build up lot of other kind of access mechanisms we now do technically all broadcast all MAC protocols provide you nothing but an abstraction of end to end point to point link between any two end points. So, broadcast network technically creates a fully connected mesh now over this link so this actually takes care of this abstraction takes care of even broadcast situation or a wireless medium or a Ethernet whatever it is now you provide something called reliability using what we call window flow controls. So, which actually means if I put in the you put lot of packets in the queue they will be delivered in same order so is 1, 2 and 3 they will be delivered 1, 2 and 3 in the same sequence and there is going to be a parallel path in the reverse direction. In a broadcast network also this is the what is being shown as an abstraction to the over data link layer but honestly speaking only one of these can transmit at any point of time when you look at the broadcast medium and this actually means the bandwidth of multiple links in a broadcast scenario will be multiple virtual links. So, you will be actually seeing for example, if there are 5 nodes the abstraction which you will get is this fully connected mesh I think this is the one it is connected to everybody. So, this is the abstraction which you will actually create but they technically are nothing but they are all connected to a broadcast medium but data link layer will see this it will not see the broadcast scenario. So, that is the basically functionality of the medium access control. So, Ethernet protocol takes care of this if it is a wireless you can have all kind of variety of protocols say we have YMAX we have Wi-Fi all kind of things they technically create this kind of scenario. If it is a YMAX you do not create this you create a star everybody gets connected to a base station. So, you create this topology and this controls this is YMAX GSM all this will be this kind of structure. So, ultimately you will have end to end connectivity only problem with this when you have this kind of scenario being abstracted into this form is the bandwidth which is available on all the links total sum of it is actually constant. So, if this one is using the bandwidth the bandwidth available for other links will become less because total transmission bandwidth is common and shared by everybody is a shared channel system same is true here in GSM is like when already 20 calls are being made you cannot have more calls because may be all channels are busy at that point of time. So, more the channels are available more bandwidth you can get actually. So, it is again a shared resource and that is what also reduces the cost of the shared resource. So, once we have this abstraction I get end to end reliable transport of packets in a packet switching system. Next abstraction we always says we can actually create out of this point to point links an abstraction of a network any kind of topology can be created depending on how the people are reachable to each other. So, somebody wants to talk from here to here he will actually put do nothing, but will actually will form a packet and packet will contain a header, header will contain the destination address and this packet will simply be pumped at every node that header will be analyzed and packet will be forwarded and ultimately it will reach to the destination there is no circuit being created here. Circuit switching you are going to create the path first and then you keep on transporting your payload or data whatever it is there are other ways of also doing the things, but I am not worried about them actually as of now. Now, important thing is I want to do the voice transport I have this packet switching system being created we already know we can do this using your delta network kind of thing and the header will be analyzed. So, usually before you have a delta network when the packet comes in there will be a interface electronics which will actually understand the complete header it will also have the routing table based on it will decide on which outgoing port it has to go it will insert the tag packet will be rooted there tag will be removed because tag has already been used for its functionality of routing within the matrix and then it will be going moving over to the next hop. So, it will move from here to here here to here and so on. So, important thing I need not do any signaling with the network I have to just put the appropriate kind of header now I have to set up the calls earlier days when it was a circuit switching system same thing if this would have been exchange I would have talked to this guy said I want to dial to this number it would have reserved the resource this must have talked to this person reserved the resource the path once it is once it is through till this particular point it would have send a ringing current here ringing tone coming back and when this guy lifts the handset ringing current and tone both are stopped final path is set up and they will start talking at that point of time billing will start billing is depending on the duration now all that is gone there is no this guy is not talking just forming the packets and pumping it in, but the question is when you are going to hold a phone you are connected here and this is a wire this is a computer this is fine, but with phones this cannot be done I can connect a phone here tomorrow I would like to connect a phone here I might would like to have multiple phones connected at multiple places and still I would like to make the call so how this will be done actually in IP network important thing is that the destination IP address and a port number are good enough to connect to a server. So, more details actually will come now I will let me give an example of how this kind of thing happens in a IP call actually how you can set it up say I will talk about later on the actual this standard, but first of all the call set up proceed. So, really one of the important thing is as all of you must be knowing if you actually have a computer and if you have a program running there which can capture your voice and which can play back the sound coming from the other end you have started a program on a computer. So, it is connected to a microphone it is connected to also a speaker. So, whatever you are going to speak will be captured can be packetized and can be sent to somebody and whatever is coming from somebody can be played back. So, people thought of lot of things and they said if somehow I know the other persons machines this address this address will be an IP address that is what is used in internet for addressing and if I can run a small program here which is running on a certain port and then this is also connected to a microphone this is also connected to a speaker this is also connected on a certain port. So, in fact if this person is initiating the connection this port is a material. If this person is starting the connection it will set up a TCP or UDP connections UDP is a packet by packet system you send a UDP frame you build in you send it even if it is lost is fine we need not retransmit it TCP you make a connection you keep on sending TCP frames if they are lost automatic retransmission will be happening after timeout. TCP also does something nice that if the bandwidth available becomes very small it will start transmitting at a smaller rate there is a built in congestion control which is not there in UDP. So, UDP is a data gram based system TCP is kind of a virtual circuit end to end built on top of a packet switching system both of them. So, only this port number if it is known this guy can set up a UDP connection all the way to this person. So, it will get a UDP packets. So, I can put my all sound here packetize it transmit over the network these are all IP routers or switches whatever it is whatever is the shortest path it will take that shortest path and will reach here or whatever be the other policies it may be doing routing on the all other kind of methods this end users have not bothered about that they just create a UDP connection all the way from here to here audio is captured packetize and sent all the way this is the received and this guy can listen whatever this person is telling and similarly this program can also run in a different way. There are two channels you create in TCP same way you can create two UDP also this can also keep on sending UDP to these and this can keep on sending UDP to this guy usually we will use UDP for most of the multimedia information which will be transmitted reason for that is if I am speaking and you are packetizing my voice sampling in forming packets sending it if some few packets are lost and if you have not done complete compression of the audio the other guy will still be able to make out see if I am speaking whole sentence something is not recorded in between still you will be able to make out the sentence we have lot of redundancy built inside the human construction of sentences what electronic compression systems actually do is they do not use that linguistic redundancy they are not using that they are only for example taking silence detection when I am silent that time they are not recording or they are kind of building a prediction so that I require less number of bits only differential changes are being sent. But even if in a sentence you can if you know the previous sentence you know the few words in current sentence you can build on the base of context what I must have is spoken in the current sentence. In fact amazingly human mind is so we actually do not listen to each and every word very carefully in the sentence. In fact when you are reading a book you also do not read each and every word actually if you are careful enough we actually jump over the sentences sometimes we speak skip the words and we make from these what we call very fast scan of the words we just join them and build up the meaning out of it. So sometimes you might have seen that you have missed a not written in text and you actually build up a meaning which was totally opposite then what was intended in the text. So I think this is also one of the difference when you read especially the research papers this is something which you have to unlearned. So reading a novel and reading a research paper is different because of this when you read a research paper you have to read word by word because it is go through so much of iteration and so much of so much of compression that you cannot make out what is written in the research paper by doing this jumping through the words kind of method. But in a novel this works perfectly well and amazingly if you read the novel second time you will find out lot of things you missed out because you are jumping earlier. So now you will read a different sequence of words. So human actually humans are much more intelligent in that sense. So machines do not do this thing. So that actually means if I built up a TCP connection my some voice is lost I do a timeout retransmit there is already so much of delay which will happen in that process and by the time my other later on sentences already reached you have already figured out the meaning what is the use of retransmitting something which was lost. So anything which is delayed in real time multimedia is always useless. So by in principle most of the transmissions are done over UDP. We do not do retransmissions for any audio or video stuff and mostly we are talking about audio video but there will be lot of other media streams which can also exist for communication. This is a very simple system there is no switching is still happening amazingly. Switching is happening because I am now forming packets and packets are being switched by the network. So this is switching is still happening my voice is still being transported but I think we will not be happy with this kind of system. I have to always either make a separate mobile call and find out what is your port number on which we can talk and then set up the same thing in my software you will set up in your software or we have to at least know each other's IP address and these IP addresses are not fixed for the users. When you are connecting at your home using an ADSL every time you will get a different IP address and this IP address has to be uniquely routable in the internet. If it is a private IP based system then it cannot be. Most of the time in your houses you will actually have a telephone line coming a ADSL modem this will be acting like a what we call network address translation router netting router. Actually I am assuming lot of understanding in terms of networking but if you do not understand a term ask me I will explain that because I think all of you have not done the earlier course and I have also not explained everything in the earlier course. So usually this address which is assigned to the machine here behind the netting router is a private IP block address which is assigned by this machine. So when the packets are moving out the source IP address is not this one but this interface address and it maintains a table that this was received from this one and outgoing port number also will get modified. So usually this will maintain a netting table. So this there is a private IP and private port number here and for the outgoing side there is a one public IP which or may be few set of public IPs depending on how the netting is configured. So usually at in households this will be only one single IP which will be used. In institutions sometimes we use more than one. So because now here the range of IP addresses which can be put in the table is much larger. So I can use less number of ports. I will use less number of IP addresses which are available on this. These are unique IP address across the globe. At any point of time only one machine can use that IP address. So for example 202 141 40.215 which we are using for our Brahaspati server is a unique IP address. Nobody else in the world is going to have this IP address. So that is the way they have been arranged in the internet. So we will keep on using those IP addresses here but they are less in number may be only one but I may and would like to do a TCP connection for a telnet. I would like to do a voice over IP call. I would like to do a browsing. So many ports will be open say five ports. There can be another machine here sitting in your house and there also somebody is doing voice over IP and whatever it is. They might be actually doing the same IP address, same port number also may be used with different IP address. Say for example this might be using 172.26.82.1. This might be using 172.82.26.82.2. So if this here the browser might be using same say 16,536 number port. This is also 16,536 port. So when this guy is going to send the same packet out it will use same IP address. So but these two connections have to be identified. So port numbers which will be used will be different actually for the outgoing side. This will be source IP address and source port number will be modified when the packet is going out. So Google or whoever server whichever server you are going to use will be not seeing your IP address. This private IP block they will not see. They will see the IP address which is here because if they start seeing this IP address in the reverse they cannot send the packet because those packets will be dropped. So thumb rule is if in internet any router if it sees a packet containing in the destination address a private IP block an IP address from that range it will simply drop the packet. It will not root it. So reverse when the packets will come. They will come for this IP address. So again the same table can be looked in. Destination IP address and port number can be updated or modified and then packets will be rooting appropriately to different machines. So you can run multiple machines behind a netting router because of this. In IPv6 even actually this is not required. Each one of them can have globally routable IPv6 addresses possible. So their address space is huge. So it is only problem in v4. v6 you actually get slash 64 address for everybody which is a huge number. So first 64 bit out of 128 are going to be used for network address and you can have 2 raise power 64 host sitting in your subnet in your house. So your phone, your TV, your remote whatever you have your watch everything can have an IPv6 address and all of them can be routed through one single router. So that is kind of capability which has been built. So now there is a publicly routable address publicly routable address somehow it has been managed. Call setup is still an issue I have to do that. So what could be the idea? You have to tell me what will be the logical approach for you? Telephones are numbers are always unique. Your mobile number remains the same wherever you go. Is that number is your identity? So one thing which is sure is I certainly cannot put this IP address as an identity of the person that is not possible because if I am connected over a Wi-Fi I might latch on to another Wi-Fi. If I am actually using GPRS or some other thing or a 3G connectivity or YMAX I might be moving in a train and may be attaching to something else I might get a different IP address allocated. So there is a mobility thing aspect you may actually go from this room to another room and connect a phone there. So this will not work but you can always check your emails wherever you move how that happens. Your email has what kind of address it is always some user at the rate some domain name. So maybe I can use something very similar. That is space means. Yes so that actually means we require some server and I have to tell I am so and so person and I am here as of now. So when this you are touching your phone here I need some kind of a server running which should be known to this person. Everybody knows where is Google so you can always check your email. If you run your mail client you are always writing on that in the Thunderbird you will be writing your for example imap.googlemail.com or imap.gmail.com those that kind of thing you must be writing that is imap server and that is uniquely resolved to an IP address. So in fact there is another thing something called domain name system. So but in internet as far as actual communication happens this happens on the base of IP addresses either 128 bit IPv6 address or 32 bit IPv4 address. But humans cannot remember those numbers so we usually go for domain names. So every machine is going to have a name and is registered under a certain domain. So the mastered or root domain is root which is known as dot. Under that then there are many domains which have been created. So India is using dot in domain. So last dot if you write it is fine if you do not write then also it is fine. So it is under root. Within that then we have edu.in we have ernet.in we have ac.in so in fact ac.in is what IITK is using. Our servers for braspathian braspathian are using ernet.in. Then within that we have IIT Kanpur IITK then I can use machine names. So when I use www.itk.ac.in this is actually the machine name. So when I resolve this query so you can actually go into a Linux box and you can use either nslookup which is old utility or use digdig and give this name you will get in corresponding what is IP address allocated or you can also go to www.traceroot.org give this name and the machine server there will identify what is the corresponding IP address. IP address will always be 32 bit. This names can be very long. So we have been using for example braspian.ee.itk.ernet.in. So this is when you are within IIT Kanpur when you are outside IIT Kanpur I have been using IITK.ernet.in. In fact there should be a final dot is directly an entry under the root and worldwide there are certain number of root servers which are running which runs all the time is run by various governments and they always synchronize those are dot servers root servers and root server entries are always there in your slash ETC directory you can actually get the file in your Linux box where you will see the listing of all these root servers. So it actually comes in the configuration of the name D. Name D is the utility which is used for this purpose DNS. So you can run even your own DNS. AC is the domain name under India this is also ER net is also registered as a domain name. So all the machines which are part of ER net are going to so whatever the IP address allocation for ER net has been given is given there. So ER net runs their own DNS server. So how it happens I want to search for this particular IP address for this machine. So I know this is the machine for which I am looking. So I will go for a entry for I would like to find out if I know the DNS of IITK.ernet.in. If I do not know what I will do I will I have my own local name server everybody will be having a local name server which everybody configures. So all of you also have configured 172.31.1.1 in IIT Kanpur and 1.130 there are two name servers which everybody configures. So your machine actually talks to that machine can you give me IP address of this particular name. It will say what is my domain name I am this particular servers are responsible for IITK.ac.in domain. So when you ask for this you can actually access this from your machine. So it will find out that IITK.ernet.in I am not for that. So I have to search for a ER net.in entry. So that server 1.130 will talk to ER net.in corresponding DNS for that. So it can one of the ways is it can directly go to the root find out what is a .in server. .in is common so it will go to .in server find out what is the corresponding DNS for ER net .in. Talk to him find out what is the going to be IITK.ernet.in DNS server. This is also running in IIT Kanpur. So we have done a short circuiting. So you already told that IITK.ac.in server for IITK.ernet.in this is the server. So it actually makes sense the request there which then in turn tells what is IP address for this Brie SVN. This we do not manage this is managed by ER net.in. So when we wanted to put our 202.141.40.215 entry there we have told them requested them and they have put the entry. For this one for electrical engineering all machines names this is the V actually maintained. But we have informed that IITK.ac.in domain server that for any name which contains EE you have to contact me. So it keeps on fetching entries from my side. If you do not know anything just simply connect to a root server and root server will tell this domain then from there you will get this domain this domain and this domain so on. And you can ultimately get the IP address of the machine. Now this is a very important concept and that is what we are going to use. So these are all hierarchical but they are all distributed systems are distributed database technically. You can do dig. Dig is a command which can actually even tell you the complete chain of events. There are two ways you can directly connect to the root or you can ask your name server in that that name server will contact his further parent domain and he can contact his further parent domain till they get the address. Addresses are fetched back and then you can get that is one way of doing it. Secondly you ask this guy this guy say I do not know but my parent is this you talk to him I can talk to the parent. So I can keep on talking till I get the IP address. Every time we make a separate query till it gets resolved. See sometimes when you do ping or tell net it will not work because your machine is fired a DNS query and it is timed out result has not happened but that DNS meanwhile actually is already fired up another query. So next time when you will do the same ping you will immediately get an IP address because each one of them also maintain a local cache. So some DNS query is not being used for a long time it is automatically flushed out from the cache otherwise it is kept in cache. For your domain you are responsible how you manage it is your domain administrator will take care of this. So for all IIT can put machines IITK dot in is computer centered takes care of that responsibility. Within electrical engineering all machines I take care of that responsibility or my lab people will take care of that responsibility. So if you want to actually have your own name so you have a machine in for example say 305 you are working on that you say I am fed up whenever I do tell net I have to remember my IP address can I use something called my name itself instead of that thing. So you can always say I would like to put my machine's name as Rameshwar. So I will take your IP address and your name and I will put in my DNS entry of EED DNS I will make an entry there I will create an entry because I am the admin for that and that it will percolate all the way to the IITK domain also. So anybody can connect to you but unfortunately we are using private IP block this entry is never propagated outside IITK. But within IITK we are percolating all the entries we are taking entries from outside world if you are not using proxy. So remember if you are using netting router we have to use 172 dot 31 dot 1 dot 130 which is netting which is a DNS which is running outside when you are inside you are not using that one actually and you cannot get IP address of gmail.com unless you put that as a DNS because that is an outside IITK. So that is how the netting will work because you require an IP address of gmail in that case. So now what we have to do is we have to put a server here indexing server we call it that is a term which is used usually there will not be one but there will be multiple of them. I am first of all talking about a principle of how this can be done. Now these both guys knows about this indexing server what this guy will do it is a directory the way we have a DNS it is a directory system you want to make a phone call you can always keep a phone number what is the corresponding IP address phone number corresponding IP address and port number materialist. So when I want to make to a certain call to somebody I will just make a query here I want to talk to this particular phone number what is his current IP address and port number on which he is listening. Once I get that number here I can just make a TCP connection or UDP connection to that guy and start talking yeah that is the next question which I am coming to I am building upon this. So indexing server kind of resolve this particular issue of mobility. So if I am moving my IP address whenever my IP address changes I can have some mechanism to talk to this guy talk to this server and update my entry. And this entry has to be updated say every 30 minutes if it is not updated I will remove the entry probably you are not alive your battery is down or you are disconnected you have to periodically keep on updating our mobile phones actually do that every 6 hours they re-register periodically if your mobile phone does not get an opportunity to actually turn off the registration you just take the battery out. So your what we call indexing server which is maintained in GSM will maintain the mobile phones entry still because mobile phone is purely passive it is not communicating back periodically it is only communicating every 6 hours or whenever the local area identifier LAI changes is a mobility handling technically. So location area is their multiple BTS they will have one particular ID. So they have one common location area identifier so far I am within those BTS is range I need not transmit back if that LAI changes then I figure out my LAI is changes locally location area identifier has changed I will again send a request and update my new location area to the server indexing server of GSM as a different name is actually given to that we do not call it indexing server there. So this is I think known as home location register HLR is a home location register there. So remember the same functionality and different people will use different different terms Skype uses all together different term Google uses a different term SIP is going to use a different term for this they call it register in SIP Skype I think calls it as a there is a different term master is a master it is not a proxy actually they use some other term for different if I actually there are lot of systems which have been built around this mechanism. So this guy will essentially talk to him keep on updating that is very important. So all numbers will keep on updating and why to use the numbers numbers in numeric coding is a legacy of telephone why we have telephone numbers because that time it was required there was no other way at port or a device could have been identified. So just to be backward compatible I am talking about numbers here but I need not have numbers if I can use email ID is for talking now that is pretty common we all do messaging over emails that same email ID or Google ID lot of you have been using over Google messaging system. So why to even making a phone call do I require that I know on a Skype I do not use phone numbers I still use that Skype ID or Google chat voice video chat I use a Google ID you do not require numbers I can directly use names I only require an identification who is this guy and unique ID and why your ID cannot be used by somebody else on gmail because there is a domain which is identified gmail.com within that if I use vihan Singh 69 that vihan Singh 69 will not be given to anybody else that is taken care of when somebody you try to choose a new name at that point of time you cannot even create in that thing as an alias servers has to ensure that. So here if I am going to put numbers you can arbitrarily choose a number and register here how that will be stopped mobile phones use a very different technique actually for avoiding this but still this can be done using sim cloning it is possible to actually have same number running simultaneously on two different sims handsets but only problem is when both of them will try to register only the entry corresponding to the latest one will be there when other guy will try to register it will override the earlier entry. So when the sim is cloned and somebody is trying to make a call you might end up in calling the wrong guy who has got the cloned sim but both of them will never get the phone call simultaneously unless there is only one situation what is that situation they both are in same location area which is going to be a rare thing to happen actually. So again number itself is not good enough I need to even identify this server and we need not have only one server across the world we need to require multiple of them. So we have to come with the concept of domain name your emails are always as for example my email is this I can use this domain as the domain of the server. So this is a service provider which is going to be there almost a Skype is only one single service provider all across the world. So we do not have a domain name is not listed there gmail also similar domain name is not listed but think of a situation when you using your gmail id or google chat and you will be able to connect to a Skype chat Skype client for somebody then how will call the guy who is on the Skype you simply cannot use his Skype id you have to say whatever is the id at the rate skype.com domain has to be specified. In fact internet relay chat system IRC chat system this is what actually is being used. So there is generic chat clients which are available which can most of the chat protocols are in open. So we have to specify even domain name. So this is what is going to be your URI and depending on what kind of signaling you are using you have to specify that. So SIP thing when SIP is going to be used it will be SIP colon as this this will be the domain kind of thing. But anyway that is a different thing now coming to the basic concept not to the tail of SIP can anybody connect keep on updating this entry no I think they should never be permitted. If I am the guy who actually is going to have a certain number or certain name is only I who should be able to update this entry. And for the timing all of you have been assuming that only one device should be able to make the update in this entry. And this entry simply says for this particular user this is the corresponding IP address. This is slightly old thought in telephony because that is the way telephones actually have grown. But think of a situation my home phone my mobile phone maybe two or three mobile phones my PC my office phone all of them are registered all of them actually will do keep on updating this entry. So this guy can have for this user entry number one entry number two entry number three entry number four I can have multiple entries. And all these devices will keep on updating and it is possible that when somebody wants to make a call he will come to this person will get the indexing entry and he will get so many IP addresses. And then he can try one by one all of them he can try all of them simultaneously one of them is picks up it dissolves everything else and makes up the communication. So all your phones will ring simultaneously or there can be priority. But who is now setting up the priorities this client now this actually design somehow I am not very happy I should be very simple I should talk to only one person. So can there be an abstraction of representation of this user which can have multiple instances running and only one single abstraction which is available to somebody who wants to make up a call. So this actually can be done and that is what exactly SIP design actually has done. This is mimicking nothing but register I can build something like a proxy. So this actually does happen in Skype if you carefully observe. If you actually have you ever run SIP Skype client or Google clients multiple of them simultaneously and then try to send up a call to this guy who is logged in at multiple places. We actually the line actually rings at all the places simultaneously. Well that is a by default design they do not have a configuration thing to set up the priorities or ring for five rings and then actually move to next one. There is no ringing current and tones usually speaking in this scenario. I do not need to keep on transmitting my ringing current being packetized and transported as a voice packets all the way to other end. So they all generate their local stuff and they are locally shut it down only for the voice thing they transport the packets. So now one thing which is very clear is that these clients will register with the registrar and usually this client will also register with the same registrar. So far what we were doing is each guy was searching only for the entry finding out the other thing then directly talking with him setting up the call and once the call has been set up they were talking but there are lot of problems in this. Somebody can easily change the personality I can always spoof as somebody else very easily in this kind of scenario security is not there. So how to maintain the security is an issue. I should never ever tell this guy unless I authenticate him or anybody who wants to actually make a phone call to me. I should not permit anybody else to get the IP address. Somebody from the public should not be able to get my IP address and connect to him because he can tell whatever he wants. I will never be able to identify him there is no caller ID and calls need to be identified from where they are coming. So the only way I can solve this problem is if I restrict only calling between all the guys who have registered only on this system then only it is possible. You can actually you can tell this all this configuration to the register. Register can maintain at least before a call comes in you can always verify about this person from here. What is his identity? No SIP does not work this way SIP is different. See I am evolving still I am I have started with a fundamental problem I am evolving a system. Yeah that is the question so SIP server I call it now the telecom operators is essentially have to run this server currently they run HLR and you only buy the SIM and you authenticate with them. Same way you will buy an identity from them and you will be registering with your server or whoever is your service provider. But if there is going to be only one server and only one service provider within India I think that is not ok all across the globe. So Skype for example is one single service provider all across the globe. You do not figure out where his server is indexing server that is a different question it is maintaining a distributed server cluster of servers all across the world. You always authenticate how do you know that when you are clicking on viencing which is coming on Skype ID and I am actually viencing how you are so confident that the message which you are writing is going to the right person or it is going to Google chat when you do it is going to the right guy how do you know because IDs are unique and there is only one service provider unless service provider does a problem. Somebody there actually tempers with the security security is going to be maintained. So this is by restricting the domain but voice telephony cannot be implemented that way in IP. I need to handle have multiple operators should be possible. Why I have to always have one client of Skype and one client of Google chat or Google voice why that has to be done why I cannot have a single client and I am taking with Skype but I can still talk with somebody with Google chat and how this peering will be done the Google and Skype has to talk to each other and as of now they do not use SIP they are based on their proprietary signaling format. So they said there is a similar number why number what we are writing we have to use a similar number and multiple operators. No that is that is not possible that is unfortunate thing that is not possible because your IDs will be something like this. You are saying I am going to still maintain my own thing at itk.ac.in and this email ID I should be able to work even with Gmail. Now there is a there is a way to work out actually they will create another email ID and this will be aliased but earlier domain also it is going to be locked. So either that domain should also be owned by Gmail. So lot of academic institutes do create their mail accounts in that fashion. So they are actually mail accounts for the whole academic institute is running on Gmail only but their email IDs are for example it IIT Rajasthan that is the way it has been done it is IITJ.ac.in but it is running the whole mail system runs on Gmail because Gmail provides for free for academic institutes. And the way it actually works is very simple is that IITJ.ac.in there is a mail Mx record mail exchange record in the DNS server. So DNS server of IITJ.ac.in Mx entry is actually is pointing to a server which is there in at Gmail and Gmail maintains this whole thing user at the rate domain as the complete user ID. I think that is what they is actually being done but usually at the rate cannot be used in user ID so they must be replacing it dynamically there. So but Mx record entry has to be changed but Gmail can also do it for you for by creating its registering your own domain. They also are the domain registers. So now let us see where we have reached. So we have come to the concept of Freistar. We are trying to look at security but restricted only to one single domain. Now we actually have realized that we require multiple domains. Single domain will not work and we need to still have the security. So we have to build now from here onward to what we call the telephony system which will work over IP. So what I will do is because borderless systems are very similar. I will once in a while I will come to the Braspati sync design but that also conceptually works in a very similar way. But we do not use, we use an indexing server which is our Braspati 3 server only. So all your IDs that email ID and passwords are the same thing which are there indexed. So whenever I will announce a live session, those live sessions are gets indexed here. So those are also indexing server entries. Now those are a different kind of system. I am not talking about telephony, I am talking about a conferencing system. So now that was something which was very bad in the earlier design. Earlier telephony was very restrictive. So as far as the session management and creation and handling is concerned, we do not worry about whether it is IP telephony or whether it is a conferencing or it is a multi-party video game or it is some other kind of thing, does not matter. So far I can create a session of any number of users. So how to set it up, that is the question basically. And it is with proper authorization and proper authentication. So if you join a session and if you say I am so XYZ, you should be XYZ and you should be permitted to participate in that session. There are two things which are very important. So this is what basically has to be done by everybody. And since you are going to have multiple operators now connecting, they also have to peer with each other for and securely, not only not insecurely, they have to do it in a secure fashion. And how security will be identified? The key thing is security certificates. How I know that you are so and so, you can always show me your ID card which is signed by the director and I know I remember the director's signatures. So if they match, you must be so and so. You are talking about SSL certificates. Security certificates, right. Not SSL is secure socket layer which uses security certificate but security certificates are different. X dot 509 certificates we call them I think. So but these people can also do peering with each other. See because whenever I want to talk, I am in domain of IITK dot AC dot IN. So very soon we will be actually having similar structure in IITK also. So slowly we will do away with the phone numbers. We will come with a unified system where your email itself can be used for doing the even interaction over a phone call. So there will be phone handset which will be like computer. So another 2, 3 months down the line they will be already deployed. You are using single client? You can only connect with one operator with one ID. Not with multiple of them. You only connect with one operator. Other operator will not recognize you. Even at other times unless you register with them, you pay them or get your separate certificate. There is a procedure for that. The way you get your SIM cards which are there for authentication, similarly you will be issued security certificate by the agencies. Let me come to how the Skype actually works then you will understand. Skype use I think very similar thing. This is a guess I have not seen the Skype documentation or design. But we have been using similar concept for our peer to peer systems. So I will continue with the same thing tomorrow morning.