The SIP Network Architecture
SIP defines two basic classes of network entities—clients and servers. Strictly speaking, a client, also known as a user agent client, is an application program that sends SIP requests.A server is an entity that responds to those requests. Thus, SIP is a client-server protocol. VoIP calls using SIP are originated by a client and terminated at a server.A client may be found within a user’s device, which could be, for example, a SIP phone. Clients may also be found within the same platform as a server. For example, SIP enables the use of proxies, which act as both clients and servers. Four different types of servers are available—proxy servers, redirect servers, user agent servers, and registrars.A proxy server acts similarly to a proxy server used for Web access from a corporate local area network (LAN). Clients send requests to the proxy, which either handles those requests itself or forwards them on to other servers, perhaps after performing some translation. To those other servers, it appears as though the message is coming from the proxy rather than some entity hidden behind it. Given that a proxy both receives requests and sends requests, it incorporates both server and client functionality. Figure 8-7 shows an example of the operation of a proxy server. It does not take much imagination to realize how this type of functionality can be used for call forwarding/follow-me services. A redirect server is a server that accepts SIP requests, maps the destination address to zero or more new addresses, and returns the translated address to the originator of the request. Thereafter, the originator of the request may send requests to the address(es) returned by the redirect server. A redirect server does not initiate any SIP requests of its own. Figure 8-8 shows an example of the operation of a redirect server. This can be another means of providing the call forwarding/follow-me service that can be provided by a proxy server. This difference is that, in the case of a redirect sever, the originating client does the actual forwarding of the call. The redirect server simply provides the information necessary to enable the originating client to do so, after which the redirect server is no longer involved.
A user-agent server accepts SIP requests and contacts the user. A response from the user to the user-agent server results in a SIP response on behalf of the user. In reality, a SIP device, such as a SIP-enabled phone, will function as both a user-agent client and a user-agent server. Acting as a user-agent client, it is able to initiate SIP requests. Acting as a user-agent server, it can receive and respond to SIP requests. In practical terms, this means that it is able to initiate calls and receive calls. This enables SIP, a client-server protocol, to be used for peer-to-peer communication. A registrar is a server that accepts SIP REGISTER requests. SIP includes the concept of user registration, whereby a user signals to the network that it is available at a particular address. Such registration is performed by the issuance of a REGISTER request from the user to the registrar. Typically, a registrar will be combined with a proxy or redirect server. Registration in SIP serves a similar purpose to location updating in a GSM network; it is a means by which a user can signal to the network that he or she is available at a particular location. Given that practical implementations involve the combination of a useragent client and a user-agent server and the combining of registrars with either proxy servers or redirection servers, a real network may well involve only user agents and the redirection or proxy servers.
340 times read
|