Remote Desktop Connection from Internet
article from : HomeNetwork
Sometimes there are people trying to make Remote Desktop connection  from office or Internet to their home network's computer, but couldn't  make it works. However the remote connection is working well if the user  connects it at home. 
So what's the problem? The reason is most of the  users install router at home and share single Internet connection, which  means there is only one public IP that used by router to route traffic  to/from Internet. When the user key in the public IP of his/her home  network (usually we can check the public IP on the router) to make  connection, the router will receive the network packets but don’t know  what to do about it and drop the packets eventually.
Solution?? You need to enable 
port forwarding or 
virtual  server on the router to forward the packets to that internal Remote  Desktop enabled computer for establishing the connection. You should be  able to find these features on most of the routers. If your don't have  router or router does not support this feature, check out these 
routers
!
So here is how to make it works!! You must assign static IP  address to that computer with Remote Desktop feature enabled. After  that log on to your router management page, look for the port forwarding  or virtual server setting. If you are not sure where to look for, read  the router manual. 
Once you found it, key in the server  listening port number (Remote Desktop port is TCP 3389) with protocol  TCP and the IP address of Remote Desktop enabled computer.  
Below  is the port forwarding parameters I put on Linksys WRT54G wireless  router, and after that I have no problem to make Remote Desktop  connection to home network's public IP 178.63.23.34 remotely from  my office. When the router receives the packets with destination port  TCP-3389, it will forward those packets to computer with IP  192.168.1.99, which is my Remote Desktop enabled computer.
Note:  If you enabled remote desktop web connection, then you would also need  to do port forwarding for port TCP-80 on router , so that the users can do  remote desktop access from Internet by using web browser.
, so that the users can do  remote desktop access from Internet by using web browser. 
article from : HomeNetwork