 Let's look at the network elements or those functional entities which realize the operation of session initiation protocol. We'd look at the network elements as such. Then we'd look at the clients and server context, specifically the SIP servers which offer certain services and we'd look at some scenarios. So there are two types of network elements. These network elements are the user elements or the server elements. The servers are many. We'll discuss them one by one. For now, let's look at what are user agents. So user agent is actually a software. It's an API that actually works on behalf of the user. If it is actually working as a client on behalf of user, it is known as user agent client. Client means it is going to initiate the requests and those requests would be subsequently sent to the appropriate server and then forwarded on to the called party. Then we have the user agent server. User agent server is again a user agent, but here it is working more like in a server mode. So it receives those requests which have been sent by the client. It processes them and returns these responses to the SIP requests. Let's look at the servers now. To begin with, there is a server which is a redirect server. If you recall, redirection is a requirement that comes from the fact that we are dealing with engines where mobility is a very expected thing. So a redirect server is actually a service that generates 300 series responses. Three xx means 300 series responses to redirect the request for a particular client. So it means that the user agent client is informed that the request that you made or the location that you had made a request for is no more available. So you need to change the route. It indicates to try a different route to a SIP recipient. So it actually not only informs, but it also provides helpful information by pushing the routing information to particular client. So this is something which is quite interesting because this keeps a SIP very agile, very flexible and scalable because the users are not limited to assume only particular and permanent IDs, but they can have changing, evolving IDs, changing IP addresses because essentially when the redirect server is there as an entity, it is going to propagate the information of URIs from the core of the network to the edges. It means that the users once moving, they would update the location information on one side of the network and this information is sent to the core and then core eventually forwards this information to the exesite once more. So this is the beauty that SIP capitalizes on and NGN adopts SIP for these amazing features. Then the next important server is the proxy server. A proxy server is again most commonly found. You can think about proxy server like the one that we use for proxying our network once we have limited IP addresses, once we have private IP addresses on the inside of a network and we have limited public IP addresses. So we use a proxy service to use those private IP addresses along with a public IP address. So it is not very much different from there. So what it does is it provides proxying services to the clients. So it works both as a user agent client and a user agent server. It works as a user agent server. Once it provides the client with the IP address that it has for a particular destination. So it means in this case it is going to act like a user agent server. But if it does not have the IP address that a particular user is looking for, so it means it will work on the behalf of a user and it will contact another proxy server probably in a higher organizational domain. You can think about a proxy server placed in a department, then there's another proxy server in a university, then there's another proxy server probably at the internet service provider. So the series of proxy servers is actually meant to manage the scope. So once a particular proxy server does not have an IP address, so it sends the request to a proxy server that further forwards it to another proxy server or to the recipient itself. So actually this process grows outwardly in a way that whosoever has the IP address is able to provide the IP address for a particular domain or a for a particular email address to the client so that the connection can be established. So proxy server is quite interesting that it works like on behalf of the client. So while doing so proxy server can also be used to implement a certain policy by the administration. For instance, if there is a user, if it is authenticated then what services it is authorized for. So a user is authorized through the proxy server. Then the next server that we have is the registrar server. If you recall, we typically have registrars in universities registrar is actually the department or the entity that manages the registration related information of the participants. So it means here we have the user equipments. So the registrar server actually registers the locations of users each user is identified through user equipment ID, its own email address or a domain name or URI. So its IP address actually needs to be registered with the registrar server. So the IP addresses are associated with one or more URIs which are stored in a database. So the user sends a specific register request because if a user wants to register itself in its own IP address with the SIP infrastructure, it has to contact the registrar server through the register message so that the information can be stored and retrieved later. Then we have the location server. The location server offers the location service. Now this is a little different from a registrar server because a registrar registers it. But once it registers a certain user with its own location, then it actually has to require some kind of communication mechanism. This is exactly where this location service comes into play. So it is also like a database that stores information about users location. So this user location actually is coming from the registrar server again. So it means that this location server stores the binding information between users location and its own ID. And this information is provided to the location server by the registrar server of course. Because the registrar server is placed usually is co-located with the proxy server and the location server is normally hosted in the same premises or on the same server. Now let's look at some interesting scenarios. These scenarios are based on typical interaction between different network elements and functional entities in the SIP protocol operation. So this particular scenario is once we have the user agent as the source on the left hand side, then we have the destination user agent. The primary goal is to connect these two. Now the situation or the scenario is that we have two users which belong to two different domains. So you see here that we have on the left hand side, we have a source user agent with its own DNS server. Now the call would be initiated through its own infrastructure. In this case, we see that the interaction between user agent and proxy servers is taking place through SIP. Then these two servers are again communicating through SIP. Then SIP is again at play here on the destination user agent as well. On the destination, we see that we also have location server and a registrar server which is simply shown to elaborate the operation of location service and the registrar as well. Essentially, we see that this mechanism provides interaction between two SIP clients which are in two different administrative domains. This scenario is based on the fact that both users are located in the same administrative domain and there is only one proxy server. So it means that the source user agent or the calling party is now going to talk to the same proxy server and the proxy server will take request on behalf of the user agent client and it will forward the request to the user agent server that is the destination user agent. So you see that this interaction results into more like a triangle. This triangle is is implemented because we have the same proxy server working between the two user agents. This is quite interesting and straightforward mechanism. It is known as peer-to-peer telephony. Since we just have two clients, it is more like a unicast mechanism in which we have bi-directional link established between two user agents. So it is also known as a peer-to-peer telephony. We don't need the complete network paraphernalia to implement a telephony between two user agents. Then finally we have an example scenario for voice over IP between the user agent on the calling side and the user agent on the call side. So starting from the left hand side, we have the call setup phase. We have the routing phase, which is path establishment. Then we have the Android delivery. Then we have the call termination phase. In the call setup, we have invite message followed by the appropriate replies. Then we have the 200 OK confirmation. Then we have the final acknowledgement. After this data delivery or the call establishment is taking place for multimedia content delivery. Then finally we have a graceful closure of service using the bye message.