upnpでポート開けようとしたときに失敗したからいろいろ調べたんだが、
upnp_description.hの339行目を直せばよさそうだった。
URLを作るときに、ポート番号の後ろにパスが直接繋がるかもしれないので
そのときは"/"を挟むようにする感じ。

str = base_url + str;
↓
str = base_url + (str[0] == '/' ? "" : "/") + str;

c++はよくわからないので適当に書いてみた。

失敗したときのログも上げておく。
pass:o2on
http://www2.uploda.org/uporg1264792.txt.html