Skip to content
This repository has been archived by the owner on May 6, 2020. It is now read-only.

Allow persistent input components emitting matches as intermediate events #74

Open
wants to merge 183 commits into
base: rayo
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
623fc6d
Initial rayo spec import
benlangfeld Dec 14, 2011
898a500
Formal definition for the Rayo <input/> component element
benlangfeld Dec 14, 2011
87c3058
Elements to be printed literally must be encoded
benlangfeld Dec 14, 2011
228dbb9
Add media input commands and events formal definition
benlangfeld Dec 14, 2011
cb1c24c
Add formal definition for media output
benlangfeld Dec 15, 2011
d55548f
Add hotword detection to Input
benlangfeld Dec 15, 2011
dbc4b3f
Fix up some formatting, and add section5 and section6 tags
benlangfeld Dec 15, 2011
23dc0e7
Add partial matches to Input
benlangfeld Dec 15, 2011
12ea4fe
[BUGFIX] Answered/Ringing events are allowed headers
benlangfeld Jan 19, 2012
d51e506
[FEATURE] Dial commands should have an optional timeout
benlangfeld Jan 19, 2012
b4392ce
[BUGFIX] A timeout on an offer is not valid
benlangfeld Jan 19, 2012
c2d5415
[UPDATE] Add further author details
benlangfeld Jan 22, 2012
bb75207
[BUGFIX] Fix the type of ringing/answered elements to be callProgress…
benlangfeld Jan 22, 2012
a4c3380
[BUGFIX] DTMF events are not valid, more generic signal detection spe…
benlangfeld Jan 22, 2012
e0add28
[BUGFIX] Fix the name of the reject end reason
benlangfeld Jan 22, 2012
94ad973
[CS] Minor schema formatting fix
benlangfeld Jan 22, 2012
47cd9fd
[FEATURE] Annotate the schema with a link to the xep
benlangfeld Jan 22, 2012
b5161ff
[BUGFIX] Complete reasons should have their own type and should allow…
benlangfeld Jan 22, 2012
4f29505
[BUGFIX] A complete event should only have one child, being the reason
benlangfeld Jan 22, 2012
afaa483
[FEATURE] Add basic schema for media components
benlangfeld Jan 22, 2012
be76ba4
[CS] Sequences of headers should come after attributes in the schema
benlangfeld Jan 22, 2012
3eb6bad
[FEATURE] Add join schema
benlangfeld Jan 22, 2012
6e25804
[DOC] Comprehensive schema documentation of core, non-component elements
benlangfeld Jan 22, 2012
1c4789c
[DOC] Comprehensive schema documentation of Output component elements
benlangfeld Jan 22, 2012
2e78ff8
[FORMATTING] Fix a missing closing tag brace
benlangfeld Jan 22, 2012
50f8a4f
[DOC] Comprehensive schema documentation of Input component elements
benlangfeld Jan 22, 2012
59f9589
[DOC] Comprehensive schema documentation of Record component elements
benlangfeld Jan 22, 2012
fd5a55e
Clean up the glossary and add notes about example conventions
benlangfeld Jan 23, 2012
cce0831
Add a basic example session as an introduction
benlangfeld Jan 23, 2012
df81803
Add some missing namespaces
benlangfeld Jan 23, 2012
2015803
Add basic notes on history
benlangfeld Jan 23, 2012
9087b77
Add a whole bunch of TODO comments and section skeletons
benlangfeld Jan 23, 2012
fd0451e
Clarify some language
benlangfeld Jan 23, 2012
c832dcb
Remove the business rules section
benlangfeld Jan 23, 2012
0c98f67
[FEATURE] Add skeleton documents for additional specifications on the…
benlangfeld Jan 24, 2012
c908775
[DOC] Explain the 3rd-party nature of Rayo
benlangfeld Jan 24, 2012
0fd3d1c
[FORMATTING] Improve the formatting of the introduction
benlangfeld Jan 24, 2012
2a9f049
[BUGFIX] Typo fix
benlangfeld Jan 24, 2012
e524433
[BUGFIX] Clarify that the Rayo server may or may not be the end point…
benlangfeld Jan 24, 2012
20c02c7
[FORMATTING] Minor
benlangfeld Jan 24, 2012
28f7490
[DOC] Annotate the simple session example
benlangfeld Jan 24, 2012
d2dd1a0
[DOC] Explain Rayo's features and design requirements
benlangfeld Jan 24, 2012
96cc425
[DOC] Define Potential/Difinitive controlling party
benlangfeld Jan 25, 2012
b744d6e
[DOC] Explain the many elements of a rayo system
benlangfeld Jan 25, 2012
f9956bf
[FORMATTING] Bolden some list items
benlangfeld Jan 25, 2012
92b1853
[DOC] Add notes on addressing scheme
benlangfeld Jan 25, 2012
0a9476b
[DOC] Notes on where commands should be directed
benlangfeld Jan 25, 2012
206b5c9
[DOC] Notes on how Rayo elements should be enclosed in presence/iq
benlangfeld Jan 25, 2012
6a64e19
[FORMATTING] Remove duplication of shared types between all schema
benlangfeld Jan 25, 2012
721e856
[FEATURE] Use a timeoutType for all timeout attributes
benlangfeld Jan 25, 2012
87bdd47
[FEATURE] Restrict some attributes to token values
benlangfeld Jan 25, 2012
b8de745
[FEATURE] Restrict some values to values between 0-1
benlangfeld Jan 25, 2012
e1ca0bf
[FEATURE] Restrict some values to be positive only
benlangfeld Jan 25, 2012
2276ffa
[DOC] Add documentation for sensitivity attribute on Input
benlangfeld Jan 25, 2012
e52f339
[FEATURE] Output command should include the document in a <document/>…
benlangfeld Jan 25, 2012
f12dbcc
[CS] Remove irrelevant comments from implementation notes
benlangfeld Jan 26, 2012
927f81d
[DOC] Add notes on extending Rayo
benlangfeld Jan 26, 2012
eb00e49
[DOC] Better abstract
benlangfeld Jan 26, 2012
22c7da2
[FEATURE] Complete the schema for the header element
benlangfeld Jan 26, 2012
2bf82cf
[DOC] Bring the formal definition up to date with the core schema
benlangfeld Jan 26, 2012
343e859
[DOC] Include generic component elements in formal definition
benlangfeld Jan 26, 2012
4aad790
[DOC] Align the media output component formal definition and schema
benlangfeld Jan 26, 2012
b0258f1
[DOC] Align the media input component formal definition and schema
benlangfeld Jan 27, 2012
48713cd
[DOC] Add formal definition for the record component
benlangfeld Jan 27, 2012
ff353e5
[BUGFIX] Typos
benlangfeld Jan 27, 2012
bf89756
[FORMATTING] Refer to all elements as <name/> in the formal definition
benlangfeld Jan 27, 2012
0dc3409
[BUGFIX] Fix some formal definition documentation
benlangfeld Jan 27, 2012
57585be
[DOC] Introduce the features of rayo
benlangfeld Jan 27, 2012
3d8bb86
[DOC] Add session flow notes on client availability
benlangfeld Jan 27, 2012
8ef1ee7
[DOC] Add some comments as a template for the session flow section
benlangfeld Jan 28, 2012
e490149
Session flow of basic outbound calls
benlangfeld Apr 14, 2012
29f0380
Document incoming call procedure
benlangfeld Apr 15, 2012
8d93795
Clarify error type when a non-DCP tries to send commands to a call wi…
benlangfeld Apr 18, 2012
100eb80
Add documentation on reject/redirect process
benlangfeld Apr 18, 2012
420f34e
Add blurb to session termination section
benlangfeld Apr 18, 2012
47fb91c
Fix links since <a/> doesn't work
benlangfeld Apr 18, 2012
9c9b69a
Typo and reordering
benlangfeld Apr 18, 2012
1dcb8eb
Detail procedure for call hangup
benlangfeld Apr 18, 2012
04e594e
Typo
benlangfeld Apr 18, 2012
f6a5da4
Document end event and behaviour on call termination.
benlangfeld Apr 18, 2012
d661fef
Typo
benlangfeld Apr 18, 2012
2d17405
Add notes on spec compliance and returning errors
benlangfeld Apr 18, 2012
6a163bc
Begin to document generic component execution concerns
benlangfeld Apr 18, 2012
c0594c5
Correct section headers
benlangfeld Apr 18, 2012
ebf1640
Reject end reason should be 'rejected'
benlangfeld Apr 19, 2012
69b6f72
Complete generic component specification
benlangfeld Apr 19, 2012
e55fe11
Move joining section above component execution
benlangfeld Apr 19, 2012
1ebff8a
Specify nested join behaviour
benlangfeld Apr 19, 2012
6cbfb08
Define basic join/unjoin behaviour
benlangfeld Apr 19, 2012
bed1400
Specify behaviour for concurrent joins
benlangfeld Apr 19, 2012
be0bba2
Break mixers section out of joining
benlangfeld Apr 19, 2012
1c54bf2
Fix header level
benlangfeld Apr 19, 2012
a9fcd51
Add acknowledgements
benlangfeld Apr 19, 2012
0818045
Document output component session flow
benlangfeld Apr 19, 2012
049e200
[BUG] Cannot include CDATA tags in example stanzas (nested CDATA not …
benlangfeld Apr 19, 2012
f2a2489
Document input component session flow
benlangfeld Apr 19, 2012
4c95af0
Document record component session flow
benlangfeld Apr 19, 2012
db18a46
Stray tag
benlangfeld Apr 19, 2012
1fe19ad
Clarification; fix a spelling error
bklang Apr 20, 2012
160bf7d
Typos
benlangfeld Apr 21, 2012
21a9681
Specify mixer API
benlangfeld Apr 22, 2012
d8a2ee9
typo
mpermar Apr 25, 2012
5f247c9
Fixed some typos
mpermar Apr 25, 2012
638c9a2
Clarify some minor points
benlangfeld Apr 25, 2012
a17b400
Don't require available presence from components and clarify some lan…
benlangfeld Apr 25, 2012
c9004f9
Relax a requirement
benlangfeld Apr 25, 2012
a649204
Added stop-beep to record
mpermar Apr 25, 2012
5d7eda8
adding stop-beep to schema
mpermar Apr 25, 2012
b7f8841
Record component should ignore hints it does not understand
benlangfeld Apr 27, 2012
6b79da4
Typos/small ambiguities
bklang Jun 16, 2012
accc204
Additional justification against proprietary specs
bklang Jun 16, 2012
2ebf26f
clarify "high standard"
bklang Jun 16, 2012
cecc4a4
Clarify Rayo's abstraction and interaction with platforms
bklang Jun 16, 2012
09a7ec0
Clarify the type attribute on iq
bklang Jun 16, 2012
410d1df
Rule out auto-answer, and outline attempts at early media
benlangfeld Jun 18, 2012
1acee07
Merge branch 'refs/heads/master' into rayo
benlangfeld Oct 15, 2012
a1567a5
Switch input to return NLSML
benlangfeld Oct 15, 2012
2afb886
Use correct GRXML content type
benlangfeld Oct 15, 2012
efe63fb
Fix input match completion reason
benlangfeld Oct 15, 2012
6db84c8
Added renderer attribute to output component.
lpradovera Dec 3, 2012
c3f9691
Merge pull request #51 from polysics/rayo
benlangfeld Dec 3, 2012
ee2df29
First draft of recording direction.
lpradovera Dec 18, 2012
8d80b76
[CS] Some clarifications in docs for the direction attribute on Record.
lpradovera Dec 18, 2012
175b550
[CS] Some doc fixes and clarifications on Record.
lpradovera Dec 18, 2012
005bf0d
Merge pull request #52 from rayo/feature/record_direction
benlangfeld Dec 18, 2012
ed1b166
[FEATURE] Add recording mix support to Rayo
benlangfeld Jan 7, 2013
e794617
Fix table formatting
benlangfeld Jan 7, 2013
25b62a5
Typo fix
benlangfeld Jan 8, 2013
6ddc52e
[FEATURE] Add initial prompt component definition
benlangfeld Jan 8, 2013
b4cf7db
Bump rayo version to reflect semi-stable
benlangfeld Feb 7, 2013
85d475e
[RAYO] Add back voice attribute on output
benlangfeld Feb 15, 2013
5501da1
Make the requirement for SSML support explicit.
benlangfeld Feb 18, 2013
6491f7e
Add prompt namespace to namespace list
benlangfeld Mar 1, 2013
ce92c7e
Formatting typo
benlangfeld Mar 2, 2013
5e8ac11
Make recording and other completion metadata elements siblings of the…
benlangfeld Mar 25, 2013
727de4c
Credit corrections & better implementation references
benlangfeld Mar 26, 2013
fe83b26
Whitespace
benlangfeld Mar 26, 2013
07c7dce
Remove mention of non-existent extension specs
benlangfeld Mar 26, 2013
d69abd2
Separate end reasons for first/third party hangup
benlangfeld Mar 26, 2013
5206055
Fix #56
benlangfeld Mar 27, 2013
523de64
Fix example end reason for 1st-party hangup
benlangfeld Mar 27, 2013
eaef369
Try out nesting CDATA in examples
benlangfeld Mar 27, 2013
e300276
Include CDATA in all examples where it's required
benlangfeld Mar 27, 2013
c4ea3bd
Give example of plain text output document
benlangfeld Mar 27, 2013
71fcf94
Consistency in terminating bulleted lists with a period
benlangfeld Mar 27, 2013
261795a
Clarify support for multiple headers of the same name
benlangfeld Mar 27, 2013
0005ed0
Clarify mixer presence subscription rules
benlangfeld Mar 27, 2013
8ec7241
Better explain optional elements of addresses
benlangfeld Mar 27, 2013
a9f8a44
Calls and mixers should use caps to advertise that they are a call or…
benlangfeld Mar 29, 2013
90e068d
Add the concept of security zones to address join security issues
benlangfeld Mar 29, 2013
090c0ab
Specify input behaviour on a mixer
benlangfeld Apr 4, 2013
c7497e9
Specify required support for input/output document types and modes
benlangfeld Apr 4, 2013
7ca6d85
Clarify error behaviour in Prompt
benlangfeld Apr 5, 2013
e3e9197
Make errors on bad commands consistent
benlangfeld Apr 5, 2013
82e4dbd
Update copyright date
benlangfeld Apr 5, 2013
51a420c
Require that refs be a full URI for a call
benlangfeld Apr 5, 2013
a916ad8
Minor grammar bug
benlangfeld Apr 5, 2013
ff56620
Specify security measures for mixers
benlangfeld Apr 5, 2013
e91b4dd
Initial submission to the XSF should be v0.0.1
benlangfeld Apr 5, 2013
ba703af
Allow for different input result formats
benlangfeld Apr 5, 2013
ad91d8a
Input component needs recognizer for routing and language to pass to …
benlangfeld Apr 10, 2013
7c78451
[FEATURE] Allow repeat-times to be 0 for the output to repeat forever
chewi Jun 5, 2013
730f5f8
Update to version published by XSF
benlangfeld Jun 6, 2013
f066e00
Typo
benlangfeld Jun 6, 2013
2d66783
Typo
benlangfeld Jun 6, 2013
ff49e69
Clearer wording
benlangfeld Jun 6, 2013
794765d
Clarify that commands can be sent to components
benlangfeld Jun 6, 2013
ee85d72
Simplify input complete reasons due to lack of use cases
benlangfeld Jun 6, 2013
d790918
Switch input mode "speech" to "voice" to match SRGS
benlangfeld Jun 6, 2013
5da12a0
A ref example had an old ID attribute
benlangfeld Jun 6, 2013
f159f37
Merge pull request #67 from chewi/feature/repeat-forever
benlangfeld Jun 6, 2013
7351b4b
Typos
benlangfeld Jun 21, 2013
59dfadd
Optionally include platform-specific end reason codes
benlangfeld Jul 12, 2013
7405110
Rename end code to platform_code to indicate ad-hoc nature
benlangfeld Jul 12, 2013
dde6dd3
Merge pull request #71 from rayo/rayo_end_reason_code
benlangfeld Jul 12, 2013
161a89e
Dashes in attribute names
benlangfeld Jul 12, 2013
4bd3cdd
Be more clear about behaviour in cases of 0 PCPs
benlangfeld Aug 8, 2013
b255017
Add first draft of Rayo-CPA specification
benlangfeld Oct 2, 2013
4070e90
Fix typo
benlangfeld Oct 2, 2013
ed81fe9
Formatting
benlangfeld Oct 2, 2013
c8d5211
Use special URIs for CPA & fix examples
benlangfeld Oct 2, 2013
7b1e435
Typo
benlangfeld Oct 2, 2013
8d0b650
Allow persistent input components emitting matches as intermediate ev…
benlangfeld Oct 2, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions extensions/inbox/rayo-asterisk.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
<title>Rayo on Asterisk</title>
<abstract>This specification describes the best practices for implementing a Rayo server on top of Asterisk.</abstract>
<legal>
<copyright>This XMPP Extension Protocol is copyright (c) 2011 by the XMPP Standards Foundation (XSF).</copyright>
<permissions>Permission is hereby granted, free of charge, to any person obtaining a copy of this specification (the &quot;Specification&quot;), to make use of the Specification without restriction, including without limitation the rights to implement the Specification in a software program, deploy the Specification in a network service, and copy, modify, merge, publish, translate, distribute, sublicense, or sell copies of the Specification, and to permit persons to whom the Specification is furnished to do so, subject to the condition that the foregoing copyright notice and this permission notice shall be included in all copies or substantial portions of the Specification. Unless separate permission is granted, modified works that are redistributed shall not contain misleading information regarding the authors, title, number, or publisher of the Specification, and shall not claim endorsement of the modified works by the authors, any organization or project to which the authors belong, or the XMPP Standards Foundation.</permissions>
<warranty>## NOTE WELL: This Specification is provided on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the XMPP Standards Foundation or the authors of this Specification be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the Specification or the implementation, deployment, or other use of the Specification. ##</warranty>
<liability>In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the XMPP Standards Foundation or any author of this Specification be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising out of the use or inability to use the Specification (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if the XMPP Standards Foundation or such author has been advised of the possibility of such damages.</liability>
<conformance>This XMPP Extension Protocol has been contributed in full conformance with the XSF's Intellectual Property Rights Policy (a copy of which may be found at &lt;<link url='http://www.xmpp.org/extensions/ipr-policy.shtml'>http://www.xmpp.org/extensions/ipr-policy.shtml</link>&gt; or obtained by writing to XSF, P.O. Box 1641, Denver, CO 80201 USA).</conformance>
</legal>
<number>xxxx</number>
<status>ProtoXEP</status>
<type>Standards Track</type>
<sig>Standards</sig>
<approver>Council</approver>
<dependencies>
<spec>XMPP Core</spec>
</dependencies>
<supersedes/>
<supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname>
<author>
<firstname>Ben</firstname>
<surname>Langfeld</surname>
<email>[email protected]</email>
<jid>[email protected]</jid>
<uri>http://langfeld.me</uri>
</author>
<revision>
<version>0.0.1</version>
<date>2011-12-05</date>
<initials>bl</initials>
<remark><p>First draft.</p></remark>
</revision>
</header>
<section1 topic='Introduction' anchor='intro'>

</section1>
<section1 topic='How it works' anchor='howitworks'>

</section1>
<section1 topic='Requirements' anchor='reqs'>

</section1>
<section1 topic='Terminology' anchor='terms'>
<section2 topic='Glossary' anchor='terms-glossary'>
<dl>
<di>
<dt>Gateway</dt>
<dd></dd>
</di>
</dl>
</section2>

<section2 topic='Conventions' anchor='terms-conventions'>
In examples, the following JIDs are used:
<ul>
<li><strong>[email protected]/balcony, [email protected]/orchard</strong> - Potential controlling parties</li>
<li><strong>shakespeare.lit</strong> - The root domain of the Rayo service</li>
<li><strong>call.shakespeare.lit</strong> - The Rayo service's call domain</li>
<li><strong>mixer.shakespeare.lit</strong> - The Rayo service's mixer domain</li>
</ul>
</section2>
</section1>
<section1 topic='Concepts and Approach' anchor='concepts'>

</section1>
<section1 topic="Addressing Scheme" anchor='addressing'>

</section1>
<section1 topic='Session Flow' anchor='session'>

</section1>
<section1 topic='Formal Definition' anchor='def'>

</section1>
<section1 topic='Use Cases' anchor='usecases'>
<p>STRONGLY RECOMMENDED.</p>
</section1>
<section1 topic='Determining Support' anchor='support'>

</section1>
<section1 topic='Implementation Notes' anchor='impl'>

</section1>
<section1 topic='Security Considerations' anchor='security'>
<section2 topic='Denial of Service' anchor='security-dos'>
<p>Rayo sessions can be resource-intensive. Therefore, it is possible to launch a denial-of-service attack against an entity by burdening it with too many Rayo sessions. Care must be taken to accept sessions only from known entities and only if the entity's device is able to process such sessions.</p>
</section2>
<section2 topic='Communication Through Gateways' anchor='security-gateways'>
<p>Rayo communications can be enabled through gateways to non-XMPP networks, whose security characteristics can be quite different from those of XMPP networks. For example, on some SIP networks authentication is optional and "from" addresses can be easily forged. Care must be taken in communicating through such gateways.</p>
</section2>
<section2 topic='Information Exposure' anchor='security-info'>
<p>Mere negotiation of a Rayo session can expose sensitive information about the parties (e.g. IP addresses). Care must be taken in communicating such information, and end-to-end encryption should be used if the parties do not trust the intermediate servers or gateways.</p>
</section2>
</section1>
<section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='registrar-ns'>
<p>This specification defines the following XML namespaces:</p>
<ul>
<li>urn:xmpp:rayo:gateway:1</li>
<li>urn:xmpp:rayo:node:1</li>
</ul>
<p>The &REGISTRAR; includes the foregoing namespaces in its registry at &NAMESPACES;, as governed by &xep0053;.</p>
</section2>
<section2 topic='Namespace Versioning' anchor='registrar-versioning'>
<p>If the protocol defined in this specification undergoes a major revision that is not fully backward-compatible with an older version, or that contains significant new features, the XMPP Registrar shall increment the protocol version number found at the end of the XML namespaces defined herein, as described in Section 4 of <cite>XEP-0053</cite>.</p>
</section2>
</section1>
<section1 topic='History' anchor='history'>
</section1>
<section1 topic='Acknowledgements' anchor='acknowledgements'>

</section1>
</xep>
132 changes: 132 additions & 0 deletions extensions/inbox/rayo-clustering.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
<title>Rayo Clustering</title>
<abstract>This specification describes an extension to the Rayo protocol to support clustering of Rayo servers and their presentation as a unified service.</abstract>
<legal>
<copyright>This XMPP Extension Protocol is copyright (c) 2011 by the XMPP Standards Foundation (XSF).</copyright>
<permissions>Permission is hereby granted, free of charge, to any person obtaining a copy of this specification (the &quot;Specification&quot;), to make use of the Specification without restriction, including without limitation the rights to implement the Specification in a software program, deploy the Specification in a network service, and copy, modify, merge, publish, translate, distribute, sublicense, or sell copies of the Specification, and to permit persons to whom the Specification is furnished to do so, subject to the condition that the foregoing copyright notice and this permission notice shall be included in all copies or substantial portions of the Specification. Unless separate permission is granted, modified works that are redistributed shall not contain misleading information regarding the authors, title, number, or publisher of the Specification, and shall not claim endorsement of the modified works by the authors, any organization or project to which the authors belong, or the XMPP Standards Foundation.</permissions>
<warranty>## NOTE WELL: This Specification is provided on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the XMPP Standards Foundation or the authors of this Specification be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the Specification or the implementation, deployment, or other use of the Specification. ##</warranty>
<liability>In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the XMPP Standards Foundation or any author of this Specification be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising out of the use or inability to use the Specification (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if the XMPP Standards Foundation or such author has been advised of the possibility of such damages.</liability>
<conformance>This XMPP Extension Protocol has been contributed in full conformance with the XSF's Intellectual Property Rights Policy (a copy of which may be found at &lt;<link url='http://www.xmpp.org/extensions/ipr-policy.shtml'>http://www.xmpp.org/extensions/ipr-policy.shtml</link>&gt; or obtained by writing to XSF, P.O. Box 1641, Denver, CO 80201 USA).</conformance>
</legal>
<number>xxxx</number>
<status>ProtoXEP</status>
<type>Standards Track</type>
<sig>Standards</sig>
<approver>Council</approver>
<dependencies>
<spec>XMPP Core</spec>
</dependencies>
<supersedes/>
<supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname>
<author>
<firstname>Jose</firstname>
<surname>de Castro</surname>
<email>[email protected]</email>
<jid>[email protected]</jid>
<uri>http://voxeolabs.com</uri>
</author>
<author>
<firstname>Ben</firstname>
<surname>Langfeld</surname>
<email>[email protected]</email>
<jid>[email protected]</jid>
<uri>http://langfeld.me</uri>
</author>
<revision>
<version>0.0.1</version>
<date>2011-12-05</date>
<initials>jdc</initials>
<remark><p>First draft.</p></remark>
</revision>
</header>
<section1 topic='Introduction' anchor='intro'>

</section1>
<section1 topic='How it works' anchor='howitworks'>

</section1>
<section1 topic='Requirements' anchor='reqs'>

</section1>
<section1 topic='Terminology' anchor='terms'>
<section2 topic='Glossary' anchor='terms-glossary'>
<dl>
<di>
<dt>Gateway</dt>
<dd></dd>
</di>
</dl>
</section2>

<section2 topic='Conventions' anchor='terms-conventions'>
In examples, the following JIDs are used:
<ul>
<li><strong>[email protected]/balcony, [email protected]/orchard</strong> - Potential controlling parties</li>
<li><strong>shakespeare.lit</strong> - The root domain of the Rayo service</li>
<li><strong>call.shakespeare.lit</strong> - The Rayo service's call domain</li>
<li><strong>mixer.shakespeare.lit</strong> - The Rayo service's mixer domain</li>
</ul>
</section2>
</section1>
<section1 topic='Concepts and Approach' anchor='concepts'>

</section1>
<section1 topic="Addressing Scheme" anchor='addressing'>

</section1>
<section1 topic='Session Flow' anchor='session'>

</section1>
<section1 topic='Formal Definition' anchor='def'>

</section1>
<section1 topic='Use Cases' anchor='usecases'>
<p>STRONGLY RECOMMENDED.</p>
</section1>
<section1 topic='Determining Support' anchor='support'>

</section1>
<section1 topic='Implementation Notes' anchor='impl'>

</section1>
<section1 topic='Security Considerations' anchor='security'>
<section2 topic='Denial of Service' anchor='security-dos'>
<p>Rayo sessions can be resource-intensive. Therefore, it is possible to launch a denial-of-service attack against an entity by burdening it with too many Rayo sessions. Care must be taken to accept sessions only from known entities and only if the entity's device is able to process such sessions.</p>
</section2>
<section2 topic='Communication Through Gateways' anchor='security-gateways'>
<p>Rayo communications can be enabled through gateways to non-XMPP networks, whose security characteristics can be quite different from those of XMPP networks. For example, on some SIP networks authentication is optional and "from" addresses can be easily forged. Care must be taken in communicating through such gateways.</p>
</section2>
<section2 topic='Information Exposure' anchor='security-info'>
<p>Mere negotiation of a Rayo session can expose sensitive information about the parties (e.g. IP addresses). Care must be taken in communicating such information, and end-to-end encryption should be used if the parties do not trust the intermediate servers or gateways.</p>
</section2>
</section1>
<section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='registrar-ns'>
<p>This specification defines the following XML namespaces:</p>
<ul>
<li>urn:xmpp:rayo:gateway:1</li>
<li>urn:xmpp:rayo:node:1</li>
</ul>
<p>The &REGISTRAR; includes the foregoing namespaces in its registry at &NAMESPACES;, as governed by &xep0053;.</p>
</section2>
<section2 topic='Namespace Versioning' anchor='registrar-versioning'>
<p>If the protocol defined in this specification undergoes a major revision that is not fully backward-compatible with an older version, or that contains significant new features, the XMPP Registrar shall increment the protocol version number found at the end of the XML namespaces defined herein, as described in Section 4 of <cite>XEP-0053</cite>.</p>
</section2>
</section1>
<section1 topic='History' anchor='history'>
</section1>
<section1 topic='Acknowledgements' anchor='acknowledgements'>

</section1>
</xep>
Loading