Hi Isaac,

see inline.

"Isaac Dudy" <[EMAIL PROTECTED]> schrieb am 30.05.05 15:39:10:
> 
> I have a question about draft-ietf-sipping-service-examples-08.txt
> section 2.9 Call Forwarding - No Answer.
> >From Alice UA point of view, the UA got three 18x responses on a single
> INVITE request. 
> All the 18x have different To tags and thus create multiple early
> dialogs. (please note that the 181 response does not contain To tag at
> all but from Alice UA point of view the "null" To tag is different from
> the first 180 response and thus create another early dialog).
> In the flow we can see that eventually only one dialog is confirmed. 
> My questions are:
> 1) Doesn't Alice UA has to terminate the other early dialogs with CANCEL
> or BYE ?? 

There is no transaction layer after receiving the first 200 OK for the INVITE. 
So you may send a BYE.

15. [...]

   The caller's UA MAY send a BYE for either
   confirmed or early dialogs, and the callee's UA MAY send a BYE on
   confirmed dialogs, but MUST NOT send a BYE on early dialogs.

But bear in you mind that a stateful proxy tries to cancel the open requests 
too.
16. [...]

      10. Generate CANCELs

         If the forwarded response was a final response, the proxy MUST
         generate a CANCEL request for all pending client transactions
         associated with this response context.  A proxy SHOULD also
         generate a CANCEL request for all pending client transactions
         associated with this response context when it receives a 6xx
         response.  A pending client transaction is one that has
         received a provisional response, but no final response (it is
         in the proceeding state) and has not had an associated CANCEL
         generated for it.  Generating CANCEL requests is described in
         Section 9.1.

> 2) Can Alice UA relay on the fact that after 32 seconds from the first
> 2xx all other early dialogs are terminated automatically without sending
> any CANCEL or BYE? 

That's right.

13.2.2.4  [...]

   The UAC core considers the INVITE transaction completed 64*T1 seconds
   after the reception of the first 2xx response.  At this point all the
   early dialogs that have not transitioned to established dialogs are
   terminated.  Once the INVITE transaction is considered completed by
   the UAC core, no more new 2xx responses are expected to arrive.

> 3) What would have happen if Alice UA decided to send immediately after
> the 2xx CANCEL on the two remaining early dialogs or BYE on each early
> dialog?

If you send a BYE you will get a 487 for each BYE (two Non-INVITE transaction).

15. [...]

   The UAS MUST still respond to any pending requests received for that
   dialog.  It is RECOMMENDED that a 487 (Request Terminated) response
   be generated to those pending requests.

You can't send a CANCLE anymore. If send a CANCEL to the proxy which was 
forking the request. Then you get a 200 OK for the CANCEL. If both CANCEL are 
succesful, you will get a 487 Request Terminated, but you won't find 
transaction because the transaction layer was destroyed by the first 200 OK. 
Who will create the ACK now???

> 4) According to RFC 3261 section 16.7 (on chapter choosing the best
> response) : 
> "Since a proxy may not insert a tag into the To header field of a 1xx
> response to a request that did not contain one, it cannot issue non-100
> provisional responses on its own." 
> Isn't the flow conflicts with the RFC ??

I do not understand exactly your question. Normally you do not cancel the 
connection with the proxy but with the UAS which is the endpoint. 

I hope that some things are clearer now.

Greeting 

Markus


__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201

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

Reply via email to