If your 3cx is on a public Ip did you turn off all STUN? Remember this is a STUN CLIENT, not a STUN Server in 3cx. If you are on a public IP you have no need for a STUN client
did you make the changes to the Ini file like in this thread
http://www.3cx.com/forums/open-fixed-ip-and-sip-port-7334.html
C:\Program Files\3CX PhoneSystem\Bin\3CXPhoneSystem.ini
[Network]
LocalSubnets=0.0.0.0/0
then restart the computer running 3cx
If so, see these threads,
http://www.3cx.com/forums/nated-ua-rtp-packets-go-to-lan-ip-7378.html
http://www.3cx.com/forums/no-rtp-packets-on-linksys-spa941-external-extension-7373.html
I really believe this is a bug, when the Server is on a Public IP and the ATA is behind a distant NAT. I think that if you ran Ethereal on the 3cx machine and looked at the RTP packets, you may see them destined for the LAN IP of the ATA, but nobody has yet confirmed this, aside from myself. Seems to be with Cisco/Linksys/Sipuras