I generally agree with what others have said.
Logically there are only a couple of meaningful alternatives:
- the *first* 1xx response with a given to-tag extablishes an
early dialog, and so it MUST contain a Contact
- the first 1xx response with a given to-tag *and* a Contact
establishes an early dialog. Any 1xx responses with to-tag
that *don't* have a contact are not dialog-establishing.
- the first 1xx response with a given to-tag establishes an
early dialog even if it doesn't contain a Contact. In that
case, the dialog is "established, but incomplete".
Of the above, the last is useless and so should not be discarded.
Either of the others is workable. In practice, an implementor should no
doubt support the second of those on receipt. So the only real question
is whether it is legal to send a first 1xx response with to-tag that
doesn't contain a contact. I don't have a strong opinion on that.
Thanks,
Paul
Iñaki Baz Castillo wrote:
> 2008/8/16 Bob Penfield <[EMAIL PROTECTED]>:
>> 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.
>
> Again good point.
>
>
>>> 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.
>
> Understood.
>
>
>>> * 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.
>
> Ok clear now.
>
> Thanks a lot to all.
>
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors