Remote Experience Advertisement Protocol
Total Page:16
File Type:pdf, Size:1020Kb
[MS-RXAD]: Remote Experience Advertisement Protocol
Intellectual Property Rights Notice for Open Specifications Documentation § Technical Documentation. Microsoft publishes Open Specifications documentation (“this documentation”) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions. § Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation. § No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. § Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected]. § License Programs. To see all of the protocols in scope under a specific license program and the associated patents, visit the Patent Map. § Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks. § Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.
1 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise. Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it. Support. For questions and support, please contact [email protected].
2 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Revision Summary Revision Revision Date History Class Comments
11/6/2009 0.1 Major First Release.
12/18/2009 0.1.1 Editorial Changed language and formatting in the technical content.
1/29/2010 0.2 Minor Clarified the meaning of the technical content.
3/12/2010 0.2.1 Editorial Changed language and formatting in the technical content.
4/23/2010 0.2.2 Editorial Changed language and formatting in the technical content.
6/4/2010 0.2.3 Editorial Changed language and formatting in the technical content.
No changes to the meaning, language, or formatting of the 7/16/2010 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 8/27/2010 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 10/8/2010 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 11/19/2010 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 1/7/2011 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 2/11/2011 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 3/25/2011 0.2.3 None technical content.
No changes to the meaning, language, or formatting of the 5/6/2011 0.2.3 None technical content.
6/17/2011 0.3 Minor Clarified the meaning of the technical content.
No changes to the meaning, language, or formatting of the 9/23/2011 0.3 None technical content.
12/16/2011 1.0 Major Updated and revised the technical content.
No changes to the meaning, language, or formatting of the 3/30/2012 1.0 None technical content.
No changes to the meaning, language, or formatting of the 7/12/2012 1.0 None technical content.
No changes to the meaning, language, or formatting of the 10/25/2012 1.0 None technical content.
No changes to the meaning, language, or formatting of the 1/31/2013 1.0 None technical content.
8/8/2013 2.0 Major Updated and revised the technical content.
11/14/2013 3.0 Major Updated and revised the technical content.
No changes to the meaning, language, or formatting of the 2/13/2014 3.0 None technical content.
No changes to the meaning, language, or formatting of the 5/15/2014 3.0 None technical content.
No changes to the meaning, language, or formatting of the 6/30/2015 3.0 None technical content.
No changes to the meaning, language, or formatting of the 10/16/2015 3.0 None technical content.
7/14/2016 3.0 None No changes to the meaning, language, or formatting of the
3 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Revision Revision Date History Class Comments
technical content.
No changes to the meaning, language, or formatting of the 6/1/2017 3.0 None technical content.
4 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Table of Contents
5 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 1 Introduction This document specifies the Remote Experience Advertisement Protocol. The Remote Experience Advertisement Protocol enables a Universal Plug and Play (UPnP) service implemented by a device to be used by the client to advertise available remote experience information to that device. This information specifies the type of experience, how to initiate the connection, and provides a host ID and host certificate along with other information. This protocol is compliant with UPnP architecture and is implemented as an UPnP service [UPNPARCH1]. Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in this specification are informative.
1.1 Glossary This document uses the following terms: certificate: A certificate is a collection of attributes and extensions that can be stored persistently. The set of attributes in a certificate can vary depending on the intended usage of the certificate. A certificate securely binds a public key to the entity that holds the corresponding private key. A certificate is commonly used for authentication and secure exchange of information on open networks, such as the Internet, extranets, and intranets. Certificates are digitally signed by the issuing certification authority (CA) and can be issued for a user, a computer, or a service. The most widely accepted format for certificates is defined by the ITU-T X.509 version 3 international standards. For more information about attributes and extensions, see [RFC3280] and [X509] sections 7 and 8. control point: A control point retrieves device and service descriptions, sends actions to services, polls for service state variables, and receives events from services. service description: The UPnP description for a service defines actions and their arguments, and state variables and their data type, range, and event characteristics. service ID: The service ID suffix defined by an UPnP Forum working committee or specified by an UPnP vendor must be less than 64 characters. This should be a Single URI. service or UPnP service: A set of rules that is required to be published by the device and advertised when the device is turned on all the available control points. service type: Service type refers to the name of a particular service that is implemented on the device. SOAP action: The HTTP request header field used to indicate the intent of the SOAP request, using a URI value. See [SOAP1.1] section 6.1.1 for more information.
6 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 SOAP body: A container for the payload data being delivered by a SOAP message to its recipient. See [SOAP1.2-1/2007] section 5.3 for more information. SOAP message: An XML document consisting of a mandatory SOAP envelope, an optional SOAP header, and a mandatory SOAP body. See [SOAP1.2-1/2007] section 5 for more information. XML: The Extensible Markup Language, as described in [XML1.0]. XML namespace: A collection of names that is used to identify elements, types, and attributes in XML documents identified in a URI reference [RFC3986]. A combination of XML namespace and local name allows XML documents to use elements, types, and attributes that have the same names but come from different sources. For more information, see [XMLNS-2ED]. XML schema: A description of a type of XML document that is typically expressed in terms of constraints on the structure and content of documents of that type, in addition to the basic syntax constraints that are imposed by XML itself. An XML schema provides a view of a document type at a relatively high level of abstraction. MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.
1.2 References Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata.
1.2.1 Normative References We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact [email protected]. We will assist you in finding the relevant information. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, http://www.rfc- editor.org/rfc/rfc2119.txt
[SOAP1.1] Box, D., Ehnebuske, D., Kakivaya, G., et al., "Simple Object Access Protocol (SOAP) 1.1", W3C Note, May 2000, http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
[UPNPARCH1] UPnP Forum, "UPnP Device Architecture 1.0", October 2008, http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0.pdf
7 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 [XMLNS] Bray, T., Hollander, D., Layman, A., et al., Eds., "Namespaces in XML 1.0 (Third Edition)", W3C Recommendation, December 2009, http://www.w3.org/TR/2009/REC-xml-names-20091208/
[XMLSCHEMA1] Thompson, H., Beech, D., Maloney, M., and Mendelsohn, N., Eds., "XML Schema Part 1: Structures", W3C Recommendation, May 2001, http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/
[XMLSCHEMA2] Biron, P.V., Ed. and Malhotra, A., Ed., "XML Schema Part 2: Datatypes", W3C Recommendation, May 2001, http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/
1.2.2 Informative References None.
1.3 Overview The Remote Experience Advertisement Protocol is used for advertising experiences available at a host PC to a specific UPnP device. It is used for providing data required by the UPnP device to connect to the advertised experience. In addition to advertising, it can also revoke a previously advertised experience by announcing that an experience is currently unavailable. This protocol is a SOAP-based protocol that uses HTTP 1.1 as its transport. The Remote Experience Advertisement Protocol provides for three actions: AcquireNonce, Advertise, and Inhibit. The AcquireNonce action provides the Nonce and signing information; this information is later used by the Advertise and Inhibit actions. As specified in [UPNPARCH1] section 3.1.1, each action of the protocol results in a pair of SOAP request and response messages in the network. The following diagram illustrates a flow of Remote Experience Advertisement Protocol messages exchanged between the device and the control point, when the Advertise action is achieved successfully.
8 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Figure 1: Protocol message sequence diagram (Advertise action)
The following diagram illustrates a flow of Remote Experience Advertisement Protocol messages exchanged between the device and the control point, when the previously advertised action is canceled successfully.
9 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Figure 2: Protocol message sequence diagram (Inhibit action)
1.4 Relationship to Other Protocols The Remote Experience Advertisement Protocol uses SOAP over HTTP as shown in the following layering diagram:
10 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 Figure 3: Protocol layering diagram
1.5 Prerequisites/Preconditions The Remote Experience Advertisement Protocol requires the support of an UPnP stack [UPNPARCH1] on the device and the control point. Therefore, before the protocol is put into action, the device performs all of the prior UPnP steps, including the discovery of the device, device description, and the publication of the service description as specified in [UPNPARCH1]. Appendix B shows the UPnP service information of the protocol to be included in the device description. The service type of the protocol is "msremotedexperience", the version number is as specified in section 1.7 of this document, and the service ID is "MSRX". Appendix C shows the full UPnP service description of this protocol. The protocol server endpoint is formed by appending "/_vti_bin/pptws.asmx".
1.6 Applicability Statement The Remote Experience Advertisement Protocol is used to describe the available experience to the device from the PC which can also include information such as how to initiate a connection and provide a host ID and host certificate along with other useful information.
1.7 Versioning and Capability Negotiation This document specifies Remote Experience Advertisement Protocol version 1. The version number is included where Remote Experience Advertisement Protocol service information is presented in the device description as specified in [UPNPARCH1] section 2.3. See section 1.5 for more details.
1.8 Vendor-Extensible Fields There are no vendor-extensible fields other than what is specified in [UPNPARCH1].
11 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 1.9 Standards Assignments There are no standards assignments other than what is specified in [UPNPARCH1].
12 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 2 Messages
2.1 Transport The Remote Experience Advertisement Protocol does not specify a transport protocol beyond what is specified by [UPNPARCH1].
2.2 Common Message Syntax This section contains common definitions used by this protocol. The syntax of the definitions uses XML schema as defined in [XMLSCHEMA1] and [XMLSCHEMA2].
2.2.1 Namespaces This specification defines and references various XML namespaces using the mechanisms specified in [XMLNS]. Although this specification associates a specific XML namespace prefix for each XML namespace that is used, the choice of any particular XML namespace prefix is implementation-specific and not significant for interoperability. Prefix Namespace URI Reference msrx urn:schemas-microsoft-com:service:msremotedexperience:1 [MS-RXAD] dt urn:schemas-microsoft-com:datatypes [MS-RXAD] soapenv http://schemas.xmlsoap.org/soap/envelope/ [SOAP1.1] encodingStyle http://schemas.xmlsoap.org/soap/encoding/ [SOAP1.1] xsd http://www.w3.org/2001/XMLSchema [XMLSCHEMA1]
2.2.2 Messages The Remote Experience Advertisement Protocol provides three actions: the AcquireNonce, Advertise, and Inhibit actions. The request and response messages for each Remote Experience Advertisement Protocol action MUST be expressed in XML using the SOAP 1.1 UPnP profile as specified in [UPNPARCH1] section 3.1.1. The details of each action can be found in section 3.1.4 of this document.
2.2.3 Elements
Element Description
HostID A GUID used to identify a control point that provides remote experiences on the network.
Nonce A Nonce is generated by the UPnP device, and returned to the control point.
2.2.4 Complex Types None.
2.2.5 Simple Types None.
13 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 2.2.6 Attributes None.
2.2.7 Groups None.
2.2.8 Attribute Groups None.
14 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 3 Protocol Details
3.1 Server Details
3.1.1 Abstract Data Model Upon each action, the control point sends the request message to the device, and the device returns a response or error message to the control point [UPNPARCH1]. There are five states in the Remote Experience Advertisement Protocol: 1. Initial state 2. Host Nonce not set and Host not Advertised 3. Host Nonce set and Host not Advertised 4. Host Nonce not set and Host Advertised 5. Final state In its Initial state, the control point is in the Host Nonce not set and Host not Advertised state. The AcquireNonce action transitions the control point into the Host Nonce set and Host not Advertised state. At this point the host PC is ready to send an Advertise action if the remoted experience is available. In case the remote experience is not available, the host PC can send an Inhibit action, by informing the device when such an experience will be available. Upon an Advertise action, the device enters the Host Nonce not set and Host Advertised state. If the control point is required to cancel the advertisement, then it can send an Inhibit action changing the state to Host Nonce set and Host not Advertised. The same Inhibit action can change the state to the Final state. The following diagram provides an overview of the state machine.
Figure 4: Host State Machine
15 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 3.1.2 Timers The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1].
3.1.3 Initialization The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1].
3.1.4 Message Processing Events and Sequencing Rules
3.1.4.1 AcquireNonce Action A control point MUST attach an
3.1.4.1.1 Messages
3.1.4.1.1.1 AcquireNonce Message The HTTP header MUST specify SOAPACTION as follows for an AcquireNonce message: SOAPACTION: "urn:schemas-microsoft- com:service:msremotedexperience:1#AcquireNonce" "urn:schemas-microsoft-com:service:msremotedexperience:1" is the service type as specified in device description in Appendix B. "AcquireNonce" is the SOAP action. The following XML session shows an
4 5 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 6 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 7 8 9 10 11 A GUID used to identify a control point that provides remote experiences on the network 12 13 14 16 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 15 16 soapenv:Envelope> 17 17.1.1.1.1.1 AcquireNonce Response Message The server MUST reply with a SOAP response message named 18 19 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 20 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 21 22 23 24 25 26 27 28 28.1.1.1.1 Elements 28.1.1.1.1.1 AttachCertificate The 29 17 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 30 30.1.1.1.1.1 HostID The 31 32 32.1.1.1.1.1 Nonce The 33 34 34.1.1.1.1.1 SupportedSignatureAlgorithms The 35 36 36.1.1.1.1 Complex Types None. 36.1.1.1.2 Simple Types None. 36.1.1.1.3 Attributes None. 36.1.1.1.4 Groups None. 36.1.1.1.5 Attribute Groups None. 18 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 36.1.1.1.6 Timer Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 36.1.1.1.7 Other Local Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 36.1.1.2 Advertise Action A client MUST attach an 36.1.1.2.1 Messages 36.1.1.2.1.1 Advertise Message The HTTP header MUST specify the SOAPACTION header, as specified in [UPNPARCH1], as follows for the Advertise message: SOAPACTION: "urn:schemas-microsoft- com:service:msremotedexperience:1#Advertise" "urn:schemas-microsoft-com:service:msremotedexperience:1" is service type which comes from the device description as specified in Appendix B. "Advertise" is the soap action. The following XML shows an 37 38 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 39 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 40 41 42 43 44 45 Nonce ID 46 19 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 47 48 HostId 49 50 51 ApplicationId 52 53 54 ApplicationVersion number 55 56 57 ApplicationData payload 58 59 60 HostFriendlyName payload 61 62 63 ExperienceFriendlyName payload 64 65 66 ExperienceIconUri payload 67 68 69 ExperienceEndpointUri 70 71 72 ExperienceEndPointData payload 73 20 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 74 75 SignatureAlgorithm payload 76 77 78 Signature payload 79 80 81 HostCertificate payload 82 83 84 85 86 86.1.1.1.1.1 Advertise Response Message The server MUST reply with a SOAP response message named 87 88 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 89 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 90 91 92 93 94 94.1.1.1.1 Elements 94.1.1.1.1.1 ApplicationData 21 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 ApplicationData is the element of type string under an 95 96 96.1.1.1.1.1 ApplicationID ApplicationID is a GUID element of type string under an 97 98 98.1.1.1.1.1 ApplicationVersion ApplicationVersion is an element of type string under an 99 100 100.1.1.1.1.1ExperienceEndpointData ExperienceEndpointData is an element of type string under an 101 102 102.1.1.1.1.1ExperienceEndpointUri ExperienceEndpointUri is an element of type string under an 103 104 104.1.1.1.1.1ExperienceFriendlyName 22 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 ExperienceFriendlyName is an element of type string under an 105 106 106.1.1.1.1.1ExperienceIconUri ExperienceIconUri is an element of type string under an 107 108 108.1.1.1.1.1HostCertificate HostCertificate is an element of type string under an 109 110 110.1.1.1.1.1HostID HostID is an element of type string under an 111 112 112.1.1.1.1.1Nonce Nonce is an element that contains a 4-byte unsigned integer under an 113 114 114.1.1.1.1.1Signature Signature allows the UPnP device to authenticate an 23 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 the HostCertificate parameters. The algorithm used MUST be the same algorithm supplied in the SignatureAlgorithm parameter. 115 116 116.1.1.1.1.1SignatureAlgorithm SignatureAlgorithm is an element of type string under an 117 118 118.1.1.1.1 Complex Types None. 118.1.1.1.2 Simple Types None. 118.1.1.1.3 Attributes None. 118.1.1.1.4 Groups None. 118.1.1.1.5 Attribute Groups None. 118.1.1.1.6 Timer Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 118.1.1.1.7 Other Local Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 118.1.1.2 Inhibit Action A control point attaches an 24 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 118.1.1.2.1 Messages 118.1.1.2.1.1Inhibit Message The HTTP header MUST specify SOAPACTION as follows for an Inhibit message: SOAPACTION: "urn:schemas-microsoft- com:service:msremotedexperience:1#Inhibit" "urn:schemas-microsoft-com:service:msremotedexperience:1" is the service type as specified in device description in 119 120 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 121 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 122 123 124 125 126 127 Nonce ID 128 129 HostId payload 130 131 132 ApplicationId payload 133 134 ApplicationVersion number 135 136 137 ApplicationData payload 138 139 25 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 140 ReasonCode for Inhibit 141 142 143 ReasonMessage for Inhibit 144 145 146 SignatureAlgorithm payload 147 148 149 Signature payload 150 151 152 HostCertificate payload 153 154 155 156 157 157.1.1.1.1.1Inhibit Response Message The server MUST reply with a SOAP response message named 158 159 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 160 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 161 162 163 26 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 164 165 165.1.1.1.1 Elements 165.1.1.1.1.1ApplicationData ApplicationData is the element of type string under an 166 167 167.1.1.1.1.1ApplicationID ApplicationID is a GUID element of type string under an 168 169 169.1.1.1.1.1ApplicationVersion ApplicationVersion is an element of type string under an 170 171 171.1.1.1.1.1HostCertificate HostCertificate is an element of type string under an 172 173 173.1.1.1.1.1HostID HostID is an element of type string under an 27 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 174 175 175.1.1.1.1.1Nonce The Nonce element contains a 4-byte unsigned integer under 176 177 177.1.1.1.1.1ReasonCode ReasonCode is an element of type 4-byte unsigned integer under an 178 179 179.1.1.1.1.1ReasonMessage ReasonMessage is an element of type string under an 180 181 181.1.1.1.1.1Signature The Signature element allows the UPnP device to authenticate an 182 183 183.1.1.1.1.1SignatureAlgorithm SignatureAlgorithm is an element of type string under an 28 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 184 185 185.1.1.1.1 Complex Types None. 185.1.1.1.2 Simple Types None. 185.1.1.1.3 Attributes None. 185.1.1.1.4 Groups None. 185.1.1.1.5 Attribute Groups 185.1.1.1.6 Timer Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 185.1.1.1.7 Other Local Events The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 185.2 Client Details The device returns a response or error message to the control point. The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 29 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 186 Protocol Examples In this section a complete message exchange is shown between the server and client consisting of following messages. 186.1 AcquireNonce Message The control point sends a POST method in the following format to the device to invoke 187 188 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 189 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 190 < soapenv:Body> 191 192 193 uuid:0b8f6d8f-a1a0-4be2-b5b0-d7b49de0cf6c 194 195 196 soapenv:Body> 197 soapenv:Envelope> 197.1 AcquireNonce Response Message The service invokes the action and responds within 30 seconds in the form of a 198 199 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 200 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 201 202 203 204 205 206 30 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 207 208 209 209.1 Advertise Message The control point gets information from the 210 211 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 212 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 213 214 215 216 1391218849 217 218 219 uuid:0b8f6d8f-a1a0-4be2-b5b0-d7b49de0cf6c 220 221 222 uuid:f1c65f7a-c321-413d-9801-4194ebf29308 223 224 225 pc3.0.0 226 227 228 version=dv1.5.0,dv2.0.0;wolmac=001FC65F88DD; 229 31 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 230 231 232 233 Windows® 7 234 235 236 237 238 xsp://192.168.0.140:3390/ 239 240 241 user=Mcx2-PPATHAN-TEST;passwordlength=20;encryptedpassword=Y0F7Mczi… 242 243 244 rSASSA-PSS-Default-Identifier 245 246 247 KegL+aHl+SyVUZgCrTPJZ28FfhB/iS8XVi6ji2rVkr6WGv2U5hyxgmkB+rdVLEe1pNWD… 248 249 250 AAABAANiMIIDXjCCAkagAwIBAgIQE5KP0u8h/J9KFqxEKBZLNjANBgkqhkiG9w0BAQU… 251 252 253 254 254.1 Advertise Response Message The device returns an HTTP:response for the 32 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 255 256 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 257 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 258 259 260 261 262 262.1 Inhibit Message The following Inhibit message informs the UPnP device that a remote experience is unavailable. 263 264 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 265 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 266 267 268 269 1391218849 270 271 272 uuid:0b8f6d8f-a1a0-4be2-b5b0-d7b49de0cf6c 273 274 275 uuid:f1c65f7a-c321-413d-9801-4194ebf29308 276 277 278 pc3.0.0 279 33 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 280 281 version=dv1.5.0,dv2.0.0;wolmac=001FC65F88DD; 282 283 284 285 286 287 288 rSASSA-PSS-Default-Identifier 289 290 291 KegL+aHl+SyVUZgCrTPJZ28FfhB/iS8XVi6ji2rVkr6WGv2U5hyxgmkB+rdVLEe1pNWD… 292 293 294 AAABAANiMIIDXjCCAkagAwIBAgIQE5KP0u8h/J9KFqxEKBZLNjANBgkqhkiG9w0BAQU… 295 296 297 298 298.1 Inhibit Response Message The response to inhibit message is as follows. 299 300 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 301 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 302 303 304 305 34 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 306 35 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 307 Security 307.1 Security Considerations for Implementers The Remote Experience Advertisement Protocol does not specify anything beyond what is specified by [UPNPARCH1]. 307.2 Index of Security Parameters None. 36 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 308 Appendix A: Full WSDL There is no WSDL for this protocol. For UPnP the equivalent to WSDL is the UPnP device and service descriptions as detailed in Appendix B and C respectively. 37 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 309 Appendix B: UPnP Device Description The following is a sample service information of the Remote Experience Advertisement Protocol that a device description should include as a part of the device's service list. The default namespace "urn:schemas-upnp-org:device-1-0" is as specified in [UPNPARCH1] sections 2.1 and 2.6. 310 311 312 313 xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11"> 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 38 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 39 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 40 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 41 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 42 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 445 Appendix C: A Full UPnP Service Description The following is a sample service description of the Remote Experience Advertisement Protocol that the device is required to publish before the protocol takes action as a part of the prerequisite, as specified in section 1.5. The default namespace "urn:schemas-upnp-org:service-1-0" is as specified in [UPNPARCH1] sections 2.3 and 2.7. 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 43 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 44 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 45 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 46 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 47 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 48 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 49 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 645 646 647 648 649 650 651 652 653 654 655 50 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 656 Appendix D: Product Behavior The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include released service packs. § Windows Vista operating system § Windows 7 operating system § Windows 8 operating system § Windows 8.1 operating system Exceptions, if any, are noted below. If a service pack or Quick Fix Engineering (QFE) number appears with the product version, behavior changed in that service pack or QFE. The new behavior also applies to subsequent service packs of the product unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition. Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription. 51 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 657 Change Tracking No table of changes is available. The document is either new or has had no changes since its last release. Index A server 15 Introduction 7 Abstract data model 14 server 14 AcquireNonce M action 15 example 26 Messages AcquireNonceResponse example 26 AcquireNonce action 15 Advertise Advertise action 17 action 17 attribute groups 13 example 26 attributes 13 AdvertiseResponse example 27 complex types 12 Applicability 11 elements 12 Attribute groups 13 enumerated 12 Attributes 13 groups 13 Inhibit action 21 C namespaces 12 simple types 12 syntax 12 Capability negotiation 11 transport 12 Change tracking 39 Complex types 12 N D Namespaces 12 Normative references 8 Data model - abstract 14 server 14 O E Operations AcquireNonce Action 15 Examples Advertise Action 17 AcquireNonce 26 Inhibit Action 21 AcquireNonceResponse 26 Overview (synopsis) 8 Advertise 26 AdvertiseResponse 27 Inhibit 27 P InhibitResponse 28 overview 26 Parameters - security index 29 Preconditions 11 F Prerequisites 11 Product behavior 38 Fields - vendor-extensible 11 Full WSDL 30 R G References 8 informative 8 normative 8 Glossary 7 Relationship to other protocols 10 Groups 13 I S Security Implementer - security considerations 29 implementer considerations 29 Index of security parameters 29 parameter index 29 Informative references 8 Server Inhibit abstract data model 14 action 21 AcquireNonce Action operation 15 example 27 Advertise Action operation 17 InhibitResponse example 28 Inhibit Action operation 21 Initialization 15 52 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017 initialization 15 timers 15 U Simple types 12 Standards assignments 11 UPnP Syntax device description 31 messages - overview 12 service description 34 Syntax - messages - overview 12 T V Vendor-extensible fields 11 Timers 15 Versioning 11 server 15 Tracking changes 39 Transport 12 W Types complex 12 WSDL 30 simple 12 53 / 53 [MS-RXAD] - v20170601 Remote Experience Advertisement Protocol Copyright © 2017 Microsoft Corporation Release: June 1, 2017