200 OK seems correct as long as the transaction is still in memory.
http://tools.ietf.org/html/rfc3261#section-9.2
regards klaus
Am 30.04.2010 10:22, schrieb Iñaki Baz Castillo:
2010/4/29 pars3cpars3c@gmail.com:
Hi, i have a problem about the handling of the “cancel” message.
The B side answer with OK, after a while , a send a CANCEL. I don’t know why Kamailio don’t forward this message to the B side.
Because Kamailio already received a 200 for the INVITE transaction so it's terminated, there is nothing to cancel hen the CANCEL arrives.
B retry to send the OK message, then A send the ACK.
At the end , B send BYE , but A don’t have the transactin.
This is because Kamailio replied 200 to the CANCEL so A still believes it has cancelled and has terminated it locally.
Perhaps Kamailio should reply 404 to the CANCEL as a 200 was already received for the INVITE (could it be a bug?).
However your UAC is doing strange things:
- Why does A send a CANCEL after receiving a 200 OK for the INVITE?
- Also if A sends an ACK for the 200 (INVITE) it *does* know that the
transaction is still alive so shouldn't reply 481.
The behavior of UAC A is not very common and seems buggy IMHO.