Hi, I have a question about the handling of payload types in XEP-0167. The spec 
says that "The session-accept message SHOULD include a subset of the payload 
types sent by the initiator". When are two payload types considered equal? This 
is not obvious to me because there are optional attributes as well as 
parameters. I would think that definitely name, clockrate, and id need to 
match, but I'm not sure about the other attributes and the parameter
values. I think a precise answer to this is needed to determine whether one 
list of payload types is a subset of another, and therefore whether a given 
session-accept meets this part of the specification.

Here is an example from a call between two XMPP clients, Dino and Monal

The session-initiate message sent by Dino includes this list of payload types:

<payload-type id='111' channels='2' clockrate='48000' name='opus'>
  <parameter name='useinbandfec' value='1' />
</payload-type>
<payload-type id='112' clockrate='32000' name='speex' />
<payload-type id='113' clockrate='16000' name='speex' />
<payload-type id='114' clockrate='8000' name='speex' />
<payload-type id='9' clockrate='8000' name='G722' />
<payload-type id='0' clockrate='8000' name='PCMU' />
<payload-type id='8' clockrate='8000' name='PCMA' />

And the session-accept message sent by Monal includes this list of 
payload-types:

<payload-type clockrate='8000' name='PCMU' id='0' />
<payload-type channels='2' id='111' clockrate='48000' name='opus'>
  <parameter name='profile_level_id' value='4325392' />
  <parameter name='useinbandfec' value='true' />
  <parameter name='minptime' value='10' />
</payload-type>
<payload-type clockrate='8000' name='G722' id='9' />
<payload-type clockrate='8000' name='PCMA' id='8' />

This currently causes a problem in Dino because one of the responder's payload 
types (opus) is judged to not be present in the list of sent payload types, 
because it is not (strictly speaking) equal to any of the sent payload types, 
because it has a different number of parameters.

In this example, is the responder violating the spec by including extra 
parameters for the opus payload type, or is the initiator being too strict when 
comparing the payload types for equality?

Thanks, Jacques
_______________________________________________
Standards mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to