franz,
  This is in context with the forking proxy, so yes, when here proxy is receiving multiple 200's for multiple parties. Now it accepts the first 200 which comes its way. Now for other forked request it should be sending a CANCEL, but that is only if it has not got any final response.
  So now while the proxy is trying to generate CANCEL's for the other request, you already 200's coming in (so the sender's r expecting an ACK back for this). If during this time you send out a CANCEL, then you might get a bad response back (not expecting this request at this point).
  So i guess you stil have to ACK those fork's and send immediately BYE' all of them..
 
rama


Franz Edler <[EMAIL PROTECTED]> wrote:

Hello,

 

I am at the moment working through RFC 3261, and therefore I am interested in taking part in discussing your question. I hope you don�t mind that.

My view is the following:

 

According to RFC 3261 16.7  (Response Processing of a Proxy) step 10 requires the proxy to immediately generate CANCEL requests for all pending client transactions.

These CANCEL requests will terminate the transactions to C and D. So it is very unlikely, that other 200 OK will be forwarded to the A.

But if this is the case (more than one 200 OK received by A in case of a race condition at the proxy), than the proxy will also to CANCEL the pending client transaction.

If A sends ACK and BYE it might generate a 481 Transaction Does not Exist.

 

This is my view. Please tell me, if I am wrong.

 

Franz

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ramachandran Iyer
Sent: Dienstag, 23. September 2003 10:55
To: Oleksandr Sakada; [EMAIL PROTECTED]
Subject: Re: [Sip-implementors] Sending BYE before ACK (not discussed yet!!!)

 

Once you have accepted the the transaction from B (200 OK), you will have to cancel the other forked request.

As you say, what if one gets 200 from others as well (C, D in your case). To comply with the spec, the other side would expect ACK for a final response (200 ok). So you will have to send ACK (as it is late to send a CANCEL at this point..) . After having done that, you can immediately send out BYE's to the other legs (C, D) to take down those connections.

 

Rama



Oleksandr Sakada <[EMAIL PROTECTED]> wrote:

Hi!

I saw a lot of discussions regarding sending of BYE request in the archive of this discussion list, but my question is different.
Assume the following scenario:

INVITE
A -------------> B, C, D (forking)

200 OK
A <------------- B, C, D

At this point A has to acknowledge the first received 200 OK (let it be from B) responce and terminate others dialogs:

ACK
A --------------> B

Here is the question. Should A send ACK requests also to the C and D and after that immediately send a BYE request to C and D, or
just send BYE request to C and D after received second and third 200 OK response? In the first case if ACK will not be delivered to
the C and D, the situation will look like the second scenario...

Thank you in advance.

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


Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software


Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to