>>7
what kind of issues are you worried about? Keep in mind, any fault you find or don't find in upnp you'll need to resolve in your solution. But if you want to talk to a device directly, and you are both hidden behind routers, you'll have to use something that is implemented by the router. Or you could just go through a public ip relay in the middle. Isn't that how skype does it?
if you are worried about
https://en.wikipedia.org/wiki/Upnp#Vulnerabilities_detected_in_2013
that looks like dumb companies making insecure routers an shit. You're just making an application. It's not your problem the routers can be abused.