El Martes, 16 de Septiembre de 2008, Paul Kyzivat escribió:
> 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

Why should the proxy reply 200 for to CANCEL if there is no active INVITE 
transaction matching it? shouldn't it reply a "481 Call/Transaction Does Not 
Exist"?


> , but doesn't send one on to B. 

> And  
> of course it forwards the 200 response from B back to A.

Well, what I meat is that proxy already forwarded the 200 to A, and later 
receives the CANCEL from A (who sent it before sending the CANCEL):


   A                                               P
                           <--- 200 INVITE   
       CANCEL --->



I'm realizing about the core of the question:
When the proxy receives the 200 OK from B it destroyes the client transaction 
(which was speaking with B) but not the server transaction (which still 
speaks with A). That is why is should reply 200 to the CANCEL, am I right 
now?


Thanks a lot for your help.




-- 
Iñaki Baz Castillo

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to