An excellent tool that I found on the web is uPnPTest.exe from http://www.markgillespie.co.uk/?page_id=18 . Run it in administrator mode to diagnose what is wrong, and use the tips on the linked page to change the settings of the various Windows services essential for success. Run it until all but the last two tests show success.
Basically, I had to:
Set the SSDP service to automatic.
Set the uPnPhost service to automatic.
Check that the uPnP framework is permitted by the Windows firewall. Look under exceptions. This is enabled by default.
Finally, you need to set a static IP for your computer - if you haven't done so already.
Happy eMuling.