Upnp Device Architecture Version
Total Page:16
File Type:pdf, Size:1020Kb
UPnP Device Architecture 2.0 Document Revision Date: April 17, 2020 PORTIONS OF THIS APPROVED SPECIFICATION WERE COMPLETED PRIOR TO THE COMBINATION OF UPNP INTO THE OPEN CONNECTIVITY FOUNDATION. FOR PORTIONS OF THE SPECIFICATION THAT WERE PUBLISHED ON OR PRIOR TO FEBRUARY 20, 2015 THE FOLLOWING APPLIES: ALL LICENSES, INTELLECTUAL PROPERTY RIGHTS, AND OTHER RIGHTS, RESPONSIBILITIES, OBLIGATIONS, STANDARDS, AND PROTOCOLS ASSOCIATED WITH PORTIONS OF THIS APPROVED SPECIFICATION THAT WERE PUBLISHED ON OR PRIOR TO FEBRUARY 20, 2015 ARE SUBJECT TO THE UPNP BYLAWS AND FORUM MEMBERSHIP AGREEMENT. Legal Disclaimer NOTHING CONTAINED IN THIS DOCUMENT SHALL BE DEEMED AS GRANTING YOU ANY KIND OF LICENSE IN ITS CONTENT, EITHER EXPRESSLY OR IMPLIEDLY, OR TO ANY INTELLECTUAL PROPERTY OWNED OR CONTROLLED BY ANY OF THE AUTHORS OR DEVELOPERS OF THIS DOCUMENT. THE INFORMATION CONTAINED HEREIN IS PROVIDED ON AN "AS IS" BASIS, AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE AUTHORS AND DEVELOPERS OF THIS SPECIFICATION HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, STATUTORY OR AT COMMON LAW, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. OPEN CONNECTIVITY FOUNDATION, INC. FURTHER DISCLAIMS ANY AND ALL WARRANTIES OF NON-INFRINGEMENT, ACCURACY OR LACK OF VIRUSES. The OCF Logo, UPnP Word Mark and UPnP Logo are trademarks of Open Connectivity Foundation, Inc. in the United States or other countries. *Other names and brands may be claimed as the property of others. Copyright © 2016-2020 Open Connectivity Foundation, Inc. All rights reserved. Copying or other form of reproduction and/or distribution of these works are strictly prohibited. — 1 — Authors* Company Andrew Donoho IBM Bryan Roe Intel Maarten Bodlaender Philips John Gildred Pioneer Alan Messer Samsung YoonSoo Kim Samsung Bruce Fairman Sony Jonathan Tourzan Sony *Note: OCF in no way guarantees the accuracy or completeness of this contributor list and in no way implies any rights for or support from those individuals and companies listed above. © 2015 Open Connectivity Foundation, Inc. All Rights Reserved. — 2 — Contributors* Company Alan Presser AllegroSoft Devon Kemp Canon Lee Farrell Canon Wouter van der Beek Cisco William Lupton Conexant Grzegorz Kafel Comarch Shinichi Tsuruyama Epson Shivaun Albright HP John Ritchie Intel Mark Walker Intel Colleen Evans Microsoft Henry Rawas Microsoft Toby Nixon Microsoft Trevor Freeman Microsoft Cathy Chan Nokia Franklin Reynolds Nokia Jose Costa-Requena Nokia Yinghua Ye Nokia Geert Knapen Philips Jarno Guidi Philips Lex Heerink Philips Tom McGee Philips Andrew Fiddian-Green Siemens Markus Wischy Siemens John Fuller Sony Authors of Annex A* Company Chris Grundeman CableLabs Bich Nguyen Cisco Barbara Stark AT&T Clarke Stevens CableLabs © 2015 Open Connectivity Foundation, Inc. All Rights Reserved. — 3 — Authors of Annex C* Company Clarke Stevens Cable Labs Inc Wouter van der Beek Cisco Systems Keith Miller (Chair) Intel Jeffrey Kang TP Vision Mateusz Belicki Comarch Contributors of Annex C* Company Clarke Stevens Cable Labs Inc Wouter van der Beek Cisco Systems Peter Waher Clayster Bich Nguyen GoPro Keith Miller Intel Jeffrey Kang TP Vision Mateusz Belicki Comarch *Note: OCF in no way guarantees the accuracy or completeness of this author list and in no way implies any rights for or support from those individuals and companies listed above. This list is not the specifications’ contributor list. © 2015 Open Connectivity Foundation, Inc. All Rights Reserved. — 4 — CONTENTS Introduction............................................................................................................................. 9 0 Addressing ..................................................................................................................... 15 0.1 Determining whether to use Auto-IP ...................................................................... 16 0.2 Choosing an address ............................................................................................. 16 0.3 Testing the address ............................................................................................... 16 0.4 Forwarding rules ................................................................................................... 17 0.5 Periodic checking for dynamic address availability ................................................ 17 0.6 Device naming and DNS interaction ...................................................................... 17 0.7 Name to IP address resolution............................................................................... 18 0.8 References ............................................................................................................ 18 1 Discovery ....................................................................................................................... 18 1.1 SSDP message format .......................................................................................... 21 1.1.1 SSDP Start-line ......................................................................................... 21 1.1.2 SSDP message header fields .................................................................... 21 1.1.3 SSDP header field extensions ................................................................... 22 1.1.4 UUID format and recommended generation algorithms .............................. 22 1.1.5 SSDP processing rules .............................................................................. 22 1.2 Advertisement ....................................................................................................... 23 1.2.1 Advertisement protocols and standards ..................................................... 23 1.2.2 Device available - NOTIFY with ssdp:alive ................................................. 24 1.2.3 Device unavailable -- NOTIFY with ssdp:byebye ........................................ 31 1.2.4 Device Update – NOTIFY with ssdp:update ............................................... 32 1.3 Search .................................................................................................................. 34 1.3.1 Search protocols and standards ................................................................ 35 1.3.2 Search request with M-SEARCH ................................................................ 35 1.3.3 Search response ....................................................................................... 39 1.4 References ............................................................................................................ 42 2 Description ..................................................................................................................... 42 2.1 Generic requirements on HTTP usage ................................................................... 45 2.2 Generic requirements on XML usage ..................................................................... 48 2.3 Device description ................................................................................................. 48 2.4 UPnP Device Template ......................................................................................... 54 2.5 Service description ................................................................................................ 54 2.5.1 Defining and processing extended data types ............................................ 61 2.5.2 String equivalents of extended data types ................................................. 63 2.5.3 Generic requirements ................................................................................ 64 2.5.4 Ordering of Elements ................................................................................. 64 2.5.5 Versioning ................................................................................................. 64 2.6 UPnP Service Template ........................................................................................ 65 2.7 Non-standard vendor extensions and limitations .................................................... 65 2.7.1 Placement of Additional Elements and Attributes ....................................... 66 2.8 UPnP Device Schema ........................................................................................... 67 2.9 UPnP Service Schema .......................................................................................... 67 © 2015 Open Connectivity Foundation, Inc. All Rights Reserved. — 5 — 2.10 UPnP Datatype Schema ........................................................................................ 67 2.11 Retrieving a description using HTTP ...................................................................... 67 2.12 References ............................................................................................................ 70 3 Control ........................................................................................................................... 71 3.1 Control protocols ................................................................................................... 73 3.1.1 SOAP Profile ............................................................................................. 73 3.2 Actions .................................................................................................................. 77 3.2.1 Action invocation ....................................................................................... 77 3.2.2 Action Response ......................................................................................