My parents have a PC running Windows XP. From time-to-time they encountered glitches, and it's been useful to establish a Windows Messenger connection and thus provide remote assistance using the tools built into the OS. The remote "expert" (that would be me) is able to see what they see on-screen, and to take control of the screen to help diagnose problems. It worked fine so long has my parents had dial-up Internet, even when I was asisting from my Mac via Parallels. But when they got broadband this functionality broke—all because of their NAT router.
When Dad asked for help after conversing in Messenger the connection would fail, and I would be notified that "Remote Assistance connection could not be established because the remote host name could not be resolved. Please try again."

Microsoft have a Knowledge Base article on the subject. The issue arises, apparently, because our computers are not in the same private subnet or because Microsoft Windows Firewall does not allow the computers to connect to Microsoft .NET Messenger Service servers. To resolve this the article details the process of making a custom RAInvitation.msrcincident file containing the public IP address of the computer needing help, and e-mailing this to the expert who can then use it (within a certain time frame) to make the connection and provide assistance. It's a hack, but it works.
The thing is, there should be no need for a hack. Microsoft says:
If the computer that sends the Remote Assistance invitation and the computer that receives the invitation use two different Network Address Translation (NAT) devices, the computers are on private subnets. Then, the computers use their private IP addresses to send the request. Remote Assistance is designed to work with UPnP NAT devices, such as Microsoft Windows XP. This technology enables a Windows XP client that uses a NAT device to request incoming traffic to port 3389 to be mapped to the client that requests Remote Assistance. Remote Assistance works as expected when the computer that sends the invitation uses a UPnP NAT device.
We both use NAT routers, and both have UPnP (Universal Plug and Play) enabled. It should work, so why doesn't it?









Hi Bruce,
My guess is that you do not have UPnP enabled in Windows XP. Normally this function is disabled (after SP2) because the service could be used in malicious ways. Control Panel > Add- or Remove software > Add/Remove Windows Components > Network Services > Install Client program ... and UPnP User interface.
The other thing you could do, was to give your parents PC a static IP adress (behind the router) and NAT port 3389 to that IP. This fix will definitely work!
The reason why their old Dial-Up connection worked better, is because this placed the PC on the "outside" without any intermediary, very dangerous to let only the Windows Firewall handle incommming and outgoing traffic, much better and safer to let the Router handle this (via. NAT).
Hope it helps, will check back later on your progress :)
/Rouhecia
Thanks for that suggestion Rouhecia, I'll look into it when I get the chance.
With UPnP enabled on both routers and in Windows XP on both machines, a static IP on my parents machine, and port 3389 forwarding on their router to that IP, remote assistance via Windows Messenger... doesn't work. This does, however.