I have setup external extensions before with port forwarding on Switchvox but with my MyPBX setup there is a few issues.

I have setup all the relevant ports SIP and RTP but I cant get it to register using UDP only TCP from an external location.  Its like the NAT isn't working.  But if I choose a dedicated local port say 5065 on the phone then port forward that to the device at the remote location it will work.

Now TCP will work but it doesn't seem to work right as the information back if the phone is finished its call doesn't work and the PBX thinks its on a call for ever.

Anybody seen this before and how I could get it to work without a port forward at the remote site?  Or get TCP registration working properly.

IAX does work properly but I dont have that option on these phones.