I have a Asterisk box at a public IP (203.250.x.y). I also have a Cisco IP Phone (7940 series) being set up behind a router at 203.250.x.z. I set a static private IP (192.168.1.x) for that phone and set some NAT forwarding rules (port ranges: 5060 - 5061 and 10000 - 20000 according to my Asterisk box) on the router. The phone gets connected and successfully registered SIP configuration.
For testing purpose, I installed a X-Lite soft phone on my computer (at a public IP) and configured another SIP account for the soft phone.
The problem is that the Cisco phone CAN send data out but CANNOT receive data in. That means, it can make a call to my soft phone and on my soft phone I can hear sounds. But in the reverse path, I cannot hear any sounds on the Cisco phone, also I cannot make calls from the soft phone to the Cisco phone.
Note: If I set a public IP for the Cisco phone, the problem will not occur.
Could any one give me some advices?