2008/9/17, Rockson Li (zhengyli) <[EMAIL PROTECTED]>: > > [RL] Does P forward the 200 back or not , when it receives CANCEL from A? > > P receives the 200 from B before the CANCEL from A. Also P forwards the 200 > upstream, and later receives the CANCEL (sent by A before A received the 200 > from P). > > Anyway I already understand it properly thank to Paul help. The conclusion > is that client transaction in proxy is destroyed when receiving the 200 from > B, but the server transaction in proxy remains existing > > > [RL] if P forwards 200(INVITE) upstream before getting CANCEL, the INVITE > server transaction is terminated as well. > Therefore since both INVITE client/server transaction do not exist > anymore. Respone context is not present any longer. > So as per RFC3261 sec 16.10 > > If a response context is not found, the element does not have any > knowledge of the request to apply the CANCEL to. It MUST statelessly > forward the CANCEL request (it may have statelessly forwarded the > associated request previously). > > The same sec also says only response context is found, proxy core would > send back 200(CANCEL).
Ahh, this is the reason that my proxy (OpenSer) doesn't reply the 200 OK for the CANCEL and just drops the CANCEL without forwarding (I've programmed the proxy to ignore CANCEL is there is no response context for it). Really thanks a lot. It's completely clear now. -- Iñaki Baz Castillo <[EMAIL PROTECTED]> _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
