Hi, we are having a problem with a network change use case. It goes on
something like this:
1. Kamailio receives INVITE from caller.
2. Kamailio sends INVITE to callee MUA.
3. MUA response with 100, then 183.
4. MUA then loses network connectivity and re-establishes access with
another IP address.
5. MUA sends 200 OK from the new IP address, but with `Contact` still set
as the old address (which I think it should, because you aren't allowed to
change contact in the middle of dialog?)
6. Kamailio forwards 200 OK to caller and receives ACK.
7. Kamailio sends ACK to old IP address of MUA.
The last step is obviously a problem as the MUA will not be able to see the
ACK.
I'm trying to see how to resolve this issue. I can capture the "$si" and
"$sp" of the new address in the reply route (I also tried to get the MUA to
send OPTIONS immediately after reestablishing connectivity, and capture
"$si"/"$sp" there, which also works), but I can't figure out how
to update
the destination of the ACK. I've tried running `fix_nated_contact()` as
well as trying to write into various pseudo variables - in either the
OPTIONS request handler or the 200 reply handler - which either errors or
does nothing.
Any suggestions?
--
Oded Arbel