David Roan wrote:
> Hi Paul,
>
> Thanks for the response.
>
> So, if the provisional responses are sent reliably, the provisional
> response would have an acking mechanism similar to the 2xx to ensure the
> dialog is established (ie, the chance of lost messaging is greatly
> diminished by the resending of Provisional Responses and the PRACK
> request), correct?
Right.
3261 is very carefully worded, because it only provides one way of
establishing a dialog, and doesn't include reliable provisionals, but
the specs for reliable provisionals were progressed in parallal so 3261
"left room" for them as well as for other ways of establishing a dialog
(like SUB/NOT).
> I checked RFC 3262 wrt this and found the following:
> If a provisional response is received for an initial request, and that
> response contains a Require header field containing the option tag
> 100rel, the response is to be sent reliably. If the response is a 100
> (Trying) (as opposed to 101 to 199), this option tag MUST be ignored,
> and the procedures below MUST NOT be used.
> The provisional response MUST establish a dialog if one is not yet created.
>
> This does not really indicate a dialog state, but this would still be an
> early dialog, right? Or, would it be confirmed since, like the 2xx,
> there is an ACK mechanism to ensure it is received?
It is still an early dialog, but its a way of *knowing* you have one.
Thanks,
Paul
> Thanks again for the insight and the pointer to the race condition draft,
> David Roan
>
> On Feb 5, 2008 6:07 PM, Paul Kyzivat <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
>
> David,
>
> I think everything you have said is right. These are some very fuzzy
> areas.
>
> Note that an *unreliable* provisional response can establish an early
> dialog. But because it is unreliable the UAS can't immediately know if
> the UAC is aware of the dialog.
>
> It is somewhere between very tricky and impossible to change the target
> during an early dialog. If you haven't found it yet, you should take a
> look at the race-examples draft
> (draft-ietf-sipping-race-examples-04.txt) for more discussion of this
> sort of subtle point.
>
> Thanks,
> Paul
>
> David Roan wrote:
> > Thanks to everyone who responded to my earlier query (Target Refresh
> > Request and Contact Header thread).
> >
> > I now have a similar query for establishing the Remote Target. Please
> > forgive the length in advance and feel free to insert
> corrections/input
> > as necessary.
> >
> > From section 12.1 of RFC 3261, the following is stated:
> > Within this specification, only 2xx and 101-199 responses with a
> To tag,
> > where the request was INVITE, will establish a dialog.
> >
> > This seems to indicate that either a 2xx or 101-199 response
> (with a To
> > tag) to the initial INVITE can establish a dialog (confirmed vs early
> > dialog respectively), correct?
> >
> > Then, from section 12.1.1 of RFC 3261, the following is added
> about the
> > response that establishes the dialog:
> > 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.
> >
> > This seems to indicate that the first 101-199 response sent from the
> > UAS/received at the UAC (with a To Tag) must contain a Contact header
> > (to set the Remote Target at the UAC), correct? So, if the Contact
> > header is not received in this response, this would be considered a
> > violation of the spec and an invalid response, correct? Also,
> according
> > to the following section (12.1.2), this also sets up the dialog state
> > (items like the route set, if not empty, and the Remote Target).
> >
> > Section 12.2 of RFC 3261 goes into additional details of when the
> Remote
> > Target can be changed (ie, Remote Target Refresh):
> > Requests within a dialog MAY contain Record-Route and Contact header
> > fields. However, these requests do not cause the dialog's route
> set to
> > be modified, although they may modify the remote target URI.
> > Specifically, requests that are not target refresh requests do not
> > modify the dialog's remote target URI, and requests that are target
> > refresh requests do. For dialogs that have been established with an
> > INVITE, the only target refresh request defined is re-INVITE (see
> > Section 14). Other extensions may define different target refresh
> > requests for dialogs established in other ways.
> > Note that an ACK is NOT a target refresh request.
> > Target refresh requests only update the dialog's remote target
> URI, and
> > not the route set formed from the Record-Route. Updating the latter
> > would introduce severe backwards compatibility problems with RFC
> > 2543-compliant systems.
> >
> > This seems to indicate that after the 101-199 response is
> received (that
> > establishes the dialog), only the re-INVITE and its 2xx response and
> > UPDATE (per RFC 3311) and its 2xx response can change the Remote
> Target.
> > Therefore, if a subsequent provisional response to the INVITE
> (ie, 180
> > Ringing that followed a 183 Session Progress) is received, it is not
> > allowed to update the Remote Target if it contains a Contact header,
> > correct? What about an UPDATE received in the early dialog state?
> This
> > would also allow the Remote Target to be updated, correct?
> >
> > Thanks again,
> > David Roan
> >
> >
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Sip mailing list http://www.ietf.org/mailman/listinfo/sip
> > This list is for NEW development of the core SIP Protocol
> > Use [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]> for questions on current sip
> > Use [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> for new
> developments on the application of sip
>
>
_______________________________________________
Sip mailing list http://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip