Hlavně to neimplementujte do nějakého vlastního programu.

Na uPNP není právě spoleh.
Z deseti přípojek to na 2/3 nefunguje, protože nemají veřejnou IPv4 adresu.
Zbývá 1/3 přípojek, kterou si rozdělíme:
1/3 zařízení to neumí nebo to neumí korektně
1/3 to má ve výchozím nastavení vypnuté
1/3 to má ve výchozím nastavení zapnuté (bohužel)
Na IPv6 to je jiná písnička, teda byla by to jiná písnička, kdyby IPv6 nebyla hnůj a lidi na ní rádi přecházeli.