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