3.6 Extensions for Reliable and Consistent Message Routing Within Redundant Server Network

Messages between user agents in a SIP element network traverse a set of one or more servers or proxies that run and provide services such as network edge traversal, authentication, call data records, and message content archiving. It is often essential for the SIP protocol itself, as well as for the services provided by the SIP proxies, that the related messages, such as responses to the requests or all messages in the dialog, traverse the same set of proxies in a specific order. Furthermore, core functionality of the SIP proxy, such as routing, as well as potential services that it runs and provides depend on the capability to propagate contextual information between related messages. For example, the transport layer of the SIP proxy that adds the received parameter to the Via header field in the request depends on the availability of this parameter in the response to route the response.

[RFC3261] defines two basic mechanisms that ensure that the response follows the path of the request in reverse order, which are a mechanism to insert and process the Via header field, and that all requests in the dialog traverse the proxies that specifically chose to be on the dialog's path, which are a mechanism to insert Record-Route header fields, store them in the dialog route set, and populate request Route header fields from the dialog route set. This protocol compliments these basic mechanisms with the following additional specific functions:

  • Storing references to the information that spans the lifetime of multiple SIP transactions and dialogs, such as references to data associated with the identity represented by the user agent.

  • Storing information about specific services provided by the SIP proxies within the context of the dialog.

  • Storing the FQDN of a specific server in a set of multiple redundant SIP proxies sharing the same common FQDN that handles messages in the dialog.

  • Ensuring that the essential context information in the Via or Record-Route header fields that the proxy inserted into the message or information in the Via, Record-Route, and Contact header fields inserted by other SIP elements was preserved and populated correctly without modifications into related messages by the user agents.