SIP has the following entities, each with different function.
1. SIP Terminal - This supports the real time, two-way communication with other SIP entities.
2. SIP User Agent - The user agents are the endpoints of the call. So there is the User Agent Client (UAC) initiating the call and sending SIP requests and then the User Agent Server (UAS) answering the call. It receives and responds to SIP requests and can accept, refuse or redirect the call. The User Agent software switches between the UAC and UAS modes on a message-by-message basis depending on what is going on. The User Agents can be handsets or desktop applications.
3. SIP Network Server - This network device handles the signaling associated with multiple calls and allows peer-to-peer calls to be made using client-server protocol. The main function is to provide name resolution and user location, and to pass on messages to other servers using next-hop routing protocols.
There is more than one type of server: the Proxy Server , Redirect Server , and the Registrar Server .
Proxy Servers are network hosts acting as both clients and servers to other entities. The job is to ensure requests are routed to appropriate entity identified by a SIP Uniform Resource Identifier (URI). The Proxy servers can operate in two different modes: The SIP stateful Proxy server and the SIP stateless Proxy server .
A stateful server remembers the incoming requests it receives and the responses it sends back and the outgoing requests it sends on. These stateful mode servers are the local devices close to user agents controlling domains of users.
A stateless server forgets all the information once it has sent a request. These stateless servers are the crucial part of SIP infrastructure.
Redirect Servers receive SIP requests and send response to zero or more addresses. The first location to answer takes the call. Redirect servers do not initiate SIP requests or accept SIP calls.
Registrar Servers accept registration requests. These servers maintain the databases that contain location information of all user agents registered with a particular SIP domain, thereby enabling the users to update their location and policy information.
4. Back-to-Back User Agents - A B2BUA is a combination of UAC and UAS and plays the role of making the response generated by the UAS part (to an incoming request), dependent on the response received by the associated UAC part (to a further request that UAC generates). Thus a B2BUA maintains information on the state of a dialog and participates in all requests sent on the dialogs it has established.