For SIP NAT traversal. Almost all SIP clients are symmetric (send/receive SIP on the same port) - thus by always use the "received" information instead of the provided "Contact" you should not have negative impacts. Exception: IIRC, I once saw Cisco SIP phones behind a Cisco PIX which were asymmetric (can't remember if it was SIP or RTP).
I see. So I'll do it the same.
- some countries require lawful intercept, which must not be
noticeable by the costumer. As the LI requires a media relay (to record audio) you do not have a choice and have to activate the media relay for all calls anyway.
I have exactly that problem, so I already proxying all rtp-traffic via rtpproxy.