GENA (General Event Notification Architecture) RTLAB 이 남 지 2003/01/08
Agenda What is GENA? Protocol Stack GENA HTTP Methods Event Sequence
What is GENA? Send and receive notifications using HTTP over TCP/IP and administratively- scoped multicast UDP Main component Publisher and Subscriber
Protocol Stack UPnP vendor UPnP Forum UPnP Device Architecture HTTP GENA TCP IP UPnP vendor UPnP Forum UPnP Device Architecture HTTPMU (multicast) GENASSDP HTTPMU (multicast) UDP IP DiscoveryEvent
GENA HTTP Methods SUBSCRIBE to notification UNSUBSCRIBE NOTIFY Of device availability (discovery) Of state variable changes
Event Sequence - SUBSCRIBE Subscription request SUBSCRIBE /upnp/event/tvpicture1 HTTP/1.1 HOST: :5431 CALLBACK: NT: upnp:event TIMEOUT: Second-1800 Root device Service (publisher) C.P. (subscriber) Subscription(uuid:…) HTTP/ OK DATE: Fri, 03 Jan :04:59 GMT SERVER: Linux/ UPnP/1.0 Intel UPnP SDK/1.0 SID: uuid:dafba47f b23-8a52-b463e77a4454 TIMEOUT: Second-1800
Event Sequence - NOTIFY NOTIFY / HTTP/1.1 HOST: :5432 CONTENT-TYPE: text/xml CONTENT-LENGTH: 214 NT: upnp:event NTS: upnp:propchange SID: uuid:b4bec b-41f ccfb8b75ac5 SEQ: Event message HTTP/ OK response Root device Service (publisher) C.P. (subscriber)
Event Sequence – Renewing Subscription Root device Service (publisher) C.P. (subscriber) Renewal request(uuid:…) SUBSCRIBE publisher path HTTP/1.1 HOST: publisher host:publisher port SID: uuid:subscription UUID TIMEOUT: Second-requested subscription duration Subscription(uuid:…) HTTP/ OK DATE: Fri, 03 Jan :04:59 GMT SERVER: Linux/ UPnP/1.0 Intel UPnP SDK/1.0 SID: uuid:dafba47f b23-8a52-b463e77a4454 TIMEOUT: Second-1800
Event Sequence - UNSUBSCRIBE Root device Service (publisher) C.P. (subscriber) Unsubscription request UNSUBSCRIBE /upnp/event/tvcontrol1 HTTP/1.1 HOST: :5431 SID: uuid:b4bec b-41f ccfb8b75ac5 Unsubscription(uuid:…) HTTP/ OK
Root Device serviceDevice Service NTUSN * 1root device UUID 2 device type : device version root device UUID and :: and device type : device version 3upnp:rootdevice root device UUID and :: and upnp:rootdevice Two discovery messages for each embedded device. NTUSN * 1 embedded device UUID 2 device type : device version embedded device UUID and :: and device type : device version Once for each service. NTUSN * 1 service type : service version enclosing device UUID and :: and service type : service version Three discovery messages for the root device.
Advertisement device - alive NOTIFY * HTTP/1.1 HOST: :1900 CACHE-CONTROL: max-age=1800 LOCATION: NT: upnp:rootdevice NTS: ssdp:alive SERVER: Linux/ UPnP/1.0 Intel UPnP SDK/1.0 USN: uuid:Upnp-TVEmulator-1_ ::upnp:rootdevice NOTIFY * HTTP/1.1 HOST: :1900 CACHE-CONTROL: max-age=1800 LOCATION: NT: uuid:Upnp-TVEmulator-1_ NTS: ssdp:alive SERVER: Linux/ UPnP/1.0 Intel UPnP SDK/1.0 USN: uuid:Upnp-TVEmulator-1_ NOTIFY * HTTP/1.1 HOST: :1900 CACHE-CONTROL: max-age=1800 LOCATION: NT: urn:schemas-upnp-org:device:tvdevice:1 NTS: ssdp:alive SERVER: Linux/ UPnP/1.0 Intel UPnP SDK/1.0 USN: uuid:Upnp-TVEmulator-1_ ::urn:schemas-upnp-org:device:tvdevice:1