@vingarzan commented on this pull request.
&& (ignore_contact_rxport_check
- || (c->received_port == _m->rcv.src_port)
With `ignore_contact_rxport_check=1` the protocol (not port! :upside_down_face:) hit me hard today, when REGISTER happened over TCP and then an MO MESSAGE kept being rejected because ... UDP.
I added a parameter `ignore_contact_rxproto_check` with default `1` (so changing behavior!). My opinion is that in IMS the IPsec SA is negotiated for all transport protocols (so in practice UDP and TCP), hence if a UE managed to correctly encrypt whatever UDP/TCP packet correctly and send it to us on the correct Security-Association flows, we should allow it.