Add sample flow for mDNS.
--- a/wi-addendum-local-services/Overview.html Wed Aug 08 17:17:57 2012 +0200
+++ b/wi-addendum-local-services/Overview.html Wed Aug 15 13:28:24 2012 +0900
@@ -151,7 +151,7 @@
stated in this specification. </li>
<li><dfn>mDNS enabled User Agent</dfn>: A <a>mDNS enabled User Agent</a> MUST support Web Intents [[!WEBINTENTS]] and the conformance criteria
stated in this specification. </li>
- <li><dfn>Web Intents enabled mDNS device</dfn>: A <a>Web Intents enabled mDNS device</a> MUST support [[!DNS-SD]] and the conformance criteria
+ <li><dfn>Web Intents enabled mDNS device</dfn>: A <a>Web Intents enabled mDNS device</a> MUST support [[!DNS-SD]], [[!MDNS]] the conformance criteria
stated in this specification. </li>
</ul>
@@ -180,7 +180,7 @@
<dt>DNS-SD</dt>
<dd>This addendum specification is dependent on it, [[!DNS-SD]]. </dd>
<dt>mDNS</dt>
- <dd>This addendum specification assumes the use of it in typical cases but does not dependent on it strictly, [[!MDNS]]. </dd>
+ <dd>This addendum specification is dependent on it, [[!MDNS]]. </dd>
</dl>
</p>
@@ -233,7 +233,7 @@
<section>
- <h4>UPnP Web Intents serviceType</h4>
+ <h4>UPnP Web Intents serviceType</h4>
<p>
The <a>Web Intents enabled UPnP device</a> <em class="rfc2119" title="must">must</em> support one UPnP service which serviceType is the <code>urn:schemas-webintents-org:service:WebIntents:1</code>
@@ -329,9 +329,11 @@
<p>
The sections below describe typical steps using these methods.
- </p>
+ </p>
+
<section class='informative'>
- <h4>Dynamic Service registration based on M-SEARCH</h4>
+ <h4>Dynamic Service registration based on M-SEARCH</h4>
+
<p>
The section describes the discovery process based on standard UPnP M-SEARCH multicast request.
</p>
@@ -523,8 +525,15 @@
</section>
<section>
+ <h3>mDNS enabled User Agent</h3>
+
+ <p>
+ The <a>mDNS enabled User Agent</a> <em class="rfc2119" title="must">must</em> support discovery of <a>Web Intents enabled mDNS device<a>s through mDNS and DNS-SD
+ according to [[!MDNS]], [[!DNS-SD]] and according to the Web Intents specific DNS records defined in this specification, section 5.1.
+ </p>
+
<section class="informative">
- <h3>Sample Records</h3>
+ <h4>Sample Records</h4>
<p>
See below for the example records for Web Intents. A <a>mDNS enabled User Agent</a> looking for devices supporting http://webintents.org/view Web Intents can understand that
@@ -544,7 +553,68 @@
<li>
<code>TV40EX-W2000 120 IN A 192.168.1.47</code>: A host "TV40EX-W2000" is on 192.168.1.47.
</li>
- </ul>
+ </ul>
+
+ <p>
+ When the navigator.startActivity method [[!WEBINTENTS]] is called, the <a>mDNS enabled User Agent</a> runs the following steps:
+ </p>
+
+ <ol class="rule">
+ <li>
+ Send a multicast PTR query of the <code>_webintents._tcp.local</code> in the format specified by [[!MDNS]] and [[!DNS-SD]].
+ <br />
+ </li>
+ <br />
+ <li>
+ For each response, send a unicast TXT query of the webintents service instance in the PTR answer.
+ <br />
+ <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches a TXT answer with the previous answer.
+ </li>
+ <br />
+ <li>
+ For each matching response, i.e. the response TXT record does not have an action parameter or does have an <code>action</code> parameter matching the Action of the invoked intent,
+ send a unicast request with a SRV query of the webintens service instance.
+ <br />
+ <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches a SRV answer with the previous answer.
+ </li>
+ <br />
+ <li>
+ For each response, send a unicast A and/or AAAA query of the host name in the SRV answer.
+ <br />
+ <p>This step can be omitted in case that the Web Intents enabled mDNS device attaches an A and/or AAAA answer with the previous answer.
+ </li>
+ <br />
+ <li>
+ The <a>mDNS enabled User Agent</a> attempts to retrieve the Web Intents document from the discovered <a>Web Intents enabled mDNS device</a>.
+ The destination URL consists of an IP address in the A or AAAA answer, a port number in the SRV record and an absolute path in the <code>location</code> parameter of the TXT record.
+ <br /> <br />
+ If the <a>mDNS enabled User Agent</a> fails to retrieve the Web Intents document it silently disregards the received response.
+ <br /> <br />
+ If the <code>action</code> parameter is present and does not match the <code>action</code> attributes of the Services registered in the retrieved Web Intents
+ document the <a>mDNS enabled User Agent</a> silently disregards the the received response.
+ <br /> <br />
+ Note that following steps are identical to those of UPnP described in 4.2.
+ </li>
+ <br />
+ <li>
+ It is expected that the Web Intents document contains registration markup and the <a>mDNS enabled User Agent</a> interprets this
+ registration markup according to the rules for registration defined by [[!WEBINTENTS]] and register the Services accordingly.
+ </li>
+ <br />
+ <li>
+ The <a>mDNS enabled User Agent</a> makes each dynamically registered Service, that matches the Action of the invoked intent, available for selection
+ by the user, typically by making them visible and selectable in a Web Intents Service picker.
+ </li>
+ <br />
+ <li>
+ Based on user selection of a dynamically registered Service the <a>mDNS enabled User Agent</a> loads the
+ Service handler code as defined by the <code>href</code> attribute in the registration markup for this Service according to the rules for
+ loading Service pages defined in [[!WEBINTENTS]].
+ </li>
+
+ </ol>
+
+
</section>
</section>
</section>