# How to set up UPnP?

Universal Plug And Play (UPnP) is a technology to allow, among other things, Internet applications to configure home routers and gateways, bypassing manual port forwarding configuration. UPnP was introduced in Windows XP and is supported in that and later versions, including Windows Server and Vista. To take advantage of UPnP, you must have support enabled in Windows and UPnP capable hardware (typically a broadband router using NAT traversal). If you meet both of these requirements, setting up DC++ is normally a simple process. UPnP support introduced in DC++ 0.4033. For using DC++ with UPnP under Vista you need version 0.695 or newer.

To enable UPnP in DC++:

- Click on File menu and then Settings. Click on Connection Settings.
- Select Firewall with UPnP.
- Restart DC++.

If your UPnP system is setup correctly, DC++ will now automatically create the required port mappings for DC++ to operate in Active Mode. It will also detect your external IP address, and switch into Active Mode.

### Troubleshooting

If you are having trouble getting this all to work (or see messages in the DC++ System Log like "Failed To Create Port Mappings"), and you are sure you meet the minimum requirements mentioned above, firstly, download a UPnP diagnostic tool. The recommended one is Mark Gillespie's UPnP test tool. This program will tell you what network interfaces on your computer support UPnP.

Alternatively, to test your UPnP functionality, you can run the web based Internet Connectivity Evaluation Tool from Microsoft.

If your router fails the UPnP test(s), then it's doubtful DC++ will function properly with UPnP either. If none of your network interfaces are reporting UPnP capabilities, try the following suggestions:

1. Ensure your UPnP hardware has the UPnP service switched on (some routers default to off), consult your manufacturer's documentation.
2. Ensure Windows UPnP services (Control Panel -> Administrative Tools -> Services) are running. "Universal Plug and Play Device Host" and "SSDP Discovery Service". Both of these services should be set to "Automatic" startup and "Started" status.
3. Switch on the UPnP User Interface. To do this: Open "My Network Places", and in the Network Tasks Panel, select "Show icons for networked UPnP devices". If UPnP is working, you should see your router's name in My Network Places. Also, when you go to: Start Menu, Settings, Network Connections, you should see Internet Connection listed under the Internet Gateway category.
4. Reboot both your PC and your UPnP device (router).
5. If you do not see your router as a network device in "My Network Places" after several minutes, UPnPTest will fail to create an UPnP mapping to the router, resulting in something looking like: INFO: Adapter #0 - 192.168.8.17 - UPnP Disabled. Make sure the windows firewall or your third party firewall is not blocking UPnP packets. To do this, go to Control Panels -> Windows Firewall -> Advanced Tab -> Security Logging -> Settings. Enable Log Dropped Packets. The log file is located at: C:\WINDOWS\pfirewall.log. If you see any packets being dropped with the port 1900 or 2869, the the firewall is misconfigured and is preventing UPnP from working. In case of a third party firewall checking this setting varies widely between firewalls. Most decent firewalls have some sort of logging function, where one can see what the firewall is blocking. Look for "UPnP" or ports 1900 and 2869 and refer the firewall's manual how to ublock.
6. If the diagnostic tool is still not reporting any UPnP devices, considering more drastic actions like upgrading your router firmware, as many routers have UPnP implementation bugs.

If your router still fails the UPnP test follow the guide on Manual port forwarding to be able to use DC++ in active mode.