What it is not clear to me in this case, is what does the proxy do if there is no 1xx reply but the 200 OK comes in directly (after the CANCEL was received and the INVITE continued to be retransmitted). In this case it cannot send a CANCEL, or can it? Can a CANCEL be sent after a 200 OK but before confirming it with the ACK, or after a 200 OK it must send an ACK followed by a BYE? What about accounting in the later case, because the call will appear as one that was successfully setup and with 0 second duration while in reality it was canceled. The later case also implies that the proxy is no longer a proxy but a b2bua since it initiates dialogs on its own, dialogs that differ from what the call originator has sent to the proxy.
On Monday 10 March 2008, Klaus Darilion wrote: > From the "sip-implementors" list - looks like Maxim is right. > > regards > klaus > > Robert Sparks schrieb: > > Part of why it does this is to deal with the case that the first > > INVITE the proxy sent actually got somewhere, but its response was > > lost. The retransmission will stimulate a retransmission of the > > response, letting you move forward to sending the CANCEL from the > > proxy. > > > > RjS > > > > On Mar 7, 2008, at 7:06 AM, Bob Penfield wrote: > >> The INVITE transaction must still complete independent of the > >> CANCEL. So the proxy would continue to re-transmit the INVITE. If > >> the proxy does receive a provisional response, it would then stop > >> retransmissions and send the CANCEL down stream. If timer B fired, > >> it would send a 408 response to the INVITE. > >> > >> Note that the proxy should respond to the CANCEL with 200 OK when > >> it receives it since the INVITE transaction is in progress. > >> > >> cheers, (-:bob > >> > >> -----Original Message----- From: > >> [EMAIL PROTECTED] > >> [mailto:[EMAIL PROTECTED] On Behalf > >> Of Klaus Darilion Sent: Friday, March 07, 2008 4:11 AM To: > >> [EMAIL PROTECTED] Subject: [Sip-implementors] > >> CANCEL retransmisson question of no provisional response! > >> > >> Hi! > >> > >> Could someone help me please with this question. > >> > >> Scenario: A transaction-stateful proxy forwards the INVITE request. > >> The proxy does not receive a provisional response, thus starts > >> retransmissions. Now, the caller CANCELs the call. How is the proxy > >> supposed to handle this? Does the proxy still have to retransmit > >> the INVITE or can it stop retransmitting the INVITE? > >> > >> From logical point of view I would think that the proxy should stop > >> the retransmissions, but from Figure 5 in RFC 3261 it looks like > >> the only way to come from "Calling" state to "Terminated" state is > >> waiting for Timer B fires (as there is no provisional response > >> yet). > >> > >> thanks klaus > > _______________________________________________ > Devel mailing list > Devel@lists.openser.org > http://lists.openser.org/cgi-bin/mailman/listinfo/devel -- Dan _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel