git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1886 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2008-05-29 03:02:09 +00:00
parent 471363e7b3
commit 4a37fec1c8
1 changed files with 18 additions and 7 deletions

View File

@ -25,6 +25,12 @@
&stpeter;
&seanegan;
&robmcqueen;
<revision>
<version>0.19</version>
<date>2008-05-28</date>
<initials>psa</initials>
<remark><p>Specified default value for profile attribute; clarified relationship to SDP offer-answer model.</p></remark>
</revision>
<revision>
<version>0.18</version>
<date>2008-05-28</date>
@ -186,7 +192,7 @@
<section1 topic='Application Format' anchor='format'>
<p>A Jingle audio session is described by a content type that contains one application format and one transport method. The application format consists of one or more encodings contained within a wrapper &lt;description/&gt; element qualified by the 'urn:xmpp:tmp:jingle:apps:audio-rtp' namespace &NSNOTE;. In the language of <cite>RFC 4566</cite> each encoding is a payload-type; therefore, each &lt;payload-type/&gt; element specifies an encoding that can be used for the audio stream, as illustrated in the following example.</p>
<example caption="Audio description format"><![CDATA[
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
<payload-type id='96' name='speex' clockrate='16000'/>
<payload-type id='97' name='speex' clockrate='8000'/>
<payload-type id='18' name='G729'/>
@ -200,7 +206,7 @@
</description>
]]></example>
<p>The &DESCRIPTION; element is intended to be a child of a &CONTENT; element as specified in <cite>XEP-0166</cite>.</p>
<p>The &DESCRIPTION; element SHOULD possess a 'profile' attribute that specifies the profile of RTP in use as would be encapsulated in SDP (e.g., "RTP/AVP" or "UDP/TLS/RTP/SAVP").</p>
<p>The &DESCRIPTION; element SHOULD possess a 'profile' attribute that specifies the profile of RTP in use as would be encapsulated in SDP (e.g., "RTP/AVP" or "UDP/TLS/RTP/SAVP"). If not included, the default value of "RTP/AVP" MUST be assumed.</p>
<p>The encodings SHOULD be provided in order of preference by placing the most-preferred &PAYLOADTYPE; element as the first child of the &DESCRIPTION; element (etc.).</p>
<p>The allowable attributes of the &PAYLOADTYPE; element are as follows:</p>
<table caption='Payload-Type Attributes'>
@ -256,7 +262,7 @@
</section1>
<section1 topic='Negotiating a Jingle Audio Session' anchor='negotiation'>
<p>When the initiator sends a session-initiate stanza to the responder, the &DESCRIPTION; element includes all of the payload types that the initiator can receive for Jingle audio (each one encapsulated in a separate &PAYLOADTYPE; element):</p>
<p>When the initiator sends a session-initiate stanza to the responder, the &DESCRIPTION; element includes all of the payload types that the initiator can send and/or receive for Jingle audio, each one encapsulated in a separate &PAYLOADTYPE; element (the rules specified in &rfc3264; SHOULD be followed regarding inclusion of payload types).</p>
<example caption="Initiation"><![CDATA[
<iq from='romeo@montague.net/orchard'
id='jingleaudio1'
@ -287,7 +293,7 @@
to='romeo@montague.net/orchard'
type='result'/>
]]></example>
<p>If the responder wishes to accept the session, it MUST send a content-accept action to the initiator, which SHOULD include a list of the payload types that it can receive. The list that the responder sends MAY include any payload types (not a subset of the payload types sent by the initiator) but SHOULD retain the ID numbers specified by the initiator. The order of the &PAYLOADTYPE; elements indicates the responder's preferences, with the most-preferred types first.</p>
<p>If the responder wishes to accept the session, it MUST send a content-accept action to the initiator, which SHOULD include a list of the payload types that it can send and/or receive. The list that the responder sends MAY include any payload types (not a subset of the payload types sent by the initiator) but SHOULD retain the ID numbers specified by the initiator. The order of the &PAYLOADTYPE; elements indicates the responder's preferences, with the most-preferred types first.</p>
<example caption="Responder accepts content type"><![CDATA[
<iq from='juliet@capulet.com/balcony'
id='jingleaudio2'
@ -298,7 +304,7 @@
initiator='romeo@montague.net/orchard'
sid='a73sjjvkla37jfea'>
<content creator='initiator' name='this-is-the-audio-content'>
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
<payload-type id='97' name='speex' clockrate='8000'/>
<payload-type id='18' name='G729'/>
<payload-type id='0' name='PCMU' />
@ -1240,7 +1246,12 @@ Romeo Juliet
<section1 topic='Implementation Notes' anchor='impl'>
<section2 topic='Codecs' anchor='impl-codecs'>
<p>Support for the Speex codec is RECOMMENDED.</p>
<section3 topic='Speex' anchor='impl-codecs-speex'>
<p>For the sake of interoperability with a wide variety of free and open-source implementations as well as deployment of patent-free technologies, support for the Speex codec is RECOMMENDED.</p>
</section3>
<section3 topic='G.711' anchor='impl-codecs-g711'>
<p>For the sake of interoperability with the public switched telephone network (PSTN) and most VoIP providers, support for the Pulse Code Modulation (PCM) codec defined in &ITU; recommendation G.711 is RECOMMENDED, including both the &#956;-law ("U-law") and A-law versions widely deployed in North America and Japan and in the rest of the world respectively.</p>
</section3>
</section2>
<section2 topic='DTMF' anchor='impl-dtmf'>
<p>If it is necessary to send Dual Tone Multi-Frequency (DTMF) tones, it is REQUIRED to use the XML format specified &xep0181;.</p>
@ -1303,7 +1314,7 @@ Romeo Juliet
<xs:sequence minOccurs='0' maxOccurs='unbounded'/>
<xs:element ref='payload-type'/>
</xs:sequence>
<xs:attribute name='profile' use='optional' type='xs:string'/>
<xs:attribute name='profile' use='optional' type='xs:string' default='RTP/AVP'/>
</xs:complexType>
</xs:element>