[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