「NOTIFY」の版間の差分
提供: 個人的記録
(ページの作成:「Category:UPNP M-SEARCHに対する応答。<br> UPNPデバイスはNOTIFYをブロードキャストグループに送信し、存在を告知してくる。 = ...」) |
(→Location) |
||
(同じ利用者による、間の7版が非表示) | |||
14行目: | 14行目: | ||
* ポート番号 | * ポート番号 | ||
*: 1900 | *: 1900 | ||
+ | = 書式 = | ||
+ | 以下の書式で送られてくる。<br> | ||
+ | 改行コードは「\r\n」固定。項目は複数かえってくる。<br> | ||
+ | 可変部分は{内容}の形式で記述している。 | ||
+ | <pre> | ||
+ | NOTIFY * HTTP/1.1 | ||
+ | {項目名}:{値} | ||
+ | </pre> | ||
+ | 以下に主な項目名の説明を記述する。 | ||
+ | == Cache-Control == | ||
+ | NOTIFYの有効期限が以下の形式で返送される。 | ||
+ | <pre> | ||
+ | max-age={秒} | ||
+ | </pre> | ||
+ | == Location == | ||
+ | デバイスのDescription URL。<br> | ||
+ | ここに記載されたURLにアクセスすることでデバイスを制御するための情報を得ることができる。 | ||
+ | DescriptionのXMLスキーマは[http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.1.pdf UPNPフォーラムの仕様書]に「UPnP Device Schema」として記載されている。<br> | ||
+ | ※仕様書のスキーマそのままだと、ComplexTypeとElementで名前衝突が発生し、jaxbでの取り扱いに不都合があった。 | ||
+ | |||
+ | == Server == | ||
+ | デバイスのOS情報やUPNPのバージョン情報。 | ||
+ | == NT == | ||
+ | 検索対象の情報。[[M-SEARCH]]でデバイスを探すための条件に使用できる値。<br> | ||
+ | 形式が3パターンある。 | ||
+ | === upnp:rootdevice === | ||
+ | ルートデバイスの情報であることを示す。 | ||
+ | === uuid:{デバイスのUUID} === | ||
+ | * デバイスのUUID | ||
+ | *: デバイスを一意に検出するためのUUID。 | ||
+ | === urn:schemas-upnp-org:{種別}:{デバイス種別}:{バージョン} === | ||
+ | * 種別 | ||
+ | *: 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。 | ||
+ | * デバイス種別 | ||
+ | *: デバイスの種類。 | ||
+ | * バージョン | ||
+ | *: デバイスがサポートしているバージョン(最大値)。 | ||
+ | === urn:{ドメイン名}:{種別}:{デバイス種別}:{バージョン} === | ||
+ | * ドメイン名 | ||
+ | *: UPNPベンダーにより定義されたドメイン名。 | ||
+ | * 種別 | ||
+ | *: 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。 | ||
+ | * デバイス種別 | ||
+ | *: デバイスの種類。 | ||
+ | * バージョン | ||
+ | *: デバイスがサポートしているバージョン(最大値)。 | ||
+ | == USN == | ||
+ | サービスを一意に特定するための名前。<br> | ||
+ | 以下の3種類の書式が存在する。 | ||
+ | === uuid:{デバイスUUID}::upnp:rootdevice === | ||
+ | * デバイスUUID | ||
+ | *: デバイスを識別するためのUUID | ||
+ | === uuid:デバイスUUID === | ||
+ | * デバイスUUID | ||
+ | *: デバイスを識別するためのUUID | ||
+ | === uuid:{デバイスUUID}::urn:schemas-upnp-org:{種別}:{デバイス種別}:{バージョン} === | ||
+ | * デバイスUUID | ||
+ | *: デバイスを識別するためのUUID | ||
+ | * 種別 | ||
+ | *: 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。 | ||
+ | * デバイス種別 | ||
+ | *: デバイスの種類。 | ||
+ | * バージョン | ||
+ | *: デバイスがサポートしているバージョン(最大値)。 | ||
+ | === uuid:{デバイスUUID}::urn:{ドメイン名}:{種別}:{デバイス種別}:{バージョン} === | ||
+ | * ドメイン名 | ||
+ | *: UPNPベンダーにより定義されたドメイン名。 | ||
+ | * デバイスUUID | ||
+ | *: デバイスを識別するためのUUID | ||
+ | * 種別 | ||
+ | *: 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。 | ||
+ | * デバイス種別 | ||
+ | *: デバイスの種類。 | ||
+ | * バージョン | ||
+ | *: デバイスがサポートしているバージョン(最大値)。 | ||
+ | == NTS == | ||
+ | デバイスの状態。<br> | ||
+ | * ssdp:alive | ||
+ | *: デバイスが生存している。 | ||
+ | * ssdp:byebye | ||
+ | *: デバイスがネットワークから離脱するときに送信してくる。 |
2015年4月8日 (水) 13:34時点における最新版
M-SEARCHに対する応答。
UPNPデバイスはNOTIFYをブロードキャストグループに送信し、存在を告知してくる。
受信場所
IPv4
- アドレス
- 239.255.255.250
- ポート番号
- 1900
IPv6
- アドレス
- FF02::C
- ポート番号
- 1900
書式
以下の書式で送られてくる。
改行コードは「\r\n」固定。項目は複数かえってくる。
可変部分は{内容}の形式で記述している。
NOTIFY * HTTP/1.1 {項目名}:{値}
以下に主な項目名の説明を記述する。
Cache-Control
NOTIFYの有効期限が以下の形式で返送される。
max-age={秒}
Location
デバイスのDescription URL。
ここに記載されたURLにアクセスすることでデバイスを制御するための情報を得ることができる。
DescriptionのXMLスキーマはUPNPフォーラムの仕様書に「UPnP Device Schema」として記載されている。
※仕様書のスキーマそのままだと、ComplexTypeとElementで名前衝突が発生し、jaxbでの取り扱いに不都合があった。
Server
デバイスのOS情報やUPNPのバージョン情報。
NT
検索対象の情報。M-SEARCHでデバイスを探すための条件に使用できる値。
形式が3パターンある。
upnp:rootdevice
ルートデバイスの情報であることを示す。
uuid:{デバイスのUUID}
- デバイスのUUID
- デバイスを一意に検出するためのUUID。
urn:schemas-upnp-org:{種別}:{デバイス種別}:{バージョン}
- 種別
- 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。
- デバイス種別
- デバイスの種類。
- バージョン
- デバイスがサポートしているバージョン(最大値)。
urn:{ドメイン名}:{種別}:{デバイス種別}:{バージョン}
- ドメイン名
- UPNPベンダーにより定義されたドメイン名。
- 種別
- 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。
- デバイス種別
- デバイスの種類。
- バージョン
- デバイスがサポートしているバージョン(最大値)。
USN
サービスを一意に特定するための名前。
以下の3種類の書式が存在する。
uuid:{デバイスUUID}::upnp:rootdevice
- デバイスUUID
- デバイスを識別するためのUUID
uuid:デバイスUUID
- デバイスUUID
- デバイスを識別するためのUUID
uuid:{デバイスUUID}::urn:schemas-upnp-org:{種別}:{デバイス種別}:{バージョン}
- デバイスUUID
- デバイスを識別するためのUUID
- 種別
- 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。
- デバイス種別
- デバイスの種類。
- バージョン
- デバイスがサポートしているバージョン(最大値)。
uuid:{デバイスUUID}::urn:{ドメイン名}:{種別}:{デバイス種別}:{バージョン}
- ドメイン名
- UPNPベンダーにより定義されたドメイン名。
- デバイスUUID
- デバイスを識別するためのUUID
- 種別
- 「device」「service」のいずれかがセットされている。デバイス、サービスの判別に使用。
- デバイス種別
- デバイスの種類。
- バージョン
- デバイスがサポートしているバージョン(最大値)。
NTS
デバイスの状態。
- ssdp:alive
- デバイスが生存している。
- ssdp:byebye
- デバイスがネットワークから離脱するときに送信してくる。