Iñaki Baz Castillo wrote:
> Hi, imagine A calls B via proxy P:
> 
> - A sends the INVITE to P.
> - P forwards to B.
> - B replies a 200 OK that arrives to P (this would cause proxy core to 
> terminate the client transaction).
> - Before A receives the 200 OK it sends a CANCEL to P.
> 
> What should do P now with the CANCEL? Note that there is not now an INVITE 
> transaction alive for that CANCEL since 200 destroyed it. Maybe P should 
> route the CANCEL using the same mechanism used for the INVITE, but surely no 
> stateful proxy implements it since it's innecesary in 90% of cases (the proxy 
> has already info about the destination for a incoming CANCEL since it 
> forwarded before the INVITE).

I don't understand the issue. There is nothing to cancel. The proxy just 
sends a 200 to the CANCEL back to A, but doesn't send one on to B. And 
of course it forwards the 200 response from B back to A.

This is something like what happens with a forking proxy. The proxy in 
general will have some targets it has tried and failed, some that 
haven't been tried yet, and some that are in progress. When it gets a 
CANCEL, it only sends CANCELs on to the requests in progress, not the 
others.

        Thanks,
        Paul

> Thanks a lot.
> 
> 
> PD: It's happening to me now in a real environment.
> 
> 
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to