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