You meant you have 50 voip devices using these ports?
Making static mappings will not be feasible for such a large amount of ports and devices.
There will be few alternative for using true NAT, then the ip addresses are xlated but port numbers are preserved.
Disadvantage: This costs one publi ip per session/device.
You could perhaps try to achieve this with a nat pool so that you are not required to allocate 50 public ip's?
This implies the public address will vary between sessions. Would that be a problem?
The pool size will depend on the size your public ip range (?) and the required number of devices which need to connect simultaneously.
A general word of caution is applicable though: Many voip applications are not nat-aware.
Sometimes a hosts ip is carried in the data and this does not get translated into the nat address.
Ensure that your app is not one of these before spending lots of time on this setup.
regards,
Leo