No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

xep-0338.xml 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <!DOCTYPE xep SYSTEM 'xep.dtd' [
  3. <!ENTITY % ents SYSTEM 'xep.ent'>
  4. %ents;
  5. ]>
  6. <?xml-stylesheet type='text/xsl' href='xep.xsl'?>
  7. <xep>
  8. <header>
  9. <title>Jingle Grouping Framework</title>
  10. <abstract>This specification provides an XML mapping for translating the RFC 5888 SDP Grouping Framework to Jingle</abstract>
  11. &LEGALNOTICE;
  12. <number>0338</number>
  13. <status>Deferred</status>
  14. <type>Standards Track</type>
  15. <sig>Standards</sig>
  16. <approver>Council</approver>
  17. <dependencies>
  18. <spec>XEP-0166</spec>
  19. </dependencies>
  20. <supersedes/>
  21. <supersededby/>
  22. <shortname>NOT_YET_ASSIGNED</shortname>
  23. &fippo;
  24. <revision>
  25. <version>0.2</version>
  26. <date>2017-09-11</date>
  27. <initials>XEP Editor (jwi)</initials>
  28. <remark>Defer due to lack of activity.</remark>
  29. </revision>
  30. <revision>
  31. <version>0.1</version>
  32. <date>2014-01-08</date>
  33. <initials>psa</initials>
  34. <remark><p>Initial published version approved by the XMPP Council.</p></remark>
  35. </revision>
  36. <revision>
  37. <version>0.0.1</version>
  38. <date>2013-11-25</date>
  39. <initials>ph</initials>
  40. <remark><p>First draft.</p></remark>
  41. </revision>
  42. </header>
  43. <section1 topic="Introduction" anchor="intro">
  44. <p>&rfc5888; defines a framework to group SDP 'm' lines for different purposes. A mapping to Jingle as an extension to &xep0166; is defined in this document.</p>
  45. <p>It is anticipated that the primary use of this is with the &bundle; framework used in WebRTC.</p>
  46. </section1>
  47. <section1 topic='Mapping to Session Description Protocol' anchor='sdp'>
  48. <p>The SDP format defined in <cite>RFC 5888</cite> is shown below.</p>
  49. <code>
  50. a=group:semantics identification-tag
  51. </code>
  52. <p>An example follows.</p>
  53. <code>
  54. a=group:LS voice webcam
  55. </code>
  56. <p>This SDP attribute is translated to Jingle as a &lt;group/&gt; element qualified by the 'urn:xmpp:jingle:apps:grouping:0' namespace, as shown below. The semantics is mapped to a 'semantics' attribute. The identification-tags are mapped to content elements whose name attribute is set to the identification-tag.</p>
  57. <code><![CDATA[
  58. <group xmlns='urn:xmpp:jingle:apps:grouping:0' semantics='semantics'>
  59. <content name='identification-tag 1'/>
  60. <content name='identification-tag 2'/>
  61. </group>
  62. ]]></code>
  63. <p>An example follows.</p>
  64. <code><![CDATA[
  65. <group xmlns='urn:xmpp:jingle:apps:grouping:0' semantics='LS'>
  66. <content name='voice'/>
  67. <content name='webcam'/>
  68. </group>
  69. ]]></code>
  70. <p>The &lt;group/&gt; element is included as child of the &lt;jingle/&gt; element.</p>
  71. <code><![CDATA[
  72. <iq from='romeo@montague.lit/orchard'
  73. id='rg6s5134'
  74. to='juliet@capulet.lit/balcony'
  75. type='set'>
  76. <jingle xmlns='urn:xmpp:jingle:1'
  77. action='session-initiate'
  78. initiator='romeo@montague.lit/orchard'
  79. sid='a73sjjvkla37jfea'>
  80. <group xmlns='urn:xmpp:jingle:apps:grouping:0' semantics='BUNDLE'>
  81. <content name='voice'/>
  82. <content name='webcam'/>
  83. </group>
  84. <content creator='initiator' name='voice'>
  85. [ ... ]
  86. </content>
  87. <content creator='initiator' name='webcam'>
  88. [ ... ]
  89. </content>
  90. </jingle>
  91. </iq>
  92. ]]></code>
  93. <p>Note: the identification-tags correspond to the &lt;content/&gt; 'name' attributes. These in turn map to the 'mid' attribute in SDP.</p>
  94. </section1>
  95. <section1 topic='Determining Support' anchor='disco'>
  96. <p>If an entity supports the grouping framework described in <cite>RFC 5888</cite>, it MUST advertise that fact in its responses to &xep0030; information ("disco#info") requests by returning a feature of 'urn:ietf:rfc:5888':</p>
  97. <example caption='A disco#info query'><![CDATA[
  98. <iq type='get'
  99. from='calvin@usrobots.lit/lab'
  100. to='herbie@usrobots.lit/home'
  101. id='disco1'>
  102. <query xmlns='http://jabber.org/protocol/disco#info'/>
  103. </iq>
  104. ]]></example>
  105. <example caption='A disco#info response'><![CDATA[
  106. <iq type='result'
  107. from='herbie@usrobots.lit/home'
  108. to='calvin@usrobots.lit/lab'
  109. id='disco1'>
  110. <query xmlns='http://jabber.org/protocol/disco#info'>
  111. <feature var='urn:xmpp:jingle:1'/>
  112. <feature var='urn:ietf:rfc:5888'/>
  113. </query>
  114. </iq>
  115. ]]></example>
  116. <p>In order for an application to determine whether an entity supports this protocol, where possible it SHOULD use the dynamic, presence-based profile of service discovery defined in &xep0115;. However, if an application has not received entity capabilities information from an entity, it SHOULD use explicit service discovery instead.</p>
  117. </section1>
  118. <section1 topic='Acknowledgements' anchor='acks'>
  119. <p>Thanks to Emil Ivov and Lance Stout for their feedback.</p>
  120. <p>The XML format for this specification originates from <cite>libjingle</cite><note>libjingle is now part of the WebRTC Native Code Package available from <link url='http://webrtc.org'>webrtc.org</link>.</note>.</p>
  121. </section1>
  122. <section1 topic='Security Considerations' anchor='security'>
  123. <p>This document introduces no additional security considerations above and beyond those defined in the documents on which it depends.</p>
  124. </section1>
  125. <section1 topic='IANA Considerations' anchor='iana'>
  126. <p>This document requires no interaction with &IANA;.</p>
  127. </section1>
  128. <section1 topic='XMPP Registrar Considerations' anchor='registrar'>
  129. <section2 topic='Protocol Namespaces' anchor='registrar-ns'>
  130. <p>This specification defines the following XML namespace:</p>
  131. <ul>
  132. <li>urn:xmpp:jingle:apps:grouping:0</li>
  133. </ul>
  134. <p>The &REGISTRAR; includes the foregoing namespace to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>
  135. </section2>
  136. <section2 topic='Protocol Versioning' anchor='registrar-versioning'>
  137. &NSVER;
  138. </section2>
  139. </section1>
  140. <section1 topic='XML Schema' anchor='schema'>
  141. <p>TODO</p>
  142. </section1>
  143. </xep>