NOTIFY * HTTP/1.1\r\n M-SEARCH * HTTP/1.1\r\n HTTP/1.1 200 OK\r\n
field-name = token “.” domain-name Example vendor-defined SSDP header fields: myheader.philips.com: “some value” myheader.sony.com: “other value”
[local administrative scope]
)
uPnP (Universal Plug and Play) Vendor |
uPnP (Universal Plug and Play) Forum |
uPnP (Universal Plug and Play) Device Architecture |
SSDP |
UDP |
IP |
M-SEARCH * HTTP/1.1\r\n HOST: 239.255.255.250:1900\r\n MAN: "ssdp:discover"\r\n MX: <호스트로부터 응답에 응할수 있는 초단위의 최대 시간을 지정합니다. 일반적으로 3초 이상을 권장합니다.>\r\n ST: <검색에 대응하는 서비스를 URN형식으로 지정합니다.>\r\n USER-AGENT: <OS>/<version> UPnP/1.1 <product>/<version>\r\n \r\n
ssdp:all Search for all devices and services. upnp:rootdevice Search for root devices only. uuid:device-UUID Search for a particular device. device-UUID specified by UPnP vendor. See section 1.1.4, “UUID format and RECOMMENDED generation algorithms” for the MANDATORY UUID format. urn:schemas-upnp-org:device:deviceType:ver Search for any device of this type where deviceType and ver are defined by the UPnP Forum working committee. urn:schemas-upnp-org:service:serviceType:ver Search for any service of this type where serviceType and ver are defined by the UPnP Forum working committee. urn:domain-name:device:deviceType:ver Search for any device of this type where domain-name (a Vendor Domain Name), deviceType and ver are defined by the UPnP vendor and ver specifies the highest supported version of the device type. Period characters in the Vendor Domain Name MUST be replaced with hyphens in accordance with RFC 2141. urn:domain-name:service:serviceType:ver Search for any service of this type where domain-name (a Vendor Domain Name), serviceType and ver are defined by the UPnP vendor and ver specifies the highest supported version of the service type. Period characters in the Vendor Domain Name MUST be replaced with hyphens in accordance with RFC 2141.
NOTIFY * HTTP/1.1\r\n HOST: 239.255.255.250:1900\r\n CACHE-CONTROL: max-age=120\r\n DATE: Wed, 24 Aug 2016 10:58:00 GMT\r\n LOCATION: http://192.168.13.110:8888/descriptor.xml\r\n SERVER: Linux/2.6.29.6 UPnP/1.1 mzloader/5.0.1.3\r\n NT: urn:schemas-upnp-org:device:MediaServer:1\r\n USN: uuid:2cc2176e-699e-11e6-ef59-ec438b0186a6::urn:schemas-upnp-org:device:MediaServer:1\r\n NTS: ssdp:alive\r\n \r\n
M-SEARCH * HTTP/1.1\r\n HOST: 239.255.255.250:1900\r\n MAN: "ssdp:discover"\r\n MX: 3\r\n ST: ssdp:all\r\n USER-AGENT: Linux/3.0.0 UPnP/1.1 HWPORT-CLIENT/1.0.0\r\n \r\n
HTTP/1.1 200 OK\r\n CACHE-CONTROL: max-age = <호스트의 정보가 유효할수 있는 최대 초단위의 시간이며 172800 보다 크게 지정하도록 한다.>\r\n DATE: <호스트가 응답할때 시점의 시간>\r\n EXT: \r\n LOCATION: <자세한 정보를 제공하는 HTTP접속주소>\r\n SERVER: <OS>/<version> UPnP/1.1 <product>/<version>\r\n ST: <요청받았던 ST내용>\r\n USN: <호스트의 서비스에 대응하는 UUID와 ST의 조합>\r\n \r\n
HTTP/1.1 200 OK\r\n CACHE-CONTROL: max-age=172800\r\n DATE: Wed Jul 15 10:10:00 2014 GMT\r\n EXT: \r\n LOCATION: http://192.168.13.110:80/upnp/descriptor?target=this.xml\r\n SERVER: Linux/3.0.0-r1 UPnP/1.1 HWPORT-DEVICE/1.0.0\r\n ST: upnp:rootdevice\r\n USN: uuid:862c2cba-65a7-11e4-ad55-000c293e0367::upnp:rootdevice\r\n \r\n
<root xmlns="urn:schemas-upnp-org:device-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <URLBase>http://192.168.13.110:8888/</URLBase> <device> <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType> <presentationURL>/</presentationURL> <friendlyName>HWPORT-STB(100006)</friendlyName> <manufacturer>HWPORT DevGroup</manufacturer> <manufacturerURL>http://www.hwport.com/</manufacturerURL> <modelDescription>HWPORT-STB Product</modelDescription> <modelName>HWPORT-STB MODEL</modelName> <modelNumber>HWPORT-STB Series</modelNumber> <modelURL>http://www.hwport.com/</modelURL> <serialNumber>100006</serialNumber> <UDN>uuid:502245a8-698f-11e6-f089-ec438b0186a6</UDN> <serviceList> <!-- Service description ... --> </serviceList> </device> </root>