There ia big number of ports that need to be opened for VOIP to work. It is a whole range of ports.
That is the first part of the trouble, the firewall not letting packets pass trought.
After that you may run into the NAT wall. The NAT not translating the packages of VOIP properly, causing one way audio or failure of the call altogheter.
Have you look into the produt call H323 proxy???? There is advertising about it on this page. I understand that is made by the people that maintain this site.
Look above the text, on the left, on the brown field.
That is a software designed to help you get VOIP inside the network from the internet, without compromising the firewall by punching holes on it.