Hi *,

What is the logic behind the transation matching in Kamailio. I am finding a problem whereby a call setup transaction (INVITE, 180 Ringing, PRACK, 200OK, ACK). between 2 Snom phones works in normal mode. However, when one phone is behind a NAT with STUN support, everything works perfectly (i.e. call setup, 2-way audio, etc), BUT the tm module doesnt match the transaction between the original invite and the subsequent messages (180, 200ok, etc). the impact here is that the fr_inv_timer eventually fires even though the call has been answered. Note: this only happens when the call is destined for the device behind the NAT.

Any ideas.

Perhaps an explanation on how the tm module does transaction manager.

RFC3261 states that transaction matching is done based on the via branch parameter.

Thanks in advance
Jason