This is a simplified description of the stateful operation. You will find a complete and more detailed description in the RFC3261 text. There is a close resemblance between the openser.cfg
sections and the figure above. However some processes are manual, such as to check the Max-forwards header, while others are encapsulated in a single command. To illustrate, when you call t_relay()
all the forward request processing as described is done automatically.
When operating in stateful mode, a proxy is simply a SIP transaction processor and all these processing steps are required:
A stateful proxy creates a new server transaction for each new request received. Any retransmissions of the request will then be handled by that server transaction.
Example: For each request traversing our SIP proxy we will:
Step 1: Request validation
Check the message...