< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] dum problem: CANCEL crosses 200 to INVITE


I have a test case that is not behaving correctly:

A INVITE B
B sends 180  (creates a usage U)
A CANCEL B  crosses B sends 200
As soon as A sends the CANCEL, dum removes U and calls onTerminated immediately. When A receives the 200 OK to the CANCEL, it throws it away as a stray response. As a consequence it never sends the ACK or a subsequent BYE


I don't think this is how we originally intended this to be implemented.

My proposal:

U should not be terminated and the UAC not notified until the 487 is received. It could be a different failure response such as a 408. If A sends a CANCEL and subsequently receives a 200 to the INVITE, U should know to send a BYE automatically.

In general, I think it is usually a bad idea to call handler functions when the usage sends a request.

Jason