インターネットへの WCF サービスにアクセスできるようにするために、Upnp によるルーターへのポート マッピングを行う ac# コードを作成しました。
upnp スクリプトはこちら
object[] loObj = new object[] { "", port, "TCP", port, adresse_ip, true, "Custom Mapping", 0 };
lsService.InvokeAction("AddPortMapping", loObj);
入力ポートは 87 で、出力ポートも 87 です。
マッピングは Netgear DGN1000 に正常に登録されています (upnp テーブルで確認できます)
Actif Protocole Port Interne Port Externe Adresse IP
YES TCP 87 87 192.168.0.12
localhst:87/servicemodelsamples/service および 192.168.0.12:87/servicemodelsamples/service 経由で Web サービスにアクセスできます
しかし、 MY_PUBLIC_IP:87/servicemodelsamples/service 経由ではアクセスできません。
Windows 8 ファイアウォールを無効にしました
ルーターで作成した手動ルールを使用している場合、動作しますが、upnp 神経を介して
ご協力ありがとうございました