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>
最終更新:2007年01月15日 20:07