Salve a tutti e buone feste!

devo fare un programma che resta in ascolto su alcune porte TCP. Devo usare UPnP per aprire automaticamente le porte del router verso la mia macchina che esegue il processo.
Qualcuno sa indicarmi una guida su questo protocollo, o in alternatica una libreria in java che mi permetta di fare qualche che desidero?

Grazie in anticipo.
Daniele