You have it correct. The proxy's job is to pass the CANCEL on each branch of the matching transaction. The basic rule of SIP is that all transactions complete independently. The state of the transactions is dependant only on the response(s) for the request and the timers on the transactions. The CANCEL does not affect that state at the proxy. It is up to the UAS to actually do something with the CANCEL and even then, the UAS must generate a 487 response to the original request so that its transaction completes independently.
cheers, (-:bob -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Iñaki Baz Castillo Sent: Wednesday, May 11, 2011 9:56 AM To: [email protected] Subject: [Sip-implementors] About CANCEL in a proxy (no changes to server/client transaction) Hi, when a stateful proxy receives a CANCEL and generates a CANCEL for the pending client transactions (those in Proceeding state so have replied at least a 1XX response), the state of the server transaction and clients transaction is not modified in the proxy itself. So, after processing the CANCEL it could occur that a UAS replies 200 to the INVITE. The proxy would then set the corresponding client transaction into Accepted state (RFC 6026) and pass the response to the Proxy layer which would pass it to the associated server transaction. The server transaction would transition to Accepted state and deliver the response upstream. This is, basically the CANCEL processing in the proxy changes nothing in the proxy itself. Do I miss something? (however I've re-checked it and found nothing else). Thanks a lot. -- Iñaki Baz Castillo <[email protected]> _______________________________________________ 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
