Hi,
I have this setup:
Mediation server with internal ip -- NAT firewall -- Kamailio proxy -- PSTN gateway
The mediation server sends a contact header with maddr=<internal IP>
fix_nated_contact only changes the host part and leaves the maddr intact.
When the PSTN gateway sends a PRACK or a BYE it puts the <internal IP> in the RURI, and kamailio then try to forward the message directly to the <internal IP> and not the NAT ip.
From RFC 3261 19.1.1:
The maddr parameter indicates the server address to be contacted for this user, overriding any address derived from the host field. When an maddr parameter is present, the port and transport components of the URI apply to the address indicated in the maddr parameter value. [4] describes the proper interpretation of the transport, maddr, and hostport in order to obtain the destination address, port, and transport for sending a request.
I can see that OpenSIPS has fixed this. http://sourceforge.net/tracker/?func=detail&atid=1086410&aid=3312423...
Would it be possible to get this patch into Kamailio also?