On Friday 16 May 2014 20:15:11 Daniel-Constantin
Mierla wrote:
Thanks for this information, clear with
comparison. However, more
specific to what I am looking for:
If I add in INVITE:
Record-Route: <sip:1.2.3.4;abc=XYZ>
Is allowed to the other party to set next header in BYE?
Route: <sip:1.2.3.4;abc=xyz>
RFC 3261 says the Record-Route must be _copied_
into the response and the
route set must be _set_ to the Record-route value. Nowhere it says a UA is to
parse or manipulate the uri's beforehand. So, IMHO, an element inserting a
Record-Route header must receive the corresponding Route header in the exact
same way it was sent.
12.1.1 UAS behavior
When a UAS responds to a request with a response that establishes a
dialog (such as a 2xx to INVITE), the UAS MUST copy all Record-Route
header field values from the request into the response (including the
URIs, URI parameters, and any Record-Route header field parameters,
whether they are known or unknown to the UAS) and MUST maintain the
order of those values.
...
The route set MUST be set to the list of URIs in the Record-Route
header field from the request, taken in order and preserving all URI
parameters.
12.1.2 UAC Behavior
The route set MUST be set to the list of URIs in the Record-Route
header field from the response, taken in reverse order and preserving
all URI parameters.
12.2.1.1 Generating the Request
If the route set is not empty, and the first URI in the route set
contains the lr parameter (see Section 19.1.1), the UAC MUST place
the remote target URI into the Request-URI and MUST include a Route
header field containing the route set values in order, including all
parameters.
Thanks for right pointers, it is a lot better, because many headers can
carry base64 values which are messed up if someone changes lower to
upper case or the other way.
Besides Route/Record-Route, have you spotted if it is the same for
Contact URI (which becomes R-URI for within dialog) and Via header
parameters?
Cheers,
Daniel
--
Daniel-Constantin Mierla -