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 iplg@microsoft.com. § 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 dochelp@microsoft.com.
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 dochelp@microsoft.com. 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
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
197
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