De mémoire et si mes souvenirs sont bons il faut installer un daemon auquel va s'adresser ton programme. Ce daemon va transmettre la demande à la box et en réponse ouvrir le port qui va bien au niveau du firewall.
Ca m'avait semblé un peu usine à gaz et j'ai préféré définir en dur au niveau de Transmission, de la box et du firewall le port utilisé en entrée.
Regarde du coté de linux-igd
http://linux-igd.sourceforge.net/
Nom : linux-igd
Architecture : x86_64
Version : 1.0
Révision : 9.fc12
Taille : 33 k
Dépôt : fedora
Résumé : The Linux UPNP Internet GATEWAY DEVICE
URL :
http://linux-igd.sourceforge.net/index.php
License : GPL+
Description :This is a daemon that emulates Microsoft's Internet Connection Service (ICS).
: It implements the UPnP Internet Gateway Device specification (IGD) and allows
: UPnP aware clients, such as MSN Messenger to work properly from behind
: a Linux NAT firewall.
et du coté de miniupnp
http://miniupnp.free.fr/