Comment inline. On Thu, 2006-09-28 at 15:31 +0530, B, Nataraju wrote: > Comments inline... > > Thanks, > Nataraju A B > > > -----Original Message----- > > From: [EMAIL PROTECTED] > [mailto:sip-implementors- > > [EMAIL PROTECTED] On Behalf Of > > [EMAIL PROTECTED] > > Sent: Thursday, September 28, 2006 2:18 PM > > To: [email protected]; sip-implementors- > > [EMAIL PROTECTED] > > Subject: [Sip-implementors] query regarding parallel forking > > > > Hi, > > > > When parallel forking is enabled at proxy and proxy fork INVITE > request > > to n no. of registered contact .In case if proxy receives 200 OK from > any > > two contact simaltaneously, then what shall be the proxy behaviour , > > whether it forwards both the 200 OK to UAC or it drops one of the > 200 OK > > response. > > > > > [ABN] this is already clearly mentioned in 3261 proxy behavior section. > Yes, both the 2xx would be forwarded towards UAC. > Then it's up to the UAC's headache, how to handle multiple dialogs part > of the same session, which one to retain and which one to terminate. > --------- RFC 3261 16.10 CANCEL Processing
A stateful proxy MAY generate a CANCEL to any other request it has generated at any time (subject to receiving a provisional response to that request as described in section 9.1). ------------- If it has received a 200 OK response from one source it is therefore possible that the proxy generate CANCEL on all forks that it has so far only received 1xx responses from. If any of those other forks send a 200 OK - this can happen because you send CANCEL which is not received until after the branch has already sent a 200 OK, then the other end of that fork will not process the CANCEL (i.e. it will not generate a 487). In this case, the proxy will forward the 200 OK it receives from the other fork to the UAC. Also, as the proxy is to ship a 2xx response immediately - and that changes the state of the response set so that it now has a final response sent. From then on it should ONLY forward any incoming 2xx responses. Since a final response has already been sent upstream it should not select any final response from the response set and send that. The response set is only consulted if the only responses sent upstream so far has been 1xx responses - i.e. the server transaction is in the state proceeding. Thus a proxy can send 0 or more 1xx responses followed by EITHER exactly one 3xx, 4xx, 5xx or 6xx response OR one or more 2xx responses. Also, when the first 2xx response is received and forwarded, it may also choose to CANCEL any forks which it has only received 1xx responses from. It should still be prepared to receive multiple 2xx responses though because a fork might send 2xx response before it receives the CANCEL thus sent. Such a 2xx response is then sent to UAC which then get the headache of handling multiple 2xx responses from a single INVITE. It can also make sense that the proxy - if it is suitably configured and the UACs connected to it is aware of it - have the proxy send ACK and then BYE to any 2xx response other than the first. This is necessary if the UAC in question is not able to handle more than one 200 OK response from a single INVITE. For example a very simple UAC might assume that a single INVITE lead only to exacty one final response. As long as it is behind a proxy which ensures this by sending ACK and BYE to any 2xx response other than the first, this UAC should work just fine. If this is suitable or not for a proxy depends largely on what role the proxy serve. As a pure proxy it should never generate any BYE messages on its own and leave that to UACs etc. Thus, it should always faithfully forward all 2xx responses to UACs and let them handle multiple 2xx responses. However, some times the proxy is not just a pure proxy. It can be bundled with a registrar and with other services and in that case it can make sense that the system as such from configuration and other parameters finds out that sending BYE at this point is a reasonable thing to do - for example because two branches of a fork has responded with 2xx but the configuration indicates that the caller only want one of them. Alf > > > > > > > > > > "The fragrance of flowers spreads only in the direction of the wind. > But > > the goodness of a person spreads in all direction." > > > > > > > > Thanks & regards > > Sanjiv kumar Jaiswal > > Software Engineer > > Flextronics Software System > > Emp ID-8494 > > TEL-918051069164 > > MOB-919886189960 > > > > *********************** FSS-Private *********************** > > "DISCLAIMER: This message is proprietary to Flextronics Software > Systems > > (FSS) and is intended solely for the use of > > the individual to whom it is addressed. It may contain privileged or > > confidential information and should not be > > circulated or used for any purpose other than for what it is intended. > If > > you have received this message in error, > > please notify the originator immediately. If you are not the intended > > recipient, you are notified that you are strictly > > prohibited from using, copying, altering, or disclosing the contents > of > > this message. FSS accepts no responsibility for > > loss or damage arising from the use of the information transmitted by > this > > email including damage from virus." > > _______________________________________________ > > Sip-implementors mailing list > > [email protected] > > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > > > _______________________________________________ > Sip-implementors mailing list > [email protected] > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
