4. - SIP Servers
SIP Servers
- Registration
- Re-Registration
- SIP Proxy Servers
- SIP Server - Proxy mode
- SIP Server -Re-Direct mode
- Proxy Server 'State' types
- Location Services
SIP Registration server
A SIP registration server is responsible for authenticating and registering SIP users or endpoints with a SIP server. It acts as a central database for storing user information, including their SIP addresses, phone numbers, IP addresses, and other relevant information. When a SIP user wants to make a call, they first register with the SIP registration server, which sends a notification to the SIP server that the user is available. The SIP server then routes the call to the appropriate user based on their SIP address. The SIP registration server is crucial for enabling SIP-based communications, as it allows SIP users to locate and communicate with one another over the internet.

When SIP UA Registers with a registrar it tells the registrar about its feature capabilities. This is really useful information for SIP devices to make contact with the UA.
SIP RE-Registration Server
A SIP re-registration server is a server that allows SIP devices to re-register their contact information periodically. SIP devices usually send registration requests to a SIP registration server to inform it of their current IP address and availability to receive calls. However, if the IP address of the SIP device changes or it becomes unavailable for some reason, the registration information needs to be updated. A re-registration server helps to automate this process by periodically sending a SIP re-registration request to the SIP devices. If the device responds with a new contact address, the registration server updates its records accordingly. This ensures that the SIP devices can always be reached by other users and devices in the network, even if their IP address changes or they go offline temporarily.

SIP Proxy Server
A SIP proxy server is an intermediary device that sits between SIP user agents (UAs) to facilitate communication between them. It receives SIP requests from one UA, inspects them, and forwards them to the appropriate destination UA. It can modify the request headers or body as necessary and may also provide services like call routing, load balancing, and security. A proxy server can be located within a private network or in the public domain.
- A proxy server forward request to the next server after working out which is the next server to talk to.
- It interpret a request message and if necessary rewrite the message before forwarding it.
- It can issue both request and responses so it is in effect a SIP client and a Server
- A proxy server can fork the incoming request to multiple locations if someone has multiple registrations i.e Office and Mobile phones

Types of Proxy Server
-
Stateful proxy server: A stateful proxy server maintains the transaction state and message history for all transactions that pass through it. This allows it to make more informed routing decisions, but also requires more processing power and memory.
-
Stateless proxy server: A stateless proxy server does not maintain any transaction state or message history. It simply forwards messages based on routing rules. This makes it faster and less resource-intensive, but also less flexible.
- Transaction Stateful: They store information about the SIP messages exchanged between the clients and servers and maintain the session state until the transaction is complete.
-
B2BUA (Back-to-Back User Agent): A B2BUA is a type of SIP proxy server that acts as both a client and a server, allowing it to manipulate the SIP messages as they pass through it. This makes it useful for applications such as call forwarding, where the B2BUA can modify the destination of the call based on user preferences or availability.


