I'm trying to do port forwarding to my project as a replacement to the current udp hole punching. The reason is because I want clients to start communication with each other without the server intervention. In .net we can use natupnplib, but it doesn't seem to work properly (it doesn't work on wifi at my home, for example). Mono.Nat doesn't seem to be the solution as well.
I know that there is a way to do that, because uTorrent does port mapping on every pc I checked. (I know it might not be compatible everywhere, but I want it to work in devices that uTorrent works in)
I've looked over the internet for open-source bittorents implementation for port forwarding, but haven't found. A solution written in .net environment would be great. So, how do I do it? :)