[Kamailio-Users] 487 Request Terminated and BYE
Iñaki Baz Castillo
ibc at aliax.net
Tue Mar 17 22:11:03 CET 2009
El Martes, 17 de Marzo de 2009, Alex Balashov escribió:
> > The transaction was terminated when a branch replied a 200 (as RFC 3261
> > states).
>
> Ahh. So, then why does the "reason" code for 487 say something like
> "transaction terminated," if the transaction has not existed for a long
> time?
487 comes from the branch_1, it's not generated by Kamailio!
The problem is:
- Kamailio sends INVITE to branch_1.
- After some seconds sends a CANCEL.
- And sends the INVITE to branch_2.
- branch_1 replies 200 for the CANCEL and 487 for the INVITE, Kamailio sends
the ACK but the server ignores it and remains sending the same 487 for a
while.
- During that time, branch_2 replies 200 so Kamailio (accoprding to RFC 3261)
terminates the transaction and forwards the 200 upstream.
- After some seconds branch_1 sends a new 487 (due to the problem with the
ACK).
- This 487 has now no transaction in Kamailio so it forwards it stateless (by
inspecting the Via header) to the client.
- The client receives a 487 and decides to terminate the call.
Hope it's clear now :)
--
Iñaki Baz Castillo
More information about the Users
mailing list