ADDENDUM (in a nutshell, AFAIU):
SIP (static IPs / ports) exploits SDP (static IPs / ports)
which initiates RTP (-> UDP ports) connections dynamically:
- 1 UDP port (static) as base, plus
- 1 UDP port (dynamic) for every connection being built up
(always the next free even-numbered)
Esp. the latter ones are creating the sorrows:
In case you have identical dynamically assigned port ranges on different IPs,
that has been a NAT-confusing ‘problem’ being ‘solved’ by STUN / SIP ALG / IAX etc.
As long as you observe above urgent recommendation to keep separate RTP → UDP port ranges being totally unique, plain NAT can very easily map it’s way from external Port_ID to the one and only internal IP having accessed that port number in it’s use.
Otherwise, without additional specialized header information / specialized evaluation,
it might have no indication available to tell arriving-with-identical-UDP-port packet’s destinations apart.
Perhaps the following (german) background information might help users,
esp. but not only of above mentioned devices:
[https://www.easybell.de/fileadmin/FAQ/nat-troubleshooting_ger.pdf]
HTH.
Thanks.