Figure 2.19 INVITE message flow
2.2.2.6.4 Record routing
All requests sent within a dialogue are, by default, sent directly from one user agent to the other.
Only requests outside a dialogue traverse SIP proxies.This approach makes a SIP network more scalable because only a small number of SIP messages hit the proxies.
There are certain situations in which a SIP Proxy needs to stay on the path of all further messages. For instance, proxies controlling a NAT box, or proxies doing accounting need to stay on the path of BYE requests.
The mechanism by which a proxy can inform user agents that it wishes to stay on the path of all further messages is called record routing. Such a proxy would insert a Record-Route header field into SIP messages which contain address of the proxy. Messages sent within a dialogue will then traverse all SIP proxies that put a Record-Route header field into the message.
The recipient of the request receives a set of Record-Route header fields in the message. It must mirror all the Record-Route header fields into responses because the originator of the request also needs to know the set of proxies.
P.45
[IP Telephony Cookbook] / Technological Background
Without record routing
With record routing
UA1
SIP Proxy
UA2
UA1
SIP Proxy
UA2
BYE
BYE
200 OK
BYE
200 OK