inline
>-----Original Message-----
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Iñaki Baz 
>Castillo
>Sent: Friday, August 15, 2008 7:07 PM
>To: [email protected]
>Subject: [Sip-implementors] Is "Contact" header required in 101-199 responses?
>
>Hi, as Bob Penfield pointed in a previous mail, RFC3261 doesn't
>clarify if a 1XX response (that creates an early-dialog) MUST or not
>contain a "Contact" header (that would be need, for example, to send a
>BYE to terminate the early dialog instead of using a CANCEL).
>
>
>Section 12.1 says:
>------------------------------------
>   Within this specification, only 2xx and 101-199 responses with a To tag,
>   where the request was INVITE, will establish a dialog.
>------------------------------------
>
>So it's clear that 12.1 put together "dialog" and "early-dialog" and
>calls them just "dialog".
>
>
>Sections 12.1.1 says:
>------------------------------------
>   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 UAS MUST add a Contact header field to
>   the response.
>------------------------------------
>
>Now in 12.1.1 it says that the UAS MUST add a Contact header if the
>response establishes a dialog.
>What is now a "dialog"? a real "dialog" (2XX) or both a real dialog
>and an "early-dialog" (1XX)?
>
>* Question: If it means both then any 1XX (non 100) MUST contain a
>Contact header, is it?

Yes, that is my interpretation. Note that a "MUST" in the text of RFC 3261 
takes precedence over the content of Table 2.

If any in-dialog request needs to be sent prior to receipt of the final 
response, then the Remote Target (from the Contact) and Route Set (from the 
Record-Route) must be set up based on the 1xx response. This is needed 
especially if reliable provisional responses are being used. The PRACK needs 
the remote target and route set. Some User Agents like to send DTMF in INFO 
requests, and like to do it before the session is established.

>
>
>But is also says that UAS MUST copy RR headers into the response, and
>this only makes sense in a 200 response, so:

See above. All User Agent implementations should include Record-Route and 
Contact in 1xx response just like they would be included in a 2xx response. I 
don't see any reason not to, and not including them breaks things.

Note that the Record-Route headers and Contact header in a 2xx final response 
will replace the route set and remote target of the dialog from the 1xx 
response. But they usually will be the same.

>
>* Question: does 12.1.1 speak about a real "dialog" (2XX) or both a
>real dialog and an "early-dialog" (1XX)?
>

When the term "dialog" is used without the early or confirmed qualifier, it 
means either an early dialog or a confirmed dialog. 1xx (except 100) and 2xx 
responses establish a "dialog". A 1xx establishes an "early dialog". A 2xx 
establishes a "confirmed dialog", or turns an "early dialog" into a "confirmed 
dialog" if one already exists.

>
>Best regards and thanks a lot.
>
>
>--
>Iñaki Baz Castillo
><[EMAIL PROTECTED]>
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

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

Reply via email to