SIP supports functionalities to establish and end multimedia sessions : location, availability, resource use, and negotiation features.
In order to implement these functionalities, there are different SIP components. There are two main elements, user agents (UA) and SIP servers
1. User Agent (UA): they have two different parts, User Agent Client (UAC) and User Agent Server (UAS). An UAC is a logical entity which sends SIP requests and receives answers to those requests. An UAS is a logical entity that sends answers to SIP requests.
Both entities are in every user agent, to allow the communication between different user agents in a client-server communication.
2. There are 3 different SIP Servers:
- Proxy Server: they resend requests and they decide the server they must send the messages to, altering the request fields if necessary. It is an intermediate entity that acts as a client and as a server in order to establish calls between users. This server has a similar functionality to an HTTP Proxy. It has the task of routing the requests that receive from other entities. There are two types of Proxy Server: Stateful Proxy and Stateless Proxy
- Stateful Proxy: they keep the state of the transaction during the request processing. It allows the division of a request message in several ones (forking), with the purpose to find in parallel the location of the called in order to obtain the best path.
- Stateless Proxy: they do not keep the state of the transaction during the requests processing, They only resend messages.
- Registrar Server: is a server which accepts register requests of the users and keep the information from these requests. It provides a location and address translation service in its domain
- Redirect Server: is a server which generates redirection answers to the received requests. This server routes again the requests to the next server.
These categories are just conceptual, they can be all placed in the same machine. They can be also in different machines for scalability or processing matters.