mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-23 01:32:22 -05: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/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>exi</shortname>
|
<shortname>exi</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<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>
|
|
||||||
<author>
|
<author>
|
||||||
<firstname>Yusuke</firstname>
|
<firstname>Yusuke</firstname>
|
||||||
<surname>DOI</surname>
|
<surname>DOI</surname>
|
||||||
@ -40,6 +34,15 @@
|
|||||||
<jid>yusuke.doi@gmail.com</jid>
|
<jid>yusuke.doi@gmail.com</jid>
|
||||||
<uri>http://www.linkedin.com/in/yusukedoi</uri>
|
<uri>http://www.linkedin.com/in/yusukedoi</uri>
|
||||||
</author>
|
</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>
|
<revision>
|
||||||
<version>0.4</version>
|
<version>0.4</version>
|
||||||
<date>2014-03-10</date>
|
<date>2014-03-10</date>
|
||||||
@ -501,7 +504,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Invalid URL'>
|
<example caption='Invalid URL'>
|
||||||
<![CDATA[
|
<![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.'/>
|
<invalidUrl message='Unrecognized schema.'/>
|
||||||
</downloadSchemaResponse>]]>
|
</downloadSchemaResponse>]]>
|
||||||
</example>
|
</example>
|
||||||
@ -625,8 +628,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Start of EXI-compressed stream'>
|
<example caption='Start of EXI-compressed stream'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<exi:streamStart from='client@im.example.com'
|
<exi:streamStart from='client@im.example.org'
|
||||||
to='im.example.com'
|
to='im.example.org'
|
||||||
version='1.0'
|
version='1.0'
|
||||||
xml:lang='en'
|
xml:lang='en'
|
||||||
xmlns:exi='http://jabber.org/protocol/compress/exi'>
|
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' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -22,13 +22,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>sensor-data</shortname>
|
<shortname>sensor-data</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.5</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.4</version>
|
<version>0.4</version>
|
||||||
<date>2015-03-02</date>
|
<date>2015-03-02</date>
|
||||||
@ -463,8 +466,8 @@
|
|||||||
<example caption='Read-out request of momentary values from a device'>
|
<example caption='Read-out request of momentary values from a device'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0001'>
|
id='S0001'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='1' momentary='true'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='1' momentary='true'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -477,8 +480,8 @@
|
|||||||
<example caption='Read-out request accepted by device'>
|
<example caption='Read-out request accepted by device'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0001'>
|
id='S0001'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='1'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='1'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -490,8 +493,8 @@
|
|||||||
|
|
||||||
<example caption='Momentary read-out response'>
|
<example caption='Momentary read-out response'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='1' done='true'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='1' done='true'>
|
||||||
<node nodeId='Device01'>
|
<node nodeId='Device01'>
|
||||||
<timestamp value='2013-03-07T16:24:30'>
|
<timestamp value='2013-03-07T16:24:30'>
|
||||||
@ -511,21 +514,21 @@
|
|||||||
<example caption='Momentary read-out failure'>
|
<example caption='Momentary read-out failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0002'>
|
id='S0002'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='2' momentary='true'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='2' momentary='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0002'>
|
id='S0002'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<failure xmlns='urn:xmpp:iot:sensordata' seqnr='2' done='true'>
|
<failure xmlns='urn:xmpp:iot:sensordata' seqnr='2' done='true'>
|
||||||
<error nodeId='Device01' timestamp='2013-03-07T17:13:30'>Timeout.</error>
|
<error nodeId='Device01' timestamp='2013-03-07T17:13:30'>Timeout.</error>
|
||||||
</failure>
|
</failure>
|
||||||
@ -540,15 +543,15 @@
|
|||||||
<example caption='Momentary read-out rejected'>
|
<example caption='Momentary read-out rejected'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0003'>
|
id='S0003'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='3' momentary='true'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='3' momentary='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0003'>
|
id='S0003'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -595,26 +598,26 @@
|
|||||||
<example caption='Scheduled read-out of device with multiple responses'>
|
<example caption='Scheduled read-out of device with multiple responses'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0004'>
|
id='S0004'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='4' all='true' when='2013-03-07T19:00:00'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='4' all='true' when='2013-03-07T19:00:00'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0004'>
|
id='S0004'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4' queued='true'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4' queued='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<started xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
<started xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||||
<node nodeId='Device01'>
|
<node nodeId='Device01'>
|
||||||
<timestamp value='2013-03-07T19:00:00'>
|
<timestamp value='2013-03-07T19:00:00'>
|
||||||
@ -626,8 +629,8 @@
|
|||||||
</fields>
|
</fields>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||||
<node nodeId='Device01'>
|
<node nodeId='Device01'>
|
||||||
<timestamp value='2013-03-07T19:00:00'>
|
<timestamp value='2013-03-07T19:00:00'>
|
||||||
@ -639,8 +642,8 @@
|
|||||||
</fields>
|
</fields>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='4'>
|
||||||
<node nodeId='Device01'>
|
<node nodeId='Device01'>
|
||||||
<timestamp value='2013-03-07T18:00:00'>
|
<timestamp value='2013-03-07T18:00:00'>
|
||||||
@ -660,8 +663,8 @@
|
|||||||
</fields>
|
</fields>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<done xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
<done xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||||
</message>]]>
|
</message>]]>
|
||||||
</example>
|
</example>
|
||||||
@ -674,8 +677,8 @@
|
|||||||
<example caption='Read-out of multiple devices'>
|
<example caption='Read-out of multiple devices'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0005'>
|
id='S0005'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='5' momentary='true'>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='5' momentary='true'>
|
||||||
<node nodeId='Device02'/>
|
<node nodeId='Device02'/>
|
||||||
@ -684,14 +687,14 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0005'>
|
id='S0005'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='5'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='5'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5'>
|
||||||
<node nodeId='Device02'>
|
<node nodeId='Device02'>
|
||||||
<timestamp value='2013-03-07T19:31:15'>
|
<timestamp value='2013-03-07T19:31:15'>
|
||||||
@ -701,8 +704,8 @@
|
|||||||
</fields>
|
</fields>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5' done='true'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5' done='true'>
|
||||||
<node nodeId='Device03'>
|
<node nodeId='Device03'>
|
||||||
<timestamp value='2013-03-07T19:31:16'>
|
<timestamp value='2013-03-07T19:31:16'>
|
||||||
@ -730,8 +733,8 @@
|
|||||||
<example caption='Read-out of multiple devices'>
|
<example caption='Read-out of multiple devices'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0006'>
|
id='S0006'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='6' momentary='true'>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='6' momentary='true'>
|
||||||
<node nodeId='Device04'/>
|
<node nodeId='Device04'/>
|
||||||
@ -741,14 +744,14 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0006'>
|
id='S0006'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='6'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='6'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='6' done='true'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='6' done='true'>
|
||||||
<node nodeId='Device04'>
|
<node nodeId='Device04'>
|
||||||
<timestamp value='2013-03-07T22:03:15'>
|
<timestamp value='2013-03-07T22:03:15'>
|
||||||
@ -767,29 +770,29 @@
|
|||||||
<example caption='Scheduled read-out of device with multiple responses'>
|
<example caption='Scheduled read-out of device with multiple responses'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0007'>
|
id='S0007'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='8' all='true' when='2013-03-09T23:30:00'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='8' all='true' when='2013-03-09T23:30:00'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0007'>
|
id='S0007'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='8' queued='true'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='8' queued='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0008'>
|
id='S0008'>
|
||||||
<cancel xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
<cancel xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0008'>
|
id='S0008'>
|
||||||
<cancelled xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
<cancelled xmlns='urn:xmpp:iot:sensordata' seqnr='8'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -801,8 +804,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -810,8 +813,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
@ -1244,21 +1247,21 @@
|
|||||||
<example caption='Localized field names'>
|
<example caption='Localized field names'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='client@clayster.com/amr'
|
from='client@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='S0009'>
|
id='S0009'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' seqnr='7' all='true'/>
|
<req xmlns='urn:xmpp:iot:sensordata' seqnr='7' all='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='client@clayster.com/amr'
|
to='client@example.org/amr'
|
||||||
id='S0009'>
|
id='S0009'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='7'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='7'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='device@clayster.com'
|
<message from='device@example.org'
|
||||||
to='client@clayster.com/amr'>
|
to='client@example.org/amr'>
|
||||||
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='7' done='true'>
|
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='7' done='true'>
|
||||||
<node nodeId='Device05'>
|
<node nodeId='Device05'>
|
||||||
<timestamp value='2013-03-07T22:20:45'>
|
<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' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -25,13 +25,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>sensor-network-provisioning</shortname>
|
<shortname>sensor-network-provisioning</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.4</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.3</version>
|
<version>0.3</version>
|
||||||
<date>2014-05-21</date>
|
<date>2014-05-21</date>
|
||||||
@ -464,11 +467,11 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption="Checking if server supports components">
|
<example caption="Checking if server supports components">
|
||||||
<![CDATA[
|
<![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"/>
|
<query xmlns="http://jabber.org/protocol/disco#info"/>
|
||||||
</iq>
|
</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">
|
<query xmlns="http://jabber.org/protocol/disco#info">
|
||||||
...
|
...
|
||||||
<feature var="http://jabber.org/protocol/disco#items"/>
|
<feature var="http://jabber.org/protocol/disco#items"/>
|
||||||
@ -481,14 +484,14 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption="Requesting list of server components">
|
<example caption="Requesting list of server components">
|
||||||
<![CDATA[
|
<![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"/>
|
<query xmlns="http://jabber.org/protocol/disco#items"/>
|
||||||
</iq>
|
</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">
|
<query xmlns="http://jabber.org/protocol/disco#items">
|
||||||
...
|
...
|
||||||
<item jid="provisioning.clayster.com" name="Provisioning"/>
|
<item jid="provisioning.example.org" name="Provisioning"/>
|
||||||
...
|
...
|
||||||
</query>
|
</query>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -499,15 +502,15 @@
|
|||||||
<example caption="Service discovery information request made to each component">
|
<example caption="Service discovery information request made to each component">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='3'>
|
id='3'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='3'>
|
id='3'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
@ -548,29 +551,29 @@
|
|||||||
<example caption='Requesting a token'>
|
<example caption='Requesting a token'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='4'>
|
id='4'>
|
||||||
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='5'>
|
id='5'>
|
||||||
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='5'>
|
id='5'>
|
||||||
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -590,8 +593,8 @@
|
|||||||
<example caption='Challenge reponse incorrect'>
|
<example caption='Challenge reponse incorrect'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='5'>
|
id='5'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -604,8 +607,8 @@
|
|||||||
<example caption='Challenge sequence number not found'>
|
<example caption='Challenge sequence number not found'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='5'>
|
id='5'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -637,15 +640,15 @@
|
|||||||
<example caption='Requesting a token'>
|
<example caption='Requesting a token'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='6'>
|
id='6'>
|
||||||
<tokenChallenge xmlns='urn:xmpp:iot:provisioning' token='TOKEN'>BASE-64 encoded challenge</tokenChallenge>
|
<tokenChallenge xmlns='urn:xmpp:iot:provisioning' token='TOKEN'>BASE-64 encoded challenge</tokenChallenge>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<tokenChallengeResponse xmlns='urn:xmpp:iot:provisioning'>BASE-64 encoded response</tokenChallengeResponse>
|
<tokenChallengeResponse xmlns='urn:xmpp:iot:provisioning'>BASE-64 encoded response</tokenChallengeResponse>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -657,8 +660,8 @@
|
|||||||
<example caption='Invalid token challenge'>
|
<example caption='Invalid token challenge'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -693,29 +696,29 @@
|
|||||||
<example caption='Readout request using multiple tokens'>
|
<example caption='Readout request using multiple tokens'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='7'>
|
id='7'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1 SERVICETOKEN2' userToken='USERTOKEN1' seqnr='4'/>
|
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1 SERVICETOKEN2' userToken='USERTOKEN1' seqnr='4'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='8'>
|
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>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='8'>
|
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>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='7'>
|
id='7'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='4'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -739,17 +742,17 @@
|
|||||||
<example caption='Friendship request accepted'>
|
<example caption='Friendship request accepted'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='9'>
|
id='9'>
|
||||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client1@clayster.com'/>
|
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client1@example.org'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='9'>
|
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>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -773,17 +776,17 @@
|
|||||||
<example caption='Friendship request rejected'>
|
<example caption='Friendship request rejected'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='10'>
|
id='10'>
|
||||||
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
<isFriend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='10'>
|
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>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
</section3>
|
</section3>
|
||||||
@ -805,9 +808,9 @@
|
|||||||
|
|
||||||
<example caption='Unfriending existing friend'>
|
<example caption='Unfriending existing friend'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='provisioning.clayster.com'
|
<message from='provisioning.example.org'
|
||||||
to='device@clayster.com'>
|
to='device@example.org'>
|
||||||
<unfriend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
<unfriend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||||
</message>]]>
|
</message>]]>
|
||||||
</example>
|
</example>
|
||||||
</section3>
|
</section3>
|
||||||
@ -821,9 +824,9 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Recommending friendships'>
|
<example caption='Recommending friendships'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='provisioning.clayster.com'
|
<message from='provisioning.example.org'
|
||||||
to='device@clayster.com'>
|
to='device@example.org'>
|
||||||
<friend xmlns='urn:xmpp:iot:provisioning' jid='client2@clayster.com'/>
|
<friend xmlns='urn:xmpp:iot:provisioning' jid='client2@example.org'/>
|
||||||
</message>]]>
|
</message>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -850,29 +853,29 @@
|
|||||||
<example caption='Rejecting read-outs'>
|
<example caption='Rejecting read-outs'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='11'>
|
id='11'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='1'/>
|
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='1'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='12'>
|
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>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='12'>
|
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>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='11'>
|
id='11'>
|
||||||
<rejected xmlns='urn:xmpp:iot:sensordata' seqnr='1'>
|
<rejected xmlns='urn:xmpp:iot:sensordata' seqnr='1'>
|
||||||
<error>Access denied.</error>
|
<error>Access denied.</error>
|
||||||
@ -903,8 +906,8 @@
|
|||||||
<example caption='Restricting nodes during read-out'>
|
<example caption='Restricting nodes during read-out'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='13'>
|
id='13'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='2'>
|
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='2'>
|
||||||
<node nodeId='Device02'/>
|
<node nodeId='Device02'/>
|
||||||
@ -913,27 +916,27 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='14'>
|
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='Device02'/>
|
||||||
<node nodeId='Device03'/>
|
<node nodeId='Device03'/>
|
||||||
</canRead>
|
</canRead>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='14'>
|
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'/>
|
<node nodeId='Device02'/>
|
||||||
</canReadResponse>
|
</canReadResponse>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='13'>
|
id='13'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='2'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -963,32 +966,32 @@
|
|||||||
<example caption='Restricting fields during read-out'>
|
<example caption='Restricting fields during read-out'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='15'>
|
id='15'>
|
||||||
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='3'/>
|
<req xmlns='urn:xmpp:iot:sensordata' momentary='true' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' seqnr='3'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='16'>
|
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>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='16'>
|
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='Energy'/>
|
||||||
<field name='Power'/>
|
<field name='Power'/>
|
||||||
</canReadResponse>
|
</canReadResponse>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='15'>
|
id='15'>
|
||||||
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='3'/>
|
<accepted xmlns='urn:xmpp:iot:sensordata' seqnr='3'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1019,8 +1022,8 @@
|
|||||||
<example caption='Rejecting control action'>
|
<example caption='Rejecting control action'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='17'>
|
id='17'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<boolean name='Output' value='true'/>
|
<boolean name='Output' value='true'/>
|
||||||
@ -1028,24 +1031,24 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='18'>
|
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'/>
|
<parameter name='Output'/>
|
||||||
</canControl>
|
</canControl>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='18'>
|
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>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='17'>
|
id='17'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='InsufficientPrivileges'/>
|
<setResponse xmlns='urn:xmpp:iot:control' responseCode='InsufficientPrivileges'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1071,8 +1074,8 @@
|
|||||||
<example caption='Restricting nodes during control'>
|
<example caption='Restricting nodes during control'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='19'>
|
id='19'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -1084,10 +1087,10 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='concentrator@clayster.com/plc'
|
from='concentrator@example.org/plc'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='20'>
|
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='DigitalOutput1'/>
|
||||||
<node nodeId='DigitalOutput2'/>
|
<node nodeId='DigitalOutput2'/>
|
||||||
<node nodeId='DigitalOutput3'/>
|
<node nodeId='DigitalOutput3'/>
|
||||||
@ -1097,18 +1100,18 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='concentrator@clayster.com/plc'
|
to='concentrator@example.org/plc'
|
||||||
id='20'>
|
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='DigitalOutput2'/>
|
||||||
<node nodeId='DigitalOutput3'/>
|
<node nodeId='DigitalOutput3'/>
|
||||||
</canControlResponse>
|
</canControlResponse>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='19'>
|
id='19'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
||||||
<node nodeId='DigitalOutput2'/>
|
<node nodeId='DigitalOutput2'/>
|
||||||
@ -1146,8 +1149,8 @@
|
|||||||
<example caption='Restricting parameters during control'>
|
<example caption='Restricting parameters during control'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='plc@clayster.com'
|
to='plc@example.org'
|
||||||
id='21'>
|
id='21'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<boolean name='DigitalOutput1' value='true'/>
|
<boolean name='DigitalOutput1' value='true'/>
|
||||||
@ -1162,10 +1165,10 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='plc@clayster.com/plc'
|
from='plc@example.org/plc'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='22'>
|
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='DigitalOutput1'/>
|
||||||
<parameter name='DigitalOutput2'/>
|
<parameter name='DigitalOutput2'/>
|
||||||
<parameter name='DigitalOutput3'/>
|
<parameter name='DigitalOutput3'/>
|
||||||
@ -1178,10 +1181,10 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='plc@clayster.com/plc'
|
to='plc@example.org/plc'
|
||||||
id='22'>
|
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='DigitalOutput1'/>
|
||||||
<parameter name='DigitalOutput2'/>
|
<parameter name='DigitalOutput2'/>
|
||||||
<parameter name='DigitalOutput3'/>
|
<parameter name='DigitalOutput3'/>
|
||||||
@ -1190,8 +1193,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='plc@clayster.com'
|
from='plc@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='21'>
|
id='21'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
<setResponse xmlns='urn:xmpp:iot:control' responseCode='OK'>
|
||||||
<parameter name='DigitalOutput1'/>
|
<parameter name='DigitalOutput1'/>
|
||||||
@ -1229,15 +1232,15 @@
|
|||||||
<example caption='Clear cache'>
|
<example caption='Clear cache'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='23'>
|
id='23'>
|
||||||
<clearCache xmlns='urn:xmpp:iot:provisioning'/>
|
<clearCache xmlns='urn:xmpp:iot:provisioning'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='23'>
|
id='23'>
|
||||||
<clearCacheResponse xmlns='urn:xmpp:iot:provisioning'/>
|
<clearCacheResponse xmlns='urn:xmpp:iot:provisioning'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1253,29 +1256,29 @@
|
|||||||
<example caption='Requesting a service token'>
|
<example caption='Requesting a service token'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='24'>
|
id='24'>
|
||||||
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
<getToken xmlns='urn:xmpp:iot:provisioning'>BASE-64 ENCODED PUBLIC X.509 CERTIFICATE</getToken>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='24'>
|
id='24'>
|
||||||
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
<getTokenChallenge xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED CHALLENGE</getTokenChallenge>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='25'>
|
id='25'>
|
||||||
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
<getTokenChallengeResponse xmlns='urn:xmpp:iot:provisioning' seqnr='1'>BASE-64 ENCODED RESPONSE</getTokenChallengeResponse>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='25'>
|
id='25'>
|
||||||
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
<getTokenResponse xmlns='urn:xmpp:iot:provisioning' token='TOKEN'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1373,8 +1376,8 @@
|
|||||||
<!-- user connects to service -->
|
<!-- user connects to service -->
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='service@clayster.com/service'
|
from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='26'>
|
id='26'>
|
||||||
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
||||||
<credentials type='IpAddress' value='10.0.0.1'/>
|
<credentials type='IpAddress' value='10.0.0.1'/>
|
||||||
@ -1384,16 +1387,16 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='service@clayster.com/service'
|
to='service@example.org/service'
|
||||||
id='26'>
|
id='26'>
|
||||||
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<!-- user performs login into service -->
|
<!-- user performs login into service -->
|
||||||
|
|
||||||
<message from='service@clayster.com/service'
|
<message from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'>
|
to='provisioning.example.org'>
|
||||||
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
@ -1471,15 +1474,15 @@
|
|||||||
<!-- user wants to perform action -->
|
<!-- user wants to perform action -->
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='service@clayster.com/service'
|
from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='27'>
|
id='27'>
|
||||||
<hasPrivilege xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' privilegeId='Sensors.View'/>
|
<hasPrivilege xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' privilegeId='Sensors.View'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='service@clayster.com/service'
|
to='service@example.org/service'
|
||||||
id='27'>
|
id='27'>
|
||||||
<hasPrivilegeResponse xmlns='urn:xmpp:iot:provisioning' result='true'/>
|
<hasPrivilegeResponse xmlns='urn:xmpp:iot:provisioning' result='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
@ -1505,8 +1508,8 @@
|
|||||||
<!-- user connects to service -->
|
<!-- user connects to service -->
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='service@clayster.com/service'
|
from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='28'>
|
id='28'>
|
||||||
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
<canAccess xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1'>
|
||||||
<credentials type='IpAddress' value='10.0.0.1'/>
|
<credentials type='IpAddress' value='10.0.0.1'/>
|
||||||
@ -1516,29 +1519,29 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='service@clayster.com/service'
|
to='service@example.org/service'
|
||||||
id='28'>
|
id='28'>
|
||||||
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
<canAccessResponse xmlns='urn:xmpp:iot:provisioning' userToken='USERTOKEN1' result='true'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<!-- user performs login into service -->
|
<!-- user performs login into service -->
|
||||||
|
|
||||||
<message from='service@clayster.com/service'
|
<message from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'>
|
to='provisioning.example.org'>
|
||||||
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
<userLoggedIn xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1' userName='Kermit' />
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='service@clayster.com/service'
|
from='service@example.org/service'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='29'>
|
id='29'>
|
||||||
<downloadPrivileges xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'/>
|
<downloadPrivileges xmlns='urn:xmpp:iot:provisioning' serviceToken='SERVICETOKEN1' userToken='USERTOKEN1'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='service@clayster.com/service'
|
to='service@example.org/service'
|
||||||
id='29'>
|
id='29'>
|
||||||
<downloadPrivilegesResponse>
|
<downloadPrivilegesResponse>
|
||||||
<exclude id='Sensors.Delete'/>
|
<exclude id='Sensors.Delete'/>
|
||||||
@ -1563,8 +1566,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning.clayster.com'
|
to='provisioning.example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1572,8 +1575,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning.clayster.com'
|
from='provisioning.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<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' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -29,13 +29,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>sensor-network-control</shortname>
|
<shortname>sensor-network-control</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.4</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>psa</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.3</version>
|
<version>0.3</version>
|
||||||
<date>2014-04-07</date>
|
<date>2014-04-07</date>
|
||||||
@ -378,8 +381,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Message stanza for setting a value'>
|
<example caption='Message stanza for setting a value'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='digital.output@clayster.com'>
|
to='digital.output@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<boolean name='Output' value='true'/>
|
<boolean name='Output' value='true'/>
|
||||||
</set>
|
</set>
|
||||||
@ -397,8 +400,8 @@
|
|||||||
<example caption='IQ stanza for setting a value'>
|
<example caption='IQ stanza for setting a value'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='digital.output@clayster.com'
|
to='digital.output@example.org'
|
||||||
id='1'>
|
id='1'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<boolean name='Output' value='true'/>
|
<boolean name='Output' value='true'/>
|
||||||
@ -406,8 +409,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='digital.output@clayster.com'
|
from='digital.output@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='1'>
|
id='1'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control'/>
|
<setResponse xmlns='urn:xmpp:iot:control'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -429,8 +432,8 @@
|
|||||||
<example caption='Control failure response'>
|
<example caption='Control failure response'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='analog.output@clayster.com'
|
to='analog.output@example.org'
|
||||||
id='2'>
|
id='2'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<boolean name='Output' value='true'/>
|
<boolean name='Output' value='true'/>
|
||||||
@ -438,8 +441,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='analog.output@clayster.com'
|
from='analog.output@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='2'>
|
id='2'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -463,8 +466,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single boolean-valued control parameter'>
|
<example caption='Setting a single boolean-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='digital.output@clayster.com'>
|
to='digital.output@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<boolean name='Output' value='true'/>
|
<boolean name='Output' value='true'/>
|
||||||
</set>
|
</set>
|
||||||
@ -478,8 +481,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single 32-bit integer-valued control parameter'>
|
<example caption='Setting a single 32-bit integer-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='analog.output@clayster.com'>
|
to='analog.output@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<int name='Output' value='50000'/>
|
<int name='Output' value='50000'/>
|
||||||
</set>
|
</set>
|
||||||
@ -494,8 +497,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single 64-bit integer-valued control parameter'>
|
<example caption='Setting a single 64-bit integer-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='megaprecision.analog.output@clayster.com'>
|
to='megaprecision.analog.output@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<long name='Output' value='500000000000000'/>
|
<long name='Output' value='500000000000000'/>
|
||||||
</set>
|
</set>
|
||||||
@ -509,8 +512,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single string-valued control parameter'>
|
<example caption='Setting a single string-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='text.display@clayster.com'>
|
to='text.display@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<string name='Row1' value='Temperature: 21.4 °C'/>
|
<string name='Row1' value='Temperature: 21.4 °C'/>
|
||||||
</set>
|
</set>
|
||||||
@ -524,8 +527,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single double-valued control parameter'>
|
<example caption='Setting a single double-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='analog.output2@clayster.com'>
|
to='analog.output2@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<double name='4-20mA' value='8.192'/>
|
<double name='4-20mA' value='8.192'/>
|
||||||
</set>
|
</set>
|
||||||
@ -539,8 +542,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single date-valued control parameter'>
|
<example caption='Setting a single date-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='alarm@clayster.com'>
|
to='alarm@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<date name='TariffStartDate' value='2013-05-01'/>
|
<date name='TariffStartDate' value='2013-05-01'/>
|
||||||
</set>
|
</set>
|
||||||
@ -554,8 +557,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single time-valued control parameter'>
|
<example caption='Setting a single time-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='alarm@clayster.com'>
|
to='alarm@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<time name='Alarm Time' value='08:00:00'/>
|
<time name='Alarm Time' value='08:00:00'/>
|
||||||
</set>
|
</set>
|
||||||
@ -569,8 +572,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single date & time-valued control parameter'>
|
<example caption='Setting a single date & time-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='alarm@clayster.com'>
|
to='alarm@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<dateTime name='Alarm Time' value='2013-04-02T08:00:00'/>
|
<dateTime name='Alarm Time' value='2013-04-02T08:00:00'/>
|
||||||
</set>
|
</set>
|
||||||
@ -584,8 +587,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single duration-valued control parameter'>
|
<example caption='Setting a single duration-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='alarm@clayster.com'>
|
to='alarm@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<duration name='Alarm Duration' value='PT3M30S'/>
|
<duration name='Alarm Duration' value='PT3M30S'/>
|
||||||
</set>
|
</set>
|
||||||
@ -599,8 +602,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting a single color-valued control parameter'>
|
<example caption='Setting a single color-valued control parameter'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='spotlight@clayster.com'>
|
to='spotlight@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<color name='Color' value='3399FF'/>
|
<color name='Color' value='3399FF'/>
|
||||||
</set>
|
</set>
|
||||||
@ -614,8 +617,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Setting multiple control parameters at once'>
|
<example caption='Setting multiple control parameters at once'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='dimmer@clayster.com'>
|
to='dimmer@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<int name='FadeTimeMilliseconds' value='500'/>
|
<int name='FadeTimeMilliseconds' value='500'/>
|
||||||
<int name='OutputPercent' value='10'/>
|
<int name='OutputPercent' value='10'/>
|
||||||
@ -644,15 +647,15 @@
|
|||||||
<example caption='Getting a control form'>
|
<example caption='Getting a control form'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='dimmer@clayster.com'
|
to='dimmer@example.org'
|
||||||
id='3'>
|
id='3'>
|
||||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='dimmer@clayster.com'
|
from='dimmer@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='3'>
|
id='3'>
|
||||||
<x type='form'
|
<x type='form'
|
||||||
xmlns='jabber:x:data'
|
xmlns='jabber:x:data'
|
||||||
@ -724,15 +727,15 @@
|
|||||||
<example caption='Getting a control form, Failure'>
|
<example caption='Getting a control form, Failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='dimmer@clayster.com'
|
to='dimmer@example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='dimmer@clayster.com'
|
from='dimmer@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='4'>
|
id='4'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -752,8 +755,8 @@
|
|||||||
<example caption='Setting a (partial) control form'>
|
<example caption='Setting a (partial) control form'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='dimmer@clayster.com'
|
to='dimmer@example.org'
|
||||||
id='5'>
|
id='5'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<x type='submit' xmlns='jabber:x:data'>
|
<x type='submit' xmlns='jabber:x:data'>
|
||||||
@ -771,8 +774,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='dimmer@clayster.com'
|
from='dimmer@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='5'>
|
id='5'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control' />
|
<setResponse xmlns='urn:xmpp:iot:control' />
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -790,8 +793,8 @@
|
|||||||
<example caption='Setting a (partial) control form, Failure'>
|
<example caption='Setting a (partial) control form, Failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='dimmer@clayster.com'
|
to='dimmer@example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<x type='submit' xmlns='jabber:x:data'>
|
<x type='submit' xmlns='jabber:x:data'>
|
||||||
@ -809,8 +812,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='dimmer@clayster.com'
|
from='dimmer@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='6'>
|
id='6'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -832,8 +835,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Sending a control command to a node behind a concentrator'>
|
<example caption='Sending a control command to a node behind a concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'>
|
to='concentrator@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
<boolean name='Output' value='false'/>
|
<boolean name='Output' value='false'/>
|
||||||
@ -848,8 +851,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Sending a control command to multiple nodes'>
|
<example caption='Sending a control command to multiple nodes'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='master@clayster.com/amr'
|
<message from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'>
|
to='concentrator@example.org'>
|
||||||
<set xmlns='urn:xmpp:iot:control'>
|
<set xmlns='urn:xmpp:iot:control'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
<node nodeId='DigitalOutput2'/>
|
<node nodeId='DigitalOutput2'/>
|
||||||
@ -870,8 +873,8 @@
|
|||||||
<example caption='Sending a control command to multiple nodes, Failure'>
|
<example caption='Sending a control command to multiple nodes, Failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='7'>
|
id='7'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -887,8 +890,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='7'>
|
id='7'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -905,8 +908,8 @@
|
|||||||
<example caption='Getting a control form from multiple nodes'>
|
<example caption='Getting a control form from multiple nodes'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -917,8 +920,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='8'>
|
id='8'>
|
||||||
<x type='form'
|
<x type='form'
|
||||||
xmlns='jabber:x:data'
|
xmlns='jabber:x:data'
|
||||||
@ -953,8 +956,8 @@
|
|||||||
<example caption='Getting a control form from multiple nodes, Failure'>
|
<example caption='Getting a control form from multiple nodes, Failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='9'>
|
id='9'>
|
||||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -965,8 +968,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='9'>
|
id='9'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -983,8 +986,8 @@
|
|||||||
<example caption='Setting a (partial) control form to multiple nodes'>
|
<example caption='Setting a (partial) control form to multiple nodes'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='10'>
|
id='10'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -1003,8 +1006,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='10'>
|
id='10'>
|
||||||
<setResponse xmlns='urn:xmpp:iot:control' />
|
<setResponse xmlns='urn:xmpp:iot:control' />
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1018,8 +1021,8 @@
|
|||||||
<example caption='Setting a (partial) control form to multiple nodes'>
|
<example caption='Setting a (partial) control form to multiple nodes'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='concentrator@clayster.com'
|
to='concentrator@example.org'
|
||||||
id='11'>
|
id='11'>
|
||||||
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
||||||
<node nodeId='DigitalOutput1'/>
|
<node nodeId='DigitalOutput1'/>
|
||||||
@ -1042,8 +1045,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='concentrator@clayster.com'
|
from='concentrator@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='11'>
|
id='11'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -1059,8 +1062,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning@clayster.com'
|
to='provisioning@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1068,8 +1071,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning@clayster.com'
|
from='provisioning@example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
@ -1544,15 +1547,15 @@
|
|||||||
<example caption='Grouping control parameters'>
|
<example caption='Grouping control parameters'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='master@clayster.com/amr'
|
from='master@example.org/amr'
|
||||||
to='spotlight@clayster.com'
|
to='spotlight@example.org'
|
||||||
id='12'>
|
id='12'>
|
||||||
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
<getForm xmlns='urn:xmpp:iot:control' xml:lang='en'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='spotlight@clayster.com'
|
from='spotlight@example.org'
|
||||||
to='master@clayster.com/amr'
|
to='master@example.org/amr'
|
||||||
id='12'>
|
id='12'>
|
||||||
<x type='form'
|
<x type='form'
|
||||||
xmlns='jabber:x:data'
|
xmlns='jabber:x:data'
|
||||||
|
779
xep-0326.xml
779
xep-0326.xml
File diff suppressed because it is too large
Load Diff
19
xep-0331.xml
19
xep-0331.xml
@ -1,4 +1,4 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -24,13 +24,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>color-parameter</shortname>
|
<shortname>color-parameter</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.3</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.2</version>
|
<version>0.2</version>
|
||||||
<date>2014-03-10</date>
|
<date>2014-03-10</date>
|
||||||
|
247
xep-0332.xml
247
xep-0332.xml
@ -1,4 +1,4 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -27,13 +27,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>NOT_YET_ASSIGNED</shortname>
|
<shortname>NOT_YET_ASSIGNED</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.4</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.3</version>
|
<version>0.3</version>
|
||||||
<date>2014-08-12</date>
|
<date>2014-08-12</date>
|
||||||
@ -384,19 +387,19 @@
|
|||||||
<example caption='OPTIONS'>
|
<example caption='OPTIONS'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='1'>
|
id='1'>
|
||||||
<req xmlns='urn:xmpp:http' method='OPTIONS' resource='*' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='OPTIONS' resource='*' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='1'>
|
id='1'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -415,19 +418,19 @@
|
|||||||
<example caption='GET'>
|
<example caption='GET'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='2'>
|
id='2'>
|
||||||
<req xmlns='urn:xmpp:http' method='GET' resource='/rdf/xep' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='GET' resource='/rdf/xep' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='2'>
|
id='2'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -439,7 +442,7 @@
|
|||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
||||||
@base <http://clayster.com/>.
|
@base <http://example.org/>.
|
||||||
|
|
||||||
<xep> dc:title "HTTP over XMPP";
|
<xep> dc:title "HTTP over XMPP";
|
||||||
dc:creator <PeterWaher>;
|
dc:creator <PeterWaher>;
|
||||||
@ -461,19 +464,19 @@
|
|||||||
<example caption='HEAD'>
|
<example caption='HEAD'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='3'>
|
id='3'>
|
||||||
<req xmlns='urn:xmpp:http' method='HEAD' resource='/video/video1.m4' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='HEAD' resource='/video/video1.m4' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='3'>
|
id='3'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -493,19 +496,19 @@
|
|||||||
<example caption='POST'>
|
<example caption='POST'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<req xmlns='urn:xmpp:http' method='POST' resource='/sparql/?default-graph-uri=http%3A%2F%2Fclayster.com%2Frdf/xep' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='POST' resource='/sparql/?default-graph-uri=http%3A%2F%2Fexample.org%2Frdf/xep' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
<header name='User-agent'>Clayster HTTP/XMPP Client</header>
|
<header name='User-agent'>Clayster HTTP/XMPP Client</header>
|
||||||
<header name='Content-Type'>application/sparql-query</header>
|
<header name='Content-Type'>application/sparql-query</header>
|
||||||
<header name='Content-Length'>...</header>
|
<header name='Content-Length'>...</header>
|
||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>PREFIX dc: <http://purl.org/dc/elements/1.1/>
|
<text>PREFIX dc: <http://purl.org/dc/elements/1.1/>
|
||||||
BASE <http://clayster.com/>
|
BASE <http://example.org/>
|
||||||
|
|
||||||
SELECT ?title ?creator ?publisher
|
SELECT ?title ?creator ?publisher
|
||||||
WHERE { ?x dc:title ?title .
|
WHERE { ?x dc:title ?title .
|
||||||
@ -516,8 +519,8 @@ WHERE { ?x dc:title ?title .
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='4'>
|
id='4'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -539,7 +542,7 @@ WHERE { ?x dc:title ?title .
|
|||||||
<literal>HTTP over XMPP</literal>
|
<literal>HTTP over XMPP</literal>
|
||||||
</binding>
|
</binding>
|
||||||
<binding name="creator">
|
<binding name="creator">
|
||||||
<uri>http://clayster.com/PeterWaher</uri>
|
<uri>http://example.org/PeterWaher</uri>
|
||||||
</binding>
|
</binding>
|
||||||
</result>
|
</result>
|
||||||
</results>
|
</results>
|
||||||
@ -563,12 +566,12 @@ WHERE { ?x dc:title ?title .
|
|||||||
<example caption='PUT'>
|
<example caption='PUT'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='5'>
|
id='5'>
|
||||||
<req xmlns='urn:xmpp:http' method='PUT' resource='/index.html' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='PUT' resource='/index.html' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
<header name='Content-Type'>text/html</header>
|
<header name='Content-Type'>text/html</header>
|
||||||
<header name='Content-Length'>...</header>
|
<header name='Content-Length'>...</header>
|
||||||
</headers>
|
</headers>
|
||||||
@ -579,8 +582,8 @@ WHERE { ?x dc:title ?title .
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='5'>
|
id='5'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='204' statusMessage='No Content'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='204' statusMessage='No Content'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -598,19 +601,19 @@ WHERE { ?x dc:title ?title .
|
|||||||
<example caption='DELETE'>
|
<example caption='DELETE'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<req xmlns='urn:xmpp:http' method='DELETE' resource='/index.html' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='DELETE' resource='/index.html' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='6'>
|
id='6'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='403' statusMessage='Forbidden'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='403' statusMessage='Forbidden'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -632,19 +635,19 @@ WHERE { ?x dc:title ?title .
|
|||||||
<example caption='TRACE'>
|
<example caption='TRACE'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='7'>
|
id='7'>
|
||||||
<req xmlns='urn:xmpp:http' method='TRACE' resource='/rdf/ex1.turtle' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='TRACE' resource='/rdf/ex1.turtle' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='7'>
|
id='7'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -655,7 +658,7 @@ WHERE { ?x dc:title ?title .
|
|||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>GET /rdf/ex1.turtle HTTP/1.1
|
<text>GET /rdf/ex1.turtle HTTP/1.1
|
||||||
Host: clayster.com</text>
|
Host: example.org</text>
|
||||||
</data>
|
</data>
|
||||||
</resp>
|
</resp>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -675,8 +678,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='PATCH'>
|
<example caption='PATCH'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<req xmlns='urn:xmpp:http' method='PATCH' resource='/file.txt' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='PATCH' resource='/file.txt' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -692,8 +695,8 @@ Host: clayster.com</text>
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='8'>
|
id='8'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='204' statusMessage='No Content'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='204' statusMessage='No Content'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -721,8 +724,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='text'>
|
<example caption='text'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='2'>
|
id='2'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -734,7 +737,7 @@ Host: clayster.com</text>
|
|||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
||||||
@base <http://clayster.com/>.
|
@base <http://example.org/>.
|
||||||
|
|
||||||
<xep> dc:title "HTTP over XMPP";
|
<xep> dc:title "HTTP over XMPP";
|
||||||
dc:creator <PeterWaher>;
|
dc:creator <PeterWaher>;
|
||||||
@ -765,8 +768,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='xml'>
|
<example caption='xml'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='4'>
|
id='4'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -788,7 +791,7 @@ Host: clayster.com</text>
|
|||||||
<literal>HTTP over XMPP</literal>
|
<literal>HTTP over XMPP</literal>
|
||||||
</binding>
|
</binding>
|
||||||
<binding name="creator">
|
<binding name="creator">
|
||||||
<uri>http://clayster.com/PeterWaher</uri>
|
<uri>http://example.org/PeterWaher</uri>
|
||||||
</binding>
|
</binding>
|
||||||
</result>
|
</result>
|
||||||
</results>
|
</results>
|
||||||
@ -816,8 +819,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='base64'>
|
<example caption='base64'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='9'>
|
id='9'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -851,8 +854,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='chunkedBase64'>
|
<example caption='chunkedBase64'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='10'>
|
id='10'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -867,15 +870,15 @@ Host: clayster.com</text>
|
|||||||
</resp>
|
</resp>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<message from='httpserver@clayster.com'
|
<message from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'>
|
to='httpclient@example.org/browser'>
|
||||||
<chunk xmlns='urn:xmpp:http' streamId='Stream0001' nr='0'>iVBORw0KGgoAAAANSUhEUgAAASwAAAGQCAYAA ...</chunk>
|
<chunk xmlns='urn:xmpp:http' streamId='Stream0001' nr='0'>iVBORw0KGgoAAAANSUhEUgAAASwAAAGQCAYAA ...</chunk>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
<message from='httpserver@clayster.com'
|
<message from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'>
|
to='httpclient@example.org/browser'>
|
||||||
<chunk xmlns='urn:xmpp:http' streamId='Stream0001' nr='5' last='true'>... 2uPzi9u+tVWJd+e+y1AAAAABJRU5ErkJggg==</chunk>
|
<chunk xmlns='urn:xmpp:http' streamId='Stream0001' nr='5' last='true'>... 2uPzi9u+tVWJd+e+y1AAAAABJRU5ErkJggg==</chunk>
|
||||||
</message>]]>
|
</message>]]>
|
||||||
</example>
|
</example>
|
||||||
@ -909,8 +912,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='sipub'>
|
<example caption='sipub'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='11'>
|
id='11'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -921,7 +924,7 @@ Host: clayster.com</text>
|
|||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<sipub xmlns='http://jabber.org/protocol/sipub'
|
<sipub xmlns='http://jabber.org/protocol/sipub'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
id='file-0001'
|
id='file-0001'
|
||||||
mime-type='image/png'
|
mime-type='image/png'
|
||||||
profile='http://jabber.org/protocol/si/profile/file-transfer'>
|
profile='http://jabber.org/protocol/si/profile/file-transfer'>
|
||||||
@ -956,19 +959,19 @@ Host: clayster.com</text>
|
|||||||
<example caption='ibb'>
|
<example caption='ibb'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='12'>
|
id='12'>
|
||||||
<req xmlns='urn:xmpp:http' method='GET' resource='/webcam1.jpg' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='GET' resource='/webcam1.jpg' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='12'>
|
id='12'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -983,8 +986,8 @@ Host: clayster.com</text>
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='13'>
|
id='13'>
|
||||||
<open xmlns='http://jabber.org/protocol/ibb'
|
<open xmlns='http://jabber.org/protocol/ibb'
|
||||||
block-size='32768'
|
block-size='32768'
|
||||||
@ -993,27 +996,27 @@ Host: clayster.com</text>
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='13'/>
|
id='13'/>
|
||||||
|
|
||||||
<message from='httpserver@clayster.com'
|
<message from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'>
|
to='httpclient@example.org/browser'>
|
||||||
<data xmlns='http://jabber.org/protocol/ibb' sid='Stream0002' seq='0'>...</chunk>
|
<data xmlns='http://jabber.org/protocol/ibb' sid='Stream0002' seq='0'>...</chunk>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='14'>
|
id='14'>
|
||||||
<close xmlns='http://jabber.org/protocol/ibb' sid='Stream0002'/>
|
<close xmlns='http://jabber.org/protocol/ibb' sid='Stream0002'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='14'/>]]>
|
id='14'/>]]>
|
||||||
</example>
|
</example>
|
||||||
</section3>
|
</section3>
|
||||||
@ -1027,8 +1030,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='jingle'>
|
<example caption='jingle'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='14'>
|
id='14'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1145,9 +1148,9 @@ Host: clayster.com</text>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Examples of URLs with the httpx scheme'>
|
<example caption='Examples of URLs with the httpx scheme'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
httpx://httpServer@clayster.com/index.html
|
httpx://httpServer@example.org/index.html
|
||||||
httpx://httpServer@clayster.com/images/image1.png
|
httpx://httpServer@example.org/images/image1.png
|
||||||
httpx://httpServer@clayster.com/api?p1=a&p2=b]]>
|
httpx://httpServer@example.org/api?p1=a&p2=b]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
By creating a new scheme for HTTP over XMPP transport, and implementing support for it in web browsers, XML HTTP request objects and web servers,
|
By creating a new scheme for HTTP over XMPP transport, and implementing support for it in web browsers, XML HTTP request objects and web servers,
|
||||||
@ -1241,7 +1244,7 @@ Host: clayster.com</text>
|
|||||||
<example caption='SOAP method call'>
|
<example caption='SOAP method call'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@example.com'
|
to='httpserver@example.com'
|
||||||
id='15'>
|
id='15'>
|
||||||
<req xmlns='urn:xmpp:http' method='POST' resource='/Math' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='POST' resource='/Math' version='1.1'>
|
||||||
@ -1254,7 +1257,7 @@ Host: clayster.com</text>
|
|||||||
<xml>
|
<xml>
|
||||||
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
|
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
|
||||||
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
|
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
|
||||||
<soap:Body xmlns:m="http://www.clayster.com/math">
|
<soap:Body xmlns:m="http://www.example.org/math">
|
||||||
<m:AddNumbers>
|
<m:AddNumbers>
|
||||||
<m:N1>10</m:N1>
|
<m:N1>10</m:N1>
|
||||||
<m:N2>20</m:N2>
|
<m:N2>20</m:N2>
|
||||||
@ -1268,7 +1271,7 @@ Host: clayster.com</text>
|
|||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@example.com'
|
from='httpserver@example.com'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='15'>
|
id='15'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1279,7 +1282,7 @@ Host: clayster.com</text>
|
|||||||
<xml>
|
<xml>
|
||||||
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
|
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
|
||||||
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
|
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
|
||||||
<soap:Body xmlns:m="http://www.clayster.com/math">
|
<soap:Body xmlns:m="http://www.example.org/math">
|
||||||
<m:AddNumbersResponse>
|
<m:AddNumbersResponse>
|
||||||
<m:Sum>30</m:Sum>
|
<m:Sum>30</m:Sum>
|
||||||
</m:AddNumbersResponse>
|
</m:AddNumbersResponse>
|
||||||
@ -1304,19 +1307,19 @@ Host: clayster.com</text>
|
|||||||
<example caption='REST'>
|
<example caption='REST'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='16'>
|
id='16'>
|
||||||
<req xmlns='urn:xmpp:http' method='GET' resource='/api/multiplicationtable?m=5' version='1.1'>
|
<req xmlns='urn:xmpp:http' method='GET' resource='/api/multiplicationtable?m=5' version='1.1'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
</headers>
|
</headers>
|
||||||
</req>
|
</req>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='16'>
|
id='16'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1373,8 +1376,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='Turtle'>
|
<example caption='Turtle'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='2'>
|
id='2'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1386,7 +1389,7 @@ Host: clayster.com</text>
|
|||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
||||||
@base <http://clayster.com/>.
|
@base <http://example.org/>.
|
||||||
|
|
||||||
<xep> dc:title "HTTP over XMPP";
|
<xep> dc:title "HTTP over XMPP";
|
||||||
dc:creator <PeterWaher>;
|
dc:creator <PeterWaher>;
|
||||||
@ -1409,8 +1412,8 @@ Host: clayster.com</text>
|
|||||||
<example caption='RDF'>
|
<example caption='RDF'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='17'>
|
id='17'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1423,10 +1426,10 @@ Host: clayster.com</text>
|
|||||||
<xml>
|
<xml>
|
||||||
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
|
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||||
<rdf:Description rdf:about="http://clayster.com/xep">
|
<rdf:Description rdf:about="http://example.org/xep">
|
||||||
<dc:title>HTTP over XMPP</dc:title>
|
<dc:title>HTTP over XMPP</dc:title>
|
||||||
<dc:creator rdf:resource="http://clayster.com/PeterWaher" />
|
<dc:creator rdf:resource="http://example.org/PeterWaher" />
|
||||||
<dc:publisher rdf:resource="http://clayster.com/XSF" />
|
<dc:publisher rdf:resource="http://example.org/XSF" />
|
||||||
</rdf:Description>
|
</rdf:Description>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</xml>
|
</xml>
|
||||||
@ -1442,20 +1445,20 @@ Host: clayster.com</text>
|
|||||||
<example caption='SPARQL'>
|
<example caption='SPARQL'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<req xmlns='urn:xmpp:http' method='POST' version='1.1'
|
<req xmlns='urn:xmpp:http' method='POST' version='1.1'
|
||||||
resource='/sparql/?default-graph-uri=http%3A%2F%2Fanother.example%2Fcalendar.rdf'>
|
resource='/sparql/?default-graph-uri=http%3A%2F%2Fanother.example%2Fcalendar.rdf'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
<header name='Host'>clayster.com</header>
|
<header name='Host'>example.org</header>
|
||||||
<header name='User-agent'>Clayster HTTP/XMPP Client</header>
|
<header name='User-agent'>Clayster HTTP/XMPP Client</header>
|
||||||
<header name='Content-Type'>application/sparql-query</header>
|
<header name='Content-Type'>application/sparql-query</header>
|
||||||
<header name='Content-Length'>...</header>
|
<header name='Content-Length'>...</header>
|
||||||
</headers>
|
</headers>
|
||||||
<data>
|
<data>
|
||||||
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
<text>@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
||||||
@base <http://clayster.com/>.
|
@base <http://example.org/>.
|
||||||
|
|
||||||
<xep> dc:title "HTTP over XMPP";
|
<xep> dc:title "HTTP over XMPP";
|
||||||
dc:creator <PeterWaher>;
|
dc:creator <PeterWaher>;
|
||||||
@ -1465,8 +1468,8 @@ Host: clayster.com</text>
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='4'>
|
id='4'>
|
||||||
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>
|
||||||
<headers xmlns='http://jabber.org/protocol/shim'>
|
<headers xmlns='http://jabber.org/protocol/shim'>
|
||||||
@ -1488,7 +1491,7 @@ Host: clayster.com</text>
|
|||||||
<literal>HTTP over XMPP</literal>
|
<literal>HTTP over XMPP</literal>
|
||||||
</binding>
|
</binding>
|
||||||
<binding name="creator">
|
<binding name="creator">
|
||||||
<uri>http://clayster.com/PeterWaher</uri>
|
<uri>http://example.org/PeterWaher</uri>
|
||||||
</binding>
|
</binding>
|
||||||
</result>
|
</result>
|
||||||
</results>
|
</results>
|
||||||
@ -1526,8 +1529,8 @@ Host: clayster.com</text>
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='httpclient@clayster.com/browser'
|
from='httpclient@example.org/browser'
|
||||||
to='httpserver@clayster.com'
|
to='httpserver@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1535,8 +1538,8 @@ Host: clayster.com</text>
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='httpserver@clayster.com'
|
from='httpserver@example.org'
|
||||||
to='httpclient@clayster.com/browser'
|
to='httpclient@example.org/browser'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
@ -1732,9 +1735,9 @@ Host: clayster.com</text>
|
|||||||
</p>
|
</p>
|
||||||
<code>
|
<code>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
httpx://httpServer@clayster.com/index.html
|
httpx://httpServer@example.org/index.html
|
||||||
httpx://httpServer@clayster.com/images/image1.png
|
httpx://httpServer@example.org/images/image1.png
|
||||||
httpx://httpServer@clayster.com/api?p1=a&p2=b]]>
|
httpx://httpServer@example.org/api?p1=a&p2=b]]>
|
||||||
</code>
|
</code>
|
||||||
</dd>
|
</dd>
|
||||||
</di>
|
</di>
|
||||||
@ -1791,7 +1794,7 @@ Host: clayster.com</text>
|
|||||||
For further information, please contact Peter Waher:
|
For further information, please contact Peter Waher:
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Email: <link url='mailto:peter.waher@clayster.com'>peter.waher@clayster.com</link><br/>
|
Email: <link url='mailto:peter.waher@example.org'>peter.waher@example.org</link><br/>
|
||||||
JabberID: <link url='xmpp:peter.waher@jabber.org'>peter.waher@jabber.org</link><br/>
|
JabberID: <link url='xmpp:peter.waher@jabber.org'>peter.waher@jabber.org</link><br/>
|
||||||
URI: <link url='http://www.linkedin.com/in/peterwaher'>http://www.linkedin.com/in/peterwaher</link>
|
URI: <link url='http://www.linkedin.com/in/peterwaher'>http://www.linkedin.com/in/peterwaher</link>
|
||||||
</p>
|
</p>
|
||||||
@ -1804,7 +1807,7 @@ Host: clayster.com</text>
|
|||||||
For concerns regarding changes to the provisional registration, please contact Peter Waher:
|
For concerns regarding changes to the provisional registration, please contact Peter Waher:
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Email: <link url='mailto:peter.waher@clayster.com'>peter.waher@clayster.com</link><br/>
|
Email: <link url='mailto:peter.waher@example.org'>peter.waher@example.org</link><br/>
|
||||||
JabberID: <link url='xmpp:peter.waher@jabber.org'>peter.waher@jabber.org</link><br/>
|
JabberID: <link url='xmpp:peter.waher@jabber.org'>peter.waher@jabber.org</link><br/>
|
||||||
URI: <link url='http://www.linkedin.com/in/peterwaher'>http://www.linkedin.com/in/peterwaher</link>
|
URI: <link url='http://www.linkedin.com/in/peterwaher'>http://www.linkedin.com/in/peterwaher</link>
|
||||||
</p>
|
</p>
|
||||||
|
53
xep-0336.xml
53
xep-0336.xml
@ -27,13 +27,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>dynamic-forms</shortname>
|
<shortname>dynamic-forms</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.2</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.1</version>
|
<version>0.1</version>
|
||||||
<date>2014-01-08</date>
|
<date>2014-01-08</date>
|
||||||
@ -356,8 +359,8 @@
|
|||||||
<example caption='Performing a server post-back'>
|
<example caption='Performing a server post-back'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='formclient@clayster.com/client'
|
from='formclient@example.org/client'
|
||||||
to='formserver@clayster.com'
|
to='formserver@example.org'
|
||||||
id='1'>
|
id='1'>
|
||||||
<submit xmlns='urn:xmpp:xdata:dynamic' xml:lang='en'>
|
<submit xmlns='urn:xmpp:xdata:dynamic' xml:lang='en'>
|
||||||
<x xmlns="jabber:x:data" type="submit">
|
<x xmlns="jabber:x:data" type="submit">
|
||||||
@ -381,8 +384,8 @@
|
|||||||
<example caption='Post-back response'>
|
<example caption='Post-back response'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='formserver@clayster.com'
|
from='formserver@example.org'
|
||||||
to='formclient@clayster.com/client'
|
to='formclient@example.org/client'
|
||||||
id='1'>
|
id='1'>
|
||||||
<x xmlns="jabber:x:data" type="form"
|
<x xmlns="jabber:x:data" type="form"
|
||||||
xmlns:xdd="urn:xmpp:xdata:dynamic"
|
xmlns:xdd="urn:xmpp:xdata:dynamic"
|
||||||
@ -601,8 +604,8 @@
|
|||||||
<example caption='Cancelling a dynamic form'>
|
<example caption='Cancelling a dynamic form'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='formclient@clayster.com/client'
|
from='formclient@example.org/client'
|
||||||
to='formserver@clayster.com'
|
to='formserver@example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<cancel xmlns='urn:xmpp:xdata:dynamic'>
|
<cancel xmlns='urn:xmpp:xdata:dynamic'>
|
||||||
<x xmlns="jabber:x:data" type="submit">
|
<x xmlns="jabber:x:data" type="submit">
|
||||||
@ -622,8 +625,8 @@
|
|||||||
<example caption='Dynamic form cancelled'>
|
<example caption='Dynamic form cancelled'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='formserver@clayster.com'
|
from='formserver@example.org'
|
||||||
to='formclient@clayster.com/client'
|
to='formclient@example.org/client'
|
||||||
id='4'/>]]>
|
id='4'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -647,8 +650,8 @@
|
|||||||
<example caption='Dynamic form not found during post-back'>
|
<example caption='Dynamic form not found during post-back'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='formserver@clayster.com'
|
from='formserver@example.org'
|
||||||
to='formclient@clayster.com/client'
|
to='formclient@example.org/client'
|
||||||
id='2'>
|
id='2'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -668,8 +671,8 @@
|
|||||||
<example caption='Other error during post-back'>
|
<example caption='Other error during post-back'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='formserver@clayster.com'
|
from='formserver@example.org'
|
||||||
to='formclient@clayster.com/client'
|
to='formclient@example.org/client'
|
||||||
id='3'>
|
id='3'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
|
<internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
|
||||||
@ -721,8 +724,8 @@
|
|||||||
</x>
|
</x>
|
||||||
|
|
||||||
...
|
...
|
||||||
<message from='server@clayster.com'
|
<message from='server@example.org'
|
||||||
to='client@clayster.com/client'>
|
to='client@example.org/client'>
|
||||||
<updated xmlns='urn:xmpp:xdata:dynamic' sessionVariable='xdd session' xml:lang='en'>
|
<updated xmlns='urn:xmpp:xdata:dynamic' sessionVariable='xdd session' xml:lang='en'>
|
||||||
<x xmlns="jabber:x:data" type="form"
|
<x xmlns="jabber:x:data" type="form"
|
||||||
xmlns:xdd="urn:xmpp:xdata:dynamic"
|
xmlns:xdd="urn:xmpp:xdata:dynamic"
|
||||||
@ -758,8 +761,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='formclient@clayster.com/client'
|
from='formclient@example.org/client'
|
||||||
to='formserver@clayster.com'
|
to='formserver@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -767,8 +770,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='formserver@clayster.com'
|
from='formserver@example.org'
|
||||||
to='formclient@clayster.com/client'
|
to='formclient@example.org/client'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
|
43
xep-0337.xml
43
xep-0337.xml
@ -21,13 +21,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>eventlogging</shortname>
|
<shortname>eventlogging</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.2</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.1</version>
|
<version>0.1</version>
|
||||||
<date>2014-01-08</date>
|
<date>2014-01-08</date>
|
||||||
@ -142,7 +145,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Simple event message'>
|
<example caption='Simple event message'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:52:23Z'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:52:23Z'>
|
||||||
<message>Something happened.</message>
|
<message>Something happened.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -155,7 +158,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Multi-line event message'>
|
<example caption='Multi-line event message'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-12T11:47:12Z'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-12T11:47:12Z'>
|
||||||
<message>10 objects deleted:
|
<message>10 objects deleted:
|
||||||
Object 1
|
Object 1
|
||||||
@ -171,7 +174,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Specifying type and level'>
|
<example caption='Specifying type and level'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:54:55Z' type='Warning' level='Major'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:54:55Z' type='Warning' level='Major'>
|
||||||
<message>Low on memory.</message>
|
<message>Low on memory.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -184,7 +187,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Specifying object and subject'>
|
<example caption='Specifying object and subject'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:58:12Z' type='Informational' level='Major' object='Towel' subject='Arthur Dent'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:58:12Z' type='Informational' level='Major' object='Towel' subject='Arthur Dent'>
|
||||||
<message>Object deleted.</message>
|
<message>Object deleted.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -197,7 +200,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Specifying an event ID'>
|
<example caption='Specifying an event ID'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' id='LoginFailed' timestamp='2013-11-10T16:04:45Z' type='Warning' level='Minor' object='user1' subject='10.0.0.1'>
|
<log xmlns='urn:xmpp:eventlog' id='LoginFailed' timestamp='2013-11-10T16:04:45Z' type='Warning' level='Minor' object='user1' subject='10.0.0.1'>
|
||||||
<message>User attempted to login but provided incorrect password.</message>
|
<message>User attempted to login but provided incorrect password.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -210,7 +213,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Tagging events with custom information'>
|
<example caption='Tagging events with custom information'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:07:01Z' type='Informational' level='Minor'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:07:01Z' type='Informational' level='Minor'>
|
||||||
<message>Current resources.</message>
|
<message>Current resources.</message>
|
||||||
<tag name='RAM' value='1655709892' type='xs:long'/>
|
<tag name='RAM' value='1655709892' type='xs:long'/>
|
||||||
@ -228,7 +231,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Specifying program module'>
|
<example caption='Specifying program module'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:17:56Z' type='Error' level='Major' object='object1' subject='user1' module='application1'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:17:56Z' type='Error' level='Major' object='object1' subject='user1' module='application1'>
|
||||||
<message>Something horrible happened.</message>
|
<message>Something horrible happened.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -241,7 +244,7 @@ Object 10</message>
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Sending debug information'>
|
<example caption='Sending debug information'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:12:25Z' type='Debug' level='Major' module='My new application' stackTrace='file1, line 1, ...'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T16:12:25Z' type='Debug' level='Major' module='My new application' stackTrace='file1, line 1, ...'>
|
||||||
<message>Something is rotten in the state of Denmark.</message>
|
<message>Something is rotten in the state of Denmark.</message>
|
||||||
<tag name='a' value='1' type='xs:int'/>
|
<tag name='a' value='1' type='xs:int'/>
|
||||||
@ -261,7 +264,7 @@ File2, Line2, ...
|
|||||||
</p>
|
</p>
|
||||||
<example caption='Sending multiple events'>
|
<example caption='Sending multiple events'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<message from='device@clayster.com/device' to='eventlog@clayster.com' type='normal' xml:lang='en'>
|
<message from='device@example.org/device' to='eventlog@example.org' type='normal' xml:lang='en'>
|
||||||
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:52:23Z'>
|
<log xmlns='urn:xmpp:eventlog' timestamp='2013-11-10T15:52:23Z'>
|
||||||
<message>Something happened.</message>
|
<message>Something happened.</message>
|
||||||
</log>
|
</log>
|
||||||
@ -277,8 +280,8 @@ File2, Line2, ...
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='eventlog@clayster.com'
|
to='eventlog@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -286,8 +289,8 @@ File2, Line2, ...
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='eventlog@clayster.com'
|
from='eventlog@example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
|
261
xep-0347.xml
261
xep-0347.xml
@ -1,4 +1,4 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<!-- TODO: Sub-namespace for Registration Clients.
|
<!-- TODO: Sub-namespace for Registration Clients.
|
||||||
urn:xmpp:iot:discovery:regunit - Registration Units (can claim ownership)
|
urn:xmpp:iot:discovery:regunit - Registration Units (can claim ownership)
|
||||||
-->
|
-->
|
||||||
@ -33,13 +33,7 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>iot-discovery</shortname>
|
<shortname>iot-discovery</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<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>
|
|
||||||
<author>
|
<author>
|
||||||
<firstname>Ronny</firstname>
|
<firstname>Ronny</firstname>
|
||||||
<surname>Klauck</surname>
|
<surname>Klauck</surname>
|
||||||
@ -47,6 +41,15 @@
|
|||||||
<jid>TBD</jid>
|
<jid>TBD</jid>
|
||||||
<uri>http://www-rnks.informatik.tu-cottbus.de/~rklauck</uri>
|
<uri>http://www-rnks.informatik.tu-cottbus.de/~rklauck</uri>
|
||||||
</author>
|
</author>
|
||||||
|
<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>
|
<revision>
|
||||||
<version>0.3</version>
|
<version>0.3</version>
|
||||||
<date>2014-11-11</date>
|
<date>2014-11-11</date>
|
||||||
@ -613,8 +616,8 @@
|
|||||||
<example caption='Register Thing'>
|
<example caption='Register Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='1'>
|
id='1'>
|
||||||
<register xmlns='urn:xmpp:iot:discovery'>
|
<register xmlns='urn:xmpp:iot:discovery'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
@ -626,8 +629,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='1'/>]]>
|
id='1'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -652,10 +655,10 @@
|
|||||||
<example caption='Registration response when alrady claimed'>
|
<example caption='Registration response when alrady claimed'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='1'>
|
id='1'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@clayster.com'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@example.org'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -671,8 +674,8 @@
|
|||||||
<example caption='Register self-owned Thing'>
|
<example caption='Register self-owned Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='2'>
|
id='2'>
|
||||||
<register xmlns='urn:xmpp:iot:discovery' selfOwned='true'>
|
<register xmlns='urn:xmpp:iot:discovery' selfOwned='true'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
@ -684,8 +687,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='2'/>]]>
|
id='2'/>]]>
|
||||||
</example>
|
</example>
|
||||||
</section2>
|
</section2>
|
||||||
@ -705,8 +708,8 @@
|
|||||||
<example caption='Register Thing behind Concentrator'>
|
<example caption='Register Thing behind Concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='rack@clayster.com/plcs'
|
from='rack@example.org/plcs'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='3'>
|
id='3'>
|
||||||
<register xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'>
|
<register xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
@ -718,8 +721,8 @@
|
|||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='rack@clayster.com/plcs'
|
to='rack@example.org/plcs'
|
||||||
id='3'/>]]>
|
id='3'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -765,8 +768,8 @@
|
|||||||
<example caption='Claim Ownership of public Thing'>
|
<example caption='Claim Ownership of public Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<mine xmlns='urn:xmpp:iot:discovery'>
|
<mine xmlns='urn:xmpp:iot:discovery'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
@ -784,8 +787,8 @@
|
|||||||
<example caption='Claim Ownership of private Thing'>
|
<example caption='Claim Ownership of private Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='4'>
|
id='4'>
|
||||||
<mine xmlns='urn:xmpp:iot:discovery' public='false'>
|
<mine xmlns='urn:xmpp:iot:discovery' public='false'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
@ -808,10 +811,10 @@
|
|||||||
<example caption='Ownership claim successful'>
|
<example caption='Ownership claim successful'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='4'>
|
id='4'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='thing@clayster.com'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='thing@example.org'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -822,10 +825,10 @@
|
|||||||
<example caption='Ownership claim of a Thing behind a concentrator successful'>
|
<example caption='Ownership claim of a Thing behind a concentrator successful'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='4'>
|
id='4'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='rack@clayster.com/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='rack@example.org/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -835,8 +838,8 @@
|
|||||||
<example caption='Ownership claim failure'>
|
<example caption='Ownership claim failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='4'>
|
id='4'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -850,10 +853,10 @@
|
|||||||
<example caption='Ownership claimed'>
|
<example caption='Ownership claimed'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='5'>
|
id='5'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@clayster.com'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@example.org'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -862,10 +865,10 @@
|
|||||||
<example caption='Ownership claim of private Thing successful'>
|
<example caption='Ownership claim of private Thing successful'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='5'>
|
id='5'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@clayster.com' public='false'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@example.org' public='false'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -879,10 +882,10 @@
|
|||||||
<example caption='Ownership of Thing behind concentrator claimed'>
|
<example caption='Ownership of Thing behind concentrator claimed'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='rack@clayster.com/plcs'
|
to='rack@example.org/plcs'
|
||||||
id='5'>
|
id='5'>
|
||||||
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@clayster.com' nodeId='imc1' sourceId='MeteringTopology'/>
|
<claimed xmlns='urn:xmpp:iot:discovery' jid='owner@example.org' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -891,8 +894,8 @@
|
|||||||
<example caption='Ownership claimed acknowledged'>
|
<example caption='Ownership claimed acknowledged'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='5'/>]]>
|
id='5'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -911,10 +914,10 @@
|
|||||||
<example caption='Remove Thing'>
|
<example caption='Remove Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<remove xmlns='urn:xmpp:iot:discovery' jid='thing@clayster.com'/>
|
<remove xmlns='urn:xmpp:iot:discovery' jid='thing@example.org'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -924,10 +927,10 @@
|
|||||||
<example caption='Remove Thing behind concentrator'>
|
<example caption='Remove Thing behind concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='6'>
|
id='6'>
|
||||||
<remove xmlns='urn:xmpp:iot:discovery' jid='rack@clayster.com/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
<remove xmlns='urn:xmpp:iot:discovery' jid='rack@example.org/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -937,8 +940,8 @@
|
|||||||
<example caption='Thing removed'>
|
<example caption='Thing removed'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='6'/>]]>
|
id='6'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -947,8 +950,8 @@
|
|||||||
<example caption='Removal failure'>
|
<example caption='Removal failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='6'>
|
id='6'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -962,15 +965,15 @@
|
|||||||
<example caption='Thing removed from registry by owner'>
|
<example caption='Thing removed from registry by owner'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='7'>
|
id='7'>
|
||||||
<removed xmlns='urn:xmpp:iot:discovery'/>
|
<removed xmlns='urn:xmpp:iot:discovery'/>
|
||||||
</iq>
|
</iq>
|
||||||
|
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='7'/>]]>
|
id='7'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -979,8 +982,8 @@
|
|||||||
<example caption='Thing behind concentrator removed from registry by owner'>
|
<example caption='Thing behind concentrator removed from registry by owner'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='rack@clayster.com/plcs'
|
to='rack@example.org/plcs'
|
||||||
id='7'>
|
id='7'>
|
||||||
<removed xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
<removed xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -991,8 +994,8 @@
|
|||||||
<example caption='Removal acknowledgement'>
|
<example caption='Removal acknowledgement'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='7'/>]]>
|
id='7'/>]]>
|
||||||
</example>
|
</example>
|
||||||
</section2>
|
</section2>
|
||||||
@ -1051,8 +1054,8 @@
|
|||||||
<example caption='Update Meta Data request'>
|
<example caption='Update Meta Data request'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<update xmlns='urn:xmpp:iot:discovery'>
|
<update xmlns='urn:xmpp:iot:discovery'>
|
||||||
<str name='KEY' value=''/>
|
<str name='KEY' value=''/>
|
||||||
@ -1069,8 +1072,8 @@
|
|||||||
<example caption='Update Meta Data of Thing behind concentrator'>
|
<example caption='Update Meta Data of Thing behind concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='rack@clayster.com/plcs'
|
from='rack@example.org/plcs'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<update xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'>
|
<update xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'>
|
||||||
<str name='KEY' value=''/>
|
<str name='KEY' value=''/>
|
||||||
@ -1086,8 +1089,8 @@
|
|||||||
<example caption='Update Meta Data request acknowledgement'>
|
<example caption='Update Meta Data request acknowledgement'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='8'/>]]>
|
id='8'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1098,8 +1101,8 @@
|
|||||||
<example caption='Update Meta Data request failure'>
|
<example caption='Update Meta Data request failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='8'>
|
id='8'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -1114,8 +1117,8 @@
|
|||||||
<example caption='Update Meta Data response to request from disowned Thing'>
|
<example caption='Update Meta Data response to request from disowned Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='8'>
|
id='8'>
|
||||||
<disowned xmlns='urn:xmpp:iot:discovery'/>
|
<disowned xmlns='urn:xmpp:iot:discovery'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1132,10 +1135,10 @@
|
|||||||
<example caption='Owner requests an update of Meta Data of Thing'>
|
<example caption='Owner requests an update of Meta Data of Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/1234'
|
from='owner@example.org/1234'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<update xmlns='urn:xmpp:iot:discovery' jid='thing@clayster.com'>
|
<update xmlns='urn:xmpp:iot:discovery' jid='thing@example.org'>
|
||||||
<str name='ROOM' value='...'/>
|
<str name='ROOM' value='...'/>
|
||||||
<str name='APT' value='...'/>
|
<str name='APT' value='...'/>
|
||||||
<str name='BLD' value='...'/>
|
<str name='BLD' value='...'/>
|
||||||
@ -1155,10 +1158,10 @@
|
|||||||
<example caption='Owner requests an update of Meta Data of Thing behind concentrator'>
|
<example caption='Owner requests an update of Meta Data of Thing behind concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/1234'
|
from='owner@example.org/1234'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='8'>
|
id='8'>
|
||||||
<update xmlns='urn:xmpp:iot:discovery' jid='rack@clayster.com' nodeId='imc1' sourceId='MeteringTopology'>
|
<update xmlns='urn:xmpp:iot:discovery' jid='rack@example.org' nodeId='imc1' sourceId='MeteringTopology'>
|
||||||
<str name='ROOM' value='...'/>
|
<str name='ROOM' value='...'/>
|
||||||
<str name='APT' value='...'/>
|
<str name='APT' value='...'/>
|
||||||
<str name='BLD' value='...'/>
|
<str name='BLD' value='...'/>
|
||||||
@ -1177,8 +1180,8 @@
|
|||||||
<example caption='Owner updating thing Meta Data request acknowledgement'>
|
<example caption='Owner updating thing Meta Data request acknowledgement'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/1234'
|
to='owner@example.org/1234'
|
||||||
id='8'/>]]>
|
id='8'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1188,8 +1191,8 @@
|
|||||||
<example caption='Owner updating thing Meta Data request failure'>
|
<example caption='Owner updating thing Meta Data request failure'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/1234'
|
to='owner@example.org/1234'
|
||||||
id='8'>
|
id='8'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -1328,8 +1331,8 @@
|
|||||||
<example caption='Searching for Things'>
|
<example caption='Searching for Things'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='curious@clayster.com/client'
|
from='curious@example.org/client'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='9'>
|
id='9'>
|
||||||
<search xmlns='urn:xmpp:iot:discovery' offset='0' maxCount='20'>
|
<search xmlns='urn:xmpp:iot:discovery' offset='0' maxCount='20'>
|
||||||
<strEq name='MAN' value='www.ktc.se'/>
|
<strEq name='MAN' value='www.ktc.se'/>
|
||||||
@ -1357,11 +1360,11 @@
|
|||||||
<example caption='Search result'>
|
<example caption='Search result'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='curious@clayster.com/client'
|
to='curious@example.org/client'
|
||||||
id='9'>
|
id='9'>
|
||||||
<found xmlns='urn:xmpp:iot:discovery' more='false'>
|
<found xmlns='urn:xmpp:iot:discovery' more='false'>
|
||||||
<thing owner='owner@clayster.com' jid='thing@clayster.com'>
|
<thing owner='owner@example.org' jid='thing@example.org'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
<str name='MAN' value='www.ktc.se'/>
|
<str name='MAN' value='www.ktc.se'/>
|
||||||
<str name='MODEL' value='IMC'/>
|
<str name='MODEL' value='IMC'/>
|
||||||
@ -1381,11 +1384,11 @@
|
|||||||
<example caption='Search result containing Thing behind a concentrator'>
|
<example caption='Search result containing Thing behind a concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='curious@clayster.com/client'
|
to='curious@example.org/client'
|
||||||
id='9'>
|
id='9'>
|
||||||
<found xmlns='urn:xmpp:iot:discovery' more='false'>
|
<found xmlns='urn:xmpp:iot:discovery' more='false'>
|
||||||
<thing owner='owner@clayster.com' jid='rack@clayster.com' nodeId='imc1' sourceId='MeteringTopology'>
|
<thing owner='owner@example.org' jid='rack@example.org' nodeId='imc1' sourceId='MeteringTopology'>
|
||||||
<str name='SN' value='394872348732948723'/>
|
<str name='SN' value='394872348732948723'/>
|
||||||
<str name='MAN' value='www.ktc.se'/>
|
<str name='MAN' value='www.ktc.se'/>
|
||||||
<str name='MODEL' value='IMC'/>
|
<str name='MODEL' value='IMC'/>
|
||||||
@ -1414,8 +1417,8 @@
|
|||||||
<example caption='Unregister Thing'>
|
<example caption='Unregister Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='10'>
|
id='10'>
|
||||||
<unregister xmlns='urn:xmpp:iot:discovery'/>
|
<unregister xmlns='urn:xmpp:iot:discovery'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1427,8 +1430,8 @@
|
|||||||
<example caption='Unregistring Thing behind concentrator'>
|
<example caption='Unregistring Thing behind concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='rack@clayster.com/plcs'
|
from='rack@example.org/plcs'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='10'>
|
id='10'>
|
||||||
<unregister xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
<unregister xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1439,8 +1442,8 @@
|
|||||||
<example caption='Unregister Thing acknowledgement'>
|
<example caption='Unregister Thing acknowledgement'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='10'/>]]>
|
id='10'/>]]>
|
||||||
</example>
|
</example>
|
||||||
</section2>
|
</section2>
|
||||||
@ -1451,10 +1454,10 @@
|
|||||||
<example caption='Disowning Thing'>
|
<example caption='Disowning Thing'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='11'>
|
id='11'>
|
||||||
<disown xmlns='urn:xmpp:iot:discovery' jid='thing@clayster.com'/>
|
<disown xmlns='urn:xmpp:iot:discovery' jid='thing@example.org'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1464,10 +1467,10 @@
|
|||||||
<example caption='Disowning Thing behind concentrator'>
|
<example caption='Disowning Thing behind concentrator'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='owner@clayster.com/phone'
|
from='owner@example.org/phone'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='11'>
|
id='11'>
|
||||||
<disown xmlns='urn:xmpp:iot:discovery' jid='rack@clayster.com/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
<disown xmlns='urn:xmpp:iot:discovery' jid='rack@example.org/plcs' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1476,8 +1479,8 @@
|
|||||||
<example caption='Failure to disown Thing - Not Found'>
|
<example caption='Failure to disown Thing - Not Found'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='11'>
|
id='11'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -1491,8 +1494,8 @@
|
|||||||
<example caption='Failure to disown Thing - Offline'>
|
<example caption='Failure to disown Thing - Offline'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='error'
|
<iq type='error'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='11'>
|
id='11'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
@ -1506,8 +1509,8 @@
|
|||||||
<example caption='Thing disowned in registry by owner'>
|
<example caption='Thing disowned in registry by owner'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='thing@clayster.com/imc'
|
to='thing@example.org/imc'
|
||||||
id='12'>
|
id='12'>
|
||||||
<disowned xmlns='urn:xmpp:iot:discovery'/>
|
<disowned xmlns='urn:xmpp:iot:discovery'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1518,8 +1521,8 @@
|
|||||||
<example caption='Thing behind concentrator disowned in registry by owner'>
|
<example caption='Thing behind concentrator disowned in registry by owner'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='set'
|
<iq type='set'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='rack@clayster.com/plcs'
|
to='rack@example.org/plcs'
|
||||||
id='12'>
|
id='12'>
|
||||||
<disowned xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
<disowned xmlns='urn:xmpp:iot:discovery' nodeId='imc1' sourceId='MeteringTopology'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1530,8 +1533,8 @@
|
|||||||
<example caption='Acknowledging disownment'>
|
<example caption='Acknowledging disownment'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='thing@clayster.com/imc'
|
from='thing@example.org/imc'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='12'/>]]>
|
id='12'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1542,8 +1545,8 @@
|
|||||||
<example caption='Thing disowned'>
|
<example caption='Thing disowned'>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='owner@clayster.com/phone'
|
to='owner@example.org/phone'
|
||||||
id='11'/>]]>
|
id='11'/>]]>
|
||||||
</example>
|
</example>
|
||||||
<p>
|
<p>
|
||||||
@ -1559,8 +1562,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='provisioning@clayster.com'
|
to='provisioning@example.org'
|
||||||
id='13'>
|
id='13'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1568,8 +1571,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='provisioning@clayster.com'
|
from='provisioning@example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='13'>
|
id='13'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
@ -1583,13 +1586,13 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption="Checking if server supports components">
|
<example caption="Checking if server supports components">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq from='device@clayster.com/device' to='clayster.com' type='get' id='14'>
|
<iq from='device@example.org/device' to='example.org' type='get' id='14'>
|
||||||
<query xmlns="http://jabber.org/protocol/disco#info"/>
|
<query xmlns="http://jabber.org/protocol/disco#info"/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<example caption="Response confirming support for components">
|
<example caption="Response confirming support for components">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type="result" id="14" from="clayster.com" to="device@clayster.com/device">
|
<iq type="result" id="14" from="example.org" to="device@example.org/device">
|
||||||
<query xmlns="http://jabber.org/protocol/disco#info">
|
<query xmlns="http://jabber.org/protocol/disco#info">
|
||||||
...
|
...
|
||||||
<feature var="http://jabber.org/protocol/disco#items"/>
|
<feature var="http://jabber.org/protocol/disco#items"/>
|
||||||
@ -1602,16 +1605,16 @@
|
|||||||
</p>
|
</p>
|
||||||
<example caption="Requesting list of server components">
|
<example caption="Requesting list of server components">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq from='device@clayster.com/device' to='clayster.com' type='get' id='15'>
|
<iq from='device@example.org/device' to='example.org' type='get' id='15'>
|
||||||
<query xmlns="http://jabber.org/protocol/disco#items"/>
|
<query xmlns="http://jabber.org/protocol/disco#items"/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
</example>
|
</example>
|
||||||
<example caption="Response containing list of server components">
|
<example caption="Response containing list of server components">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type="result" id="15" from="clayster.com" to="995fab3dd759452ca9c370647323af0c@clayster.com/ebe2348e">
|
<iq type="result" id="15" from="example.org" to="995fab3dd759452ca9c370647323af0c@example.org/ebe2348e">
|
||||||
<query xmlns="http://jabber.org/protocol/disco#items">
|
<query xmlns="http://jabber.org/protocol/disco#items">
|
||||||
...
|
...
|
||||||
<item jid="discovery.clayster.com" name="Registro de cosas"/>
|
<item jid="discovery.example.org" name="Registro de cosas"/>
|
||||||
...
|
...
|
||||||
</query>
|
</query>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1622,8 +1625,8 @@
|
|||||||
<example caption="Service discovery information request made to each component">
|
<example caption="Service discovery information request made to each component">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='device@clayster.com/device'
|
from='device@example.org/device'
|
||||||
to='discovery.clayster.com'
|
to='discovery.example.org'
|
||||||
id='16'>
|
id='16'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -1631,8 +1634,8 @@
|
|||||||
<example caption="Service discovery information response from each component">
|
<example caption="Service discovery information response from each component">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='discovery.clayster.com'
|
from='discovery.example.org'
|
||||||
to='device@clayster.com/device'
|
to='device@example.org/device'
|
||||||
id='16'>
|
id='16'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
|
27
xep-0348.xml
27
xep-0348.xml
@ -1,4 +1,4 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||||||
<!ENTITY % ents SYSTEM 'xep.ent'>
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||||||
%ents;
|
%ents;
|
||||||
@ -24,13 +24,16 @@
|
|||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>signing-forms</shortname>
|
<shortname>signing-forms</shortname>
|
||||||
<author>
|
&peterwaher;
|
||||||
<firstname>Peter</firstname>
|
<revision>
|
||||||
<surname>Waher</surname>
|
<version>0.2</version>
|
||||||
<email>peter.waher@clayster.com</email>
|
<date>2015-11-09</date>
|
||||||
<jid>peter.waher@jabber.org</jid>
|
<initials>pw</initials>
|
||||||
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
<remark>
|
||||||
</author>
|
<p>Updated contact information.</p>
|
||||||
|
<p>Updated example JIDs to example.org</p>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.1</version>
|
<version>0.1</version>
|
||||||
<date>2014-05-28</date>
|
<date>2014-05-28</date>
|
||||||
@ -445,8 +448,8 @@
|
|||||||
<example caption="Service discovery information request">
|
<example caption="Service discovery information request">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='get'
|
<iq type='get'
|
||||||
from='clayster.com'
|
from='example.org'
|
||||||
to='device@clayster.com'
|
to='device@example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
<query xmlns='http://jabber.org/protocol/disco#info'/>
|
||||||
</iq>]]>
|
</iq>]]>
|
||||||
@ -454,8 +457,8 @@
|
|||||||
<example caption="Service discovery information response">
|
<example caption="Service discovery information response">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<iq type='result'
|
<iq type='result'
|
||||||
from='device@clayster.com'
|
from='device@example.org'
|
||||||
to='clayster.com'
|
to='example.org'
|
||||||
id='disco1'>
|
id='disco1'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
...
|
...
|
||||||
|
9
xep.ent
9
xep.ent
@ -995,6 +995,15 @@ IANA Service Location Protocol, Version 2 (SLPv2) Templates</link></span> <note>
|
|||||||
<uri>https://blog.samwhited.com/</uri>
|
<uri>https://blog.samwhited.com/</uri>
|
||||||
</author>
|
</author>
|
||||||
" >
|
" >
|
||||||
|
<!ENTITY peterwaher "
|
||||||
|
<author>
|
||||||
|
<firstname>Peter</firstname>
|
||||||
|
<surname>Waher</surname>
|
||||||
|
<email>peterwaher@hotmail.com</email>
|
||||||
|
<jid>peter.waher@jabber.org</jid>
|
||||||
|
<uri>http://www.linkedin.com/in/peterwaher</uri>
|
||||||
|
</author>
|
||||||
|
" >
|
||||||
|
|
||||||
<!-- XMPP Extension Protocols -->
|
<!-- XMPP Extension Protocols -->
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user