UPnPインターネットゲートウェイデバイスを操作する
ポートを開く:AddPortMapping
ポートを開くためには、WANPPPConnection または WANIPConnectionのAddPortMappingアクションを使います。
●引数
●引数
| 引数 | 方向 | 対応する状態変数 | 説明 |
| NewRemoteHost | IN | RemoteHost | リモートホスト |
| NewExternalPort | IN | ExternalPort | WAN側ポート |
| NewProtocol | IN | PortMappingProtocol | プロトコル(TCP,UDP等) |
| NewInternalPort | IN | InternalPort | LAN側ポート |
| NewInternalClient | IN | InternalClient | サーバーのローカルIP |
| NewEnabled | IN | PortMappingEnabled | 1(※使用する場合は1?) |
| NewPortMappingDescription | IN | PortMappingDescription | ルーターの設定画面に出す文字 |
| NewLeaseDuration | IN | PortMappingLeaseDuration | 0(※期限付きはサポートされていない?) |
●エラー
| エラーコード | 内容 | 説明 |
| 402 | Invalid Args | |
| 501 | Action Failed | |
| 715 | WildCardNotPermittedInSrcIP | ソースIPアドレスはワイルドカードで指定できません |
| 716 | WildCardNotPermittedInExtPort | WAN側ポートはワイルドカードで指定できません |
| 718 | ConflictInMappingEntry | 指定されたポートマッピングは、すでに他のクライアントに割り当てられているため、コンフリクトが発生しました |
| 724 | SamePortValuesRequired | LAN側とWAN側に指定するポート番号は、同じでなければなりません |
| 725 | OnlyPermanentLeasesSupported | NAT実装は、静的(無期限の)ポートマッピングのだけをサポートします。 |
| 726 | RemoteHostOnlySupportsWildcard | RemortHostはワイルドカードでなければならず、特定のIPアドレスまたはDNS名を指定する事は出来ません |
| 727 | ExternalPortOnlySupportsWildcard | WAN側ポートはワイルドカードでなければならず、特定のポート番号を指定する事は出来ません |
●実際に渡すべきXML(例)
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:AddPortMapping xmlns:m="urn:schemas-upnp-org:service:WANPPPConnection:1">
<NewRemoteHost></NewRemoteHost>
<NewExternalPort>WAN側ポート</NewExternalPort>
<NewProtocol>プロトコル(TCP,UDP等)</NewProtocol>
<NewInternalPort>LAN側ポート</NewInternalPort>
<NewInternalClient>サーバーのローカルIP</NewInternalClient>
<NewEnabled>1</NewEnabled>
<NewPortMappingDescription>ルーターの設定画面に出す文字</NewPortMappingDescription>
<NewLeaseDuration>0</NewLeaseDuration>
</m:AddPortMapping>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ポートを閉じる:DeletePortMapping
ポートを開くためには、WANPPPConnection または WANIPConnectionのDeletePortMappingアクションを使います。
●引数
●引数
| 引数 | 方向 | 対応する状態変数 | 説明 |
| NewRemoteHost | IN | RemoteHost | リモートホスト |
| NewExternalPort | IN | ExternalPort | WAN側ポート |
| NewProtocol | IN | PortMappingProtocol | プロトコル(TCP,UDP等) |
●エラー
| エラーコード | 内容 | 説明 |
| 402 | Invalid Args | |
| 714 | NoSuchEntryInArray | 指定された値は、配列の中に存在しません。 |
●実際に渡すべきXML(例)
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:DeletePortMapping xmlns:m="urn:schemas-upnp-org:service:WANPPPConnection:1">
<NewRemoteHost></NewRemoteHost>
<NewExternalPort>WAN側ポート</NewExternalPort>
<NewProtocol>プロトコル(TCP,UDP等)</NewProtocol>
</m:DeletePortMapping>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
このwikiの更新情報RSS