I just made an incoming call. Here is my NAT entry..

udp <public_ip>:16422 <internal_ip>:16422 209.244.31.1:61094 209.244.31.1:61094

Then I placed a outgoing call. Here is the NAT entry for that.

udp <public_ip>:16426 <internal_ip>:16426 64.35.56.74:14014 64.35.56.74:14014

The format is as follows..
Protocol Inside_global Inside_local Outside_local Outside_global

My earlier point was.. It depends on the router on how port is translated. Even in my case, if the 16422 was used by another IP in my LAN then the public port will be different. With my router if that happens, then the public port will be starting from around 1000.

Since VOIPo customers will have various routers and different routers will do the mapping differently, Voipo has to cover the entire range. Even if I did port forwarding, Voipo range will fail in my case if there is a port conflict with another IP in my node. Since my router will use unused port numbers starting from 1000 and this is not in the in the 5004-65000 range.

voipinit,

STUN is useful only when you need NAT mapping. The issue here is when the router rejects packets from the media gateway (different from your SIP server), various issues crop up.