On Wed, 2012-07-25 at 10:43 -0500, fuliang yuan wrote:
> I assume that it is legit for Proxy or UAS to add R-R of other nodes
in
> Response based on your comments.

I am not sure exactly what you mean.  The proper pattern of Record-Route
header usage is:

1. The UAC generates the request without any Record-Route headers.

2. As the request passes through proxies, the proxies add Record-Route
headers if they desire to do so.

3. The UAS receives the request and saves a copy of the Record-Route
headers.  It copies the Record-Route headers into any responses it
generates.

4. The responses pass through the proxies back to the UAC.  The
Record-Route headers in the response are usually not modified, and in
particular, no proxy adds a Record-Route to a *response* (although the
response may be carrying a Record-Route header that is a copy of one
that the proxy added to the *request*).

5. The UAC receives the response and saves a copy of the Record-Route
headers.

There are some complications:

Because the actual UAs may contain "internal" proxies, the UAC may send
a request that already contains Record-Route headers.  Similarly, the
UAS may add Record-Route headers to a request that it receives before
carrying out step (3).

Similarly, a proxy may add two or more (necessarily consecutive)
Record-Route headers to a request during a single pass of the request
through the proxy.  In principle, this is modeling the proxy as a series
of proxies.

In some circumstances, a proxy may need to change the value of a
Record-Route header in a response, when the Record-Route header is a
copy of one that the proxy added to the request.  This is called
"Record-Route rewriting" and is discussed in RFC 3261 section 16.12.1.3.

Since a request may pass through the same proxy more than once during
its journey to the UAS, one proxy may add several (not necessarily
consecutive) Record-Route headers to a request.

To summarize:

The UAS adds Record-Routes to the response, but those headers are always
a copy of the Record-Routes received in the request.

A proxy never adds Record-Routes to a response, although the response
may contain a copy of a Record-Route that the proxy added to the
request.

Dale


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to