I am designing a p2p application which works on port 30000. My router is not UPnP so I required to forward a port to router. But Skype a another p2p application works without port forwarding on my pc. When I analyzed it with wireshark I found its using UDP port 48980, 58544. I am using c++.
There is a library in python here which does it for Nat PnP routers. Is it possible to programmatically forward port to router irrespective of type of router and operating system. What should be the approach to do it in c++ or any other language.
Skype works in a very interesting way. From what I've read (and this is a while ago) it works as follows:
This is probably over simplified but last I checked, this is how it works. (Someone correct me if I'm wrong).
Edit: fixed bullet issue