mirror of
https://github.com/moparisthebest/xeps
synced 2024-08-13 16:53:48 -04:00
Updated contact information and example JIDs
New contact information has been provided, and example JIDs are updated to point to example.org.
This commit is contained in:
parent
59e523a57c
commit
b01bdca7cc
23
xep-0322.xml
23
xep-0322.xml
@ -26,13 +26,7 @@
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>exi</shortname>
|
||||
<author>
|
||||
<firstname>Peter</firstname>
|
||||
<surname>Waher</surname>
|
||||
<email>peter.waher@clayster.com</email>
|
||||
<jid>peter.waher@jabber.org</jid>
|
||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
||||
</author>
|
||||
&peterwaher;
|
||||
<author>
|
||||
<firstname>Yusuke</firstname>
|
||||
<surname>DOI</surname>
|
||||
@ -40,6 +34,15 @@
|
||||
<jid>yusuke.doi@gmail.com</jid>
|
||||
<uri>http://www.linkedin.com/in/yusukedoi</uri>
|
||||
</author>
|
||||
<revision>
|
||||
<version>0.5</version>
|
||||
<date>2015-11-09</date>
|
||||
<initials>pw</initials>
|
||||
<remark>
|
||||
<p>Updated contact information.</p>
|
||||
<p>Updated example JIDs to example.org</p>
|
||||
</remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.4</version>
|
||||
<date>2014-03-10</date>
|
||||
@ -501,7 +504,7 @@
|
||||
</p>
|
||||
<example caption='Invalid URL'>
|
||||
<![CDATA[
|
||||
<downloadSchemaResponse xmlns='http://jabber.org/protocol/compress/exi' url='urk://example.com/schema.xsd' result='false'>
|
||||
<downloadSchemaResponse xmlns='http://jabber.org/protocol/compress/exi' url='urk://example.org/schema.xsd' result='false'>
|
||||
<invalidUrl message='Unrecognized schema.'/>
|
||||
</downloadSchemaResponse>]]>
|
||||
</example>
|
||||
@ -625,8 +628,8 @@
|
||||
</p>
|
||||
<example caption='Start of EXI-compressed stream'>
|
||||
<![CDATA[
|
||||
<exi:streamStart from='client@im.example.com'
|
||||
to='im.example.com'
|
||||
<exi:streamStart from='client@im.example.org'
|
||||
to='im.example.org'
|
||||
version='1.0'
|
||||
xml:lang='en'
|
||||
xmlns:exi='http://jabber.org/protocol/compress/exi'>
|
||||
|
143
xep-0323.xml
143
xep-0323.xml
@ -1,4 +1,4 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||
%ents;
|
||||
@ -22,13 +22,16 @@
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>sensor-data</shortname>
|
||||
<author>
|
||||
<firstname>Peter</firstname>
|
||||
<surname>Waher</surname>
|
||||
<email>peter.waher@clayster.com</email>
|
||||
<jid>peter.waher@jabber.org</jid>
|
||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
||||
</author>
|
||||
&peterwaher;
|
||||
<revision>
|
||||
<version>0.5</version>
|
||||
<date>2015-11-09</date>
|
||||
<initials>pw</initials>
|
||||
<remark>
|
||||
<p>Updated contact information.</p>
|
||||
<p>Updated example JIDs to example.org</p>
|
||||
</remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.4</version>
|
||||
<date>2015-03-02</date>
|
||||
@ -463,8 +466,8 @@
|
||||
<example caption='Read-out request of momentary values from a device'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0001'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='1' momentary='true'/>
|
||||
</iq>]]>
|
||||
@ -477,8 +480,8 @@
|
||||
<example caption='Read-out request accepted by device'>
|
||||
<![CDATA[
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0001'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='1'/>
|
||||
</iq>]]>
|
||||
@ -490,8 +493,8 @@
|
||||
|
||||
<example caption='Momentary read-out response'>
|
||||
<![CDATA[
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='1' done='true'>
|
||||
<node nodeId='Device01'>
|
||||
<timestamp value='2013-03-07T16:24:30'>
|
||||
@ -511,21 +514,21 @@
|
||||
<example caption='Momentary read-out failure'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0002'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='2' momentary='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0002'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
||||
</iq>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<failure xmlns='urn:xmpp:iot:sensordata' seqnr='2' done='true'>
|
||||
<error nodeId='Device01' timestamp='2013-03-07T17:13:30'>Timeout.</error>
|
||||
</failure>
|
||||
@ -540,15 +543,15 @@
|
||||
<example caption='Momentary read-out rejected'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0003'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='3' momentary='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0003'>
|
||||
<error type='cancel'>
|
||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -595,26 +598,26 @@
|
||||
<example caption='Scheduled read-out of device with multiple responses'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0004'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='4' all='true' when='2013-03-07T19:00:00'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0004'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4' queued='true'/>
|
||||
</iq>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<started xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||
</message>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||
<node nodeId='Device01'>
|
||||
<timestamp value='2013-03-07T19:00:00'>
|
||||
@ -626,8 +629,8 @@
|
||||
</fields>
|
||||
</message>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||
<node nodeId='Device01'>
|
||||
<timestamp value='2013-03-07T19:00:00'>
|
||||
@ -639,8 +642,8 @@
|
||||
</fields>
|
||||
</message>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||
<node nodeId='Device01'>
|
||||
<timestamp value='2013-03-07T18:00:00'>
|
||||
@ -660,8 +663,8 @@
|
||||
</fields>
|
||||
</message>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<done xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||
</message>]]>
|
||||
</example>
|
||||
@ -674,8 +677,8 @@
|
||||
<example caption='Read-out of multiple devices'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0005'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='5' momentary='true'>
|
||||
<node nodeId='Device02'/>
|
||||
@ -684,14 +687,14 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0005'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='5'/>
|
||||
</iq>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5'>
|
||||
<node nodeId='Device02'>
|
||||
<timestamp value='2013-03-07T19:31:15'>
|
||||
@ -701,8 +704,8 @@
|
||||
</fields>
|
||||
</message>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5' done='true'>
|
||||
<node nodeId='Device03'>
|
||||
<timestamp value='2013-03-07T19:31:16'>
|
||||
@ -730,8 +733,8 @@
|
||||
<example caption='Read-out of multiple devices'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0006'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='6' momentary='true'>
|
||||
<node nodeId='Device04'/>
|
||||
@ -741,14 +744,14 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0006'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='6'/>
|
||||
</iq>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='6' done='true'>
|
||||
<node nodeId='Device04'>
|
||||
<timestamp value='2013-03-07T22:03:15'>
|
||||
@ -767,29 +770,29 @@
|
||||
<example caption='Scheduled read-out of device with multiple responses'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0007'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='8' all='true' when='2013-03-09T23:30:00'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0007'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='8' queued='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0008'>
|
||||
<cancel xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0008'>
|
||||
<cancelled xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
||||
</iq>]]>
|
||||
@ -801,8 +804,8 @@
|
||||
<example caption="Service discovery information request">
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='disco1'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||
</iq>]]>
|
||||
@ -810,8 +813,8 @@
|
||||
<example caption="Service discovery information response">
|
||||
<![CDATA[
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='disco1'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||
...
|
||||
@ -1244,21 +1247,21 @@
|
||||
<example caption='Localized field names'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='client@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='client@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='S0009'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='7' all='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='client@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='client@example.org/amr'
|
||||
id='S0009'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='7'/>
|
||||
</iq>
|
||||
|
||||
<message from='device@clayster.com'
|
||||
to='client@clayster.com/amr'>
|
||||
<message from='device@example.org'
|
||||
to='client@example.org/amr'>
|
||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='7' done='true'>
|
||||
<node nodeId='Device05'>
|
||||
<timestamp value='2013-03-07T22:20:45'>
|
||||
|
321
xep-0324.xml
321
xep-0324.xml
@ -1,4 +1,4 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||
%ents;
|
||||
@ -25,13 +25,16 @@
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>sensor-network-provisioning</shortname>
|
||||
<author>
|
||||
<firstname>Peter</firstname>
|
||||
<surname>Waher</surname>
|
||||
<email>peter.waher@clayster.com</email>
|
||||
<jid>peter.waher@jabber.org</jid>
|
||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
||||
</author>
|
||||
&peterwaher;
|
||||
<revision>
|
||||
<version>0.4</version>
|
||||
<date>2015-11-09</date>
|
||||
<initials>pw</initials>
|
||||
<remark>
|
||||
<p>Updated contact information.</p>
|
||||
<p>Updated example JIDs to example.org</p>
|
||||
</remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.3</version>
|
||||
<date>2014-05-21</date>
|
||||
@ -464,11 +467,11 @@
|
||||
</p>
|
||||
<example caption="Checking if server supports components">
|
||||
<![CDATA[
|
||||
<iq from='device@clayster.com/device' to='clayster.com' type='get' id='1'>
|
||||
<iq from='device@example.org/device' to='example.org' type='get' id='1'>
|
||||
<query xmlns="http://jabber.org/protocol/disco#info"/>
|
||||
</iq>
|
||||
|
||||
<iq type="result" id="1" from="clayster.com" to="device@clayster.com/device">
|
||||
<iq type="result" id="1" from="example.org" to="device@example.org/device">
|
||||
<query xmlns="http://jabber.org/protocol/disco#info">
|
||||
...
|
||||
<feature var="http://jabber.org/protocol/disco#items"/>
|
||||
@ -481,14 +484,14 @@
|
||||
</p>
|
||||
<example caption="Requesting list of server components">
|
||||
<![CDATA[
|
||||
<iq from='device@clayster.com/device' to='clayster.com' type='get' id='2'>
|
||||
<iq from='device@example.org/device' to='example.org' type='get' id='2'>
|
||||
<query xmlns="http://jabber.org/protocol/disco#items"/>
|
||||
</iq>
|
||||
|
||||
<iq type="result" id="2" from="clayster.com" to="995fab3dd759452ca9c370647323af0c@clayster.com/ebe2348e">
|
||||
<iq type="result" id="2" from="example.org" to="995fab3dd759452ca9c370647323af0c@example.org/ebe2348e">
|
||||
<query xmlns="http://jabber.org/protocol/disco#items">
|
||||
...
|
||||
<item jid="provisioning.clayster.com" name="Provisioning"/>
|
||||
<item jid="provisioning.example.org" name="Provisioning"/>
|
||||
...
|
||||
</query>
|
||||
</iq>]]>
|
||||
@ -499,15 +502,15 @@
|
||||
<example caption="Service discovery information request made to each component">
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='3'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='3'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||
...
|
||||
@ -548,29 +551,29 @@
|
||||
<example caption='Requesting a token'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='4'>
|
||||
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='4'>
|
||||
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='5'>
|
||||
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='5'>
|
||||
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
||||
</iq>]]>
|
||||
@ -590,8 +593,8 @@
|
||||
<example caption='Challenge reponse incorrect'>
|
||||
<![CDATA[
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='5'>
|
||||
<error type='modify'>
|
||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -604,8 +607,8 @@
|
||||
<example caption='Challenge sequence number not found'>
|
||||
<![CDATA[
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='5'>
|
||||
<error type='cancel'>
|
||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -637,15 +640,15 @@
|
||||
<example caption='Requesting a token'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='6'>
|
||||
<tokenChallenge xmlns='urn:xmpp:iot:provisioning' token='TOKEN'>BASE-64 encoded challenge</tokenChallenge>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='6'>
|
||||
<tokenChallengeResponse xmlns='urn:xmpp:iot:provisioning'>BASE-64 encoded response</tokenChallengeResponse>
|
||||
</iq>]]>
|
||||
@ -657,8 +660,8 @@
|
||||
<example caption='Invalid token challenge'>
|
||||
<![CDATA[
|
||||
<iq type='error'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='6'>
|
||||
<error type='cancel'>
|
||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -693,29 +696,29 @@
|
||||
<example caption='Readout request using multiple tokens'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='7'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1 SERVICETOKEN2' userToken='USERTOKEN1' seqnr='4'/>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='8'>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' serviceToken='SERVICETOKEN1 SERVICETOKEN2' userToken='USERTOKEN1' momentary='true'/>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' serviceToken='SERVICETOKEN1 SERVICETOKEN2' userToken='USERTOKEN1' momentary='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='8'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' result='true'/>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' result='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='7'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||
</iq>]]>
|
||||
@ -739,17 +742,17 @@
|
||||
<example caption='Friendship request accepted'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='9'>
|
||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client1@clayster.com'/>
|
||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client1@example.org'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='9'>
|
||||
<isFriendResponse xmlns='urn:xmpp:iot:provisioning' jid='client1@clayster.com' result='true'/>
|
||||
<isFriendResponse xmlns='urn:xmpp:iot:provisioning' jid='client1@example.org' result='true'/>
|
||||
</iq>]]>
|
||||
</example>
|
||||
<p>
|
||||
@ -773,17 +776,17 @@
|
||||
<example caption='Friendship request rejected'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='10'>
|
||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='10'>
|
||||
<isFriendResponse xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com' result='false'/>
|
||||
<isFriendResponse xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org' result='false'/>
|
||||
</iq>]]>
|
||||
</example>
|
||||
</section3>
|
||||
@ -805,9 +808,9 @@
|
||||
|
||||
<example caption='Unfriending existing friend'>
|
||||
<![CDATA[
|
||||
<message from='provisioning.clayster.com'
|
||||
to='device@clayster.com'>
|
||||
<unfriend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
||||
<message from='provisioning.example.org'
|
||||
to='device@example.org'>
|
||||
<unfriend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||
</message>]]>
|
||||
</example>
|
||||
</section3>
|
||||
@ -821,9 +824,9 @@
|
||||
</p>
|
||||
<example caption='Recommending friendships'>
|
||||
<![CDATA[
|
||||
<message from='provisioning.clayster.com'
|
||||
to='device@clayster.com'>
|
||||
<friend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
||||
<message from='provisioning.example.org'
|
||||
to='device@example.org'>
|
||||
<friend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||
</message>]]>
|
||||
</example>
|
||||
<p>
|
||||
@ -850,29 +853,29 @@
|
||||
<example caption='Rejecting read-outs'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='11'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='1'/>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='12'>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' momentary='true'/>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' momentary='true'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='12'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' result='false'/>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' result='false'/>
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='device@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='11'>
|
||||
<rejected xmlns='urn:xmpp:iot:sensordata' seqnr='1'>
|
||||
<error>Access denied.</error>
|
||||
@ -903,8 +906,8 @@
|
||||
<example caption='Restricting nodes during read-out'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='13'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='2'>
|
||||
<node nodeId='Device02'/>
|
||||
@ -913,27 +916,27 @@
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='14'>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<node nodeId='Device02'/>
|
||||
<node nodeId='Device03'/>
|
||||
</canRead>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='14'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' result='true'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' result='true'>
|
||||
<node nodeId='Device02'/>
|
||||
</canReadResponse>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='13'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
||||
</iq>]]>
|
||||
@ -963,32 +966,32 @@
|
||||
<example caption='Restricting fields during read-out'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='15'>
|
||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='3'/>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='16'>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'/>
|
||||
<canRead xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='16'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' momentary='true' result='true'>
|
||||
<canReadResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' momentary='true' result='true'>
|
||||
<field name='Energy'/>
|
||||
<field name='Power'/>
|
||||
</canReadResponse>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='15'>
|
||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='3'/>
|
||||
</iq>]]>
|
||||
@ -1019,8 +1022,8 @@
|
||||
<example caption='Rejecting control action'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='device@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='device@example.org'
|
||||
id='17'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<boolean name='Output' value='true'/>
|
||||
@ -1028,24 +1031,24 @@
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='18'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<parameter name='Output'/>
|
||||
</canControl>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='18'>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' result='false'/>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' result='false'/>
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='device@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='device@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='17'>
|
||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='InsufficientPrivileges'/>
|
||||
</iq>]]>
|
||||
@ -1071,8 +1074,8 @@
|
||||
<example caption='Restricting nodes during control'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='concentrator@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='concentrator@example.org'
|
||||
id='19'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<node nodeId='DigitalOutput1'/>
|
||||
@ -1084,10 +1087,10 @@
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='concentrator@clayster.com/plc'
|
||||
to='provisioning.clayster.com'
|
||||
from='concentrator@example.org/plc'
|
||||
to='provisioning.example.org'
|
||||
id='20'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'>
|
||||
<node nodeId='DigitalOutput1'/>
|
||||
<node nodeId='DigitalOutput2'/>
|
||||
<node nodeId='DigitalOutput3'/>
|
||||
@ -1097,18 +1100,18 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='concentrator@clayster.com/plc'
|
||||
from='provisioning.example.org'
|
||||
to='concentrator@example.org/plc'
|
||||
id='20'>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' result='true'>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' result='true'>
|
||||
<node nodeId='DigitalOutput2'/>
|
||||
<node nodeId='DigitalOutput3'/>
|
||||
</canControlResponse>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='concentrator@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='concentrator@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='19'>
|
||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
||||
<node nodeId='DigitalOutput2'/>
|
||||
@ -1146,8 +1149,8 @@
|
||||
<example caption='Restricting parameters during control'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='plc@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='plc@example.org'
|
||||
id='21'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<boolean name='DigitalOutput1' value='true'/>
|
||||
@ -1162,10 +1165,10 @@
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='plc@clayster.com/plc'
|
||||
to='provisioning.clayster.com'
|
||||
from='plc@example.org/plc'
|
||||
to='provisioning.example.org'
|
||||
id='22'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' serviceToken='SERVICETOKEN1' userToken='user0001'>
|
||||
<canControl xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' serviceToken='SERVICETOKEN1' userToken='user0001'>
|
||||
<parameter name='DigitalOutput1'/>
|
||||
<parameter name='DigitalOutput2'/>
|
||||
<parameter name='DigitalOutput3'/>
|
||||
@ -1178,10 +1181,10 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='plc@clayster.com/plc'
|
||||
from='provisioning.example.org'
|
||||
to='plc@example.org/plc'
|
||||
id='22'>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@clayster.com' result='true'>
|
||||
<canControlResponse xmlns='urn:xmpp:iot:provisioning' jid='master@example.org' result='true'>
|
||||
<parameter name='DigitalOutput1'/>
|
||||
<parameter name='DigitalOutput2'/>
|
||||
<parameter name='DigitalOutput3'/>
|
||||
@ -1190,8 +1193,8 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='plc@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='plc@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='21'>
|
||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
||||
<parameter name='DigitalOutput1'/>
|
||||
@ -1229,15 +1232,15 @@
|
||||
<example caption='Clear cache'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org'
|
||||
id='23'>
|
||||
<clearCache xmlns='urn:xmpp:iot:provisioning'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='device@clayster.com'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org'
|
||||
to='provisioning.example.org'
|
||||
id='23'>
|
||||
<clearCacheResponse xmlns='urn:xmpp:iot:provisioning'/>
|
||||
</iq>]]>
|
||||
@ -1253,29 +1256,29 @@
|
||||
<example caption='Requesting a service token'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='24'>
|
||||
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='24'>
|
||||
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
||||
</iq>
|
||||
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='25'>
|
||||
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='25'>
|
||||
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
||||
</iq>]]>
|
||||
@ -1373,8 +1376,8 @@
|
||||
<!-- user connects to service -->
|
||||
|
||||
<iq type='get'
|
||||
from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'
|
||||
from='service@example.org/service'
|
||||
to='provisioning.example.org'
|
||||
id='26'>
|
||||
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
||||
<credentials type='IpAddress' value='10.0.0.1'/>
|
||||
@ -1384,16 +1387,16 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='service@clayster.com/service'
|
||||
from='provisioning.example.org'
|
||||
to='service@example.org/service'
|
||||
id='26'>
|
||||
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
||||
</iq>
|
||||
|
||||
<!-- user performs login into service -->
|
||||
|
||||
<message from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'>
|
||||
<message from='service@example.org/service'
|
||||
to='provisioning.example.org'>
|
||||
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
||||
</message>
|
||||
|
||||
@ -1471,15 +1474,15 @@
|
||||
<!-- user wants to perform action -->
|
||||
|
||||
<iq type='get'
|
||||
from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'
|
||||
from='service@example.org/service'
|
||||
to='provisioning.example.org'
|
||||
id='27'>
|
||||
<hasPrivilege xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' privilegeId='Sensors.View'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='service@clayster.com/service'
|
||||
from='provisioning.example.org'
|
||||
to='service@example.org/service'
|
||||
id='27'>
|
||||
<hasPrivilegeResponse xmlns='urn:xmpp:iot:provisioning' result='true'/>
|
||||
</iq>
|
||||
@ -1505,8 +1508,8 @@
|
||||
<!-- user connects to service -->
|
||||
|
||||
<iq type='get'
|
||||
from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'
|
||||
from='service@example.org/service'
|
||||
to='provisioning.example.org'
|
||||
id='28'>
|
||||
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
||||
<credentials type='IpAddress' value='10.0.0.1'/>
|
||||
@ -1516,29 +1519,29 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='service@clayster.com/service'
|
||||
from='provisioning.example.org'
|
||||
to='service@example.org/service'
|
||||
id='28'>
|
||||
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
||||
</iq>
|
||||
|
||||
<!-- user performs login into service -->
|
||||
|
||||
<message from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'>
|
||||
<message from='service@example.org/service'
|
||||
to='provisioning.example.org'>
|
||||
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
||||
</message>
|
||||
|
||||
<iq type='get'
|
||||
from='service@clayster.com/service'
|
||||
to='provisioning.clayster.com'
|
||||
from='service@example.org/service'
|
||||
to='provisioning.example.org'
|
||||
id='29'>
|
||||
<downloadPrivileges xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='service@clayster.com/service'
|
||||
from='provisioning.example.org'
|
||||
to='service@example.org/service'
|
||||
id='29'>
|
||||
<downloadPrivilegesResponse>
|
||||
<exclude id='Sensors.Delete'/>
|
||||
@ -1563,8 +1566,8 @@
|
||||
<example caption="Service discovery information request">
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='device@clayster.com/device'
|
||||
to='provisioning.clayster.com'
|
||||
from='device@example.org/device'
|
||||
to='provisioning.example.org'
|
||||
id='disco1'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||
</iq>]]>
|
||||
@ -1572,8 +1575,8 @@
|
||||
<example caption="Service discovery information response">
|
||||
<![CDATA[
|
||||
<iq type='result'
|
||||
from='provisioning.clayster.com'
|
||||
to='device@clayster.com/device'
|
||||
from='provisioning.example.org'
|
||||
to='device@example.org/device'
|
||||
id='disco1'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||
...
|
||||
|
179
xep-0325.xml
179
xep-0325.xml
@ -1,4 +1,4 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||
%ents;
|
||||
@ -29,13 +29,16 @@
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>sensor-network-control</shortname>
|
||||
<author>
|
||||
<firstname>Peter</firstname>
|
||||
<surname>Waher</surname>
|
||||
<email>peter.waher@clayster.com</email>
|
||||
<jid>peter.waher@jabber.org</jid>
|
||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
||||
</author>
|
||||
&peterwaher;
|
||||
<revision>
|
||||
<version>0.4</version>
|
||||
<date>2015-11-09</date>
|
||||
<initials>psa</initials>
|
||||
<remark>
|
||||
<p>Updated contact information.</p>
|
||||
<p>Updated example JIDs to example.org</p>
|
||||
</remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.3</version>
|
||||
<date>2014-04-07</date>
|
||||
@ -378,8 +381,8 @@
|
||||
</p>
|
||||
<example caption='Message stanza for setting a value'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='digital.output@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='digital.output@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<boolean name='Output' value='true'/>
|
||||
</set>
|
||||
@ -397,8 +400,8 @@
|
||||
<example caption='IQ stanza for setting a value'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='digital.output@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='digital.output@example.org'
|
||||
id='1'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<boolean name='Output' value='true'/>
|
||||
@ -406,8 +409,8 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='digital.output@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='digital.output@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='1'>
|
||||
<setResponse xmlns='urn:xmpp:iot:control'/>
|
||||
</iq>]]>
|
||||
@ -429,8 +432,8 @@
|
||||
<example caption='Control failure response'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='analog.output@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='analog.output@example.org'
|
||||
id='2'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<boolean name='Output' value='true'/>
|
||||
@ -438,8 +441,8 @@
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='analog.output@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='analog.output@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='2'>
|
||||
<error type='modify'>
|
||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -463,8 +466,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single boolean-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='digital.output@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='digital.output@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<boolean name='Output' value='true'/>
|
||||
</set>
|
||||
@ -478,8 +481,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single 32-bit integer-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='analog.output@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='analog.output@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<int name='Output' value='50000'/>
|
||||
</set>
|
||||
@ -494,8 +497,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single 64-bit integer-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='megaprecision.analog.output@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='megaprecision.analog.output@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<long name='Output' value='500000000000000'/>
|
||||
</set>
|
||||
@ -509,8 +512,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single string-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='text.display@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='text.display@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<string name='Row1' value='Temperature: 21.4 °C'/>
|
||||
</set>
|
||||
@ -524,8 +527,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single double-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='analog.output2@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='analog.output2@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<double name='4-20mA' value='8.192'/>
|
||||
</set>
|
||||
@ -539,8 +542,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single date-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='alarm@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='alarm@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<date name='TariffStartDate' value='2013-05-01'/>
|
||||
</set>
|
||||
@ -554,8 +557,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single time-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='alarm@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='alarm@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<time name='Alarm Time' value='08:00:00'/>
|
||||
</set>
|
||||
@ -569,8 +572,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single date & time-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='alarm@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='alarm@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<dateTime name='Alarm Time' value='2013-04-02T08:00:00'/>
|
||||
</set>
|
||||
@ -584,8 +587,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single duration-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='alarm@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='alarm@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<duration name='Alarm Duration' value='PT3M30S'/>
|
||||
</set>
|
||||
@ -599,8 +602,8 @@
|
||||
</p>
|
||||
<example caption='Setting a single color-valued control parameter'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='spotlight@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='spotlight@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<color name='Color' value='3399FF'/>
|
||||
</set>
|
||||
@ -614,8 +617,8 @@
|
||||
</p>
|
||||
<example caption='Setting multiple control parameters at once'>
|
||||
<![CDATA[
|
||||
<message from='master@clayster.com/amr'
|
||||
to='dimmer@clayster.com'>
|
||||
<message from='master@example.org/amr'
|
||||
to='dimmer@example.org'>
|
||||
<set xmlns='urn:xmpp:iot:control'>
|
||||
<int name='FadeTimeMilliseconds' value='500'/>
|
||||
<int name='OutputPercent' value='10'/>
|
||||
@ -644,15 +647,15 @@
|
||||
<example caption='Getting a control form'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='dimmer@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='dimmer@example.org'
|
||||
id='3'>
|
||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='dimmer@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='dimmer@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='3'>
|
||||
<x type='form'
|
||||
xmlns='jabber:x:data'
|
||||
@ -724,15 +727,15 @@
|
||||
<example caption='Getting a control form, Failure'>
|
||||
<![CDATA[
|
||||
<iq type='get'
|
||||
from='master@clayster.com/amr'
|
||||
to='dimmer@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='dimmer@example.org'
|
||||
id='4'>
|
||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='dimmer@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='dimmer@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='4'>
|
||||
<error type='cancel'>
|
||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
@ -752,8 +755,8 @@
|
||||
<example caption='Setting a (partial) control form'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='dimmer@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='dimmer@example.org'
|
||||
id='5'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<x type='submit' xmlns='jabber:x:data'>
|
||||
@ -771,8 +774,8 @@
|
||||
</iq>
|
||||
|
||||
<iq type='result'
|
||||
from='dimmer@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='dimmer@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='5'>
|
||||
<setResponse xmlns='urn:xmpp:iot:control' />
|
||||
</iq>]]>
|
||||
@ -790,8 +793,8 @@
|
||||
<example caption='Setting a (partial) control form, Failure'>
|
||||
<![CDATA[
|
||||
<iq type='set'
|
||||
from='master@clayster.com/amr'
|
||||
to='dimmer@clayster.com'
|
||||
from='master@example.org/amr'
|
||||
to='dimmer@example.org'
|
||||
id='6'>
|
||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||
<x type='submit' xmlns='jabber:x:data'>
|
||||
@ -809,8 +812,8 @@
|
||||
</iq>
|
||||
|
||||
<iq type='error'
|
||||
from='dimmer@clayster.com'
|
||||
to='master@clayster.com/amr'
|
||||
from='dimmer@example.org'
|
||||
to='master@example.org/amr'
|
||||
id='6'>
|
||||