On Aug 16, 2007, at 7:37 AM, Stephen Davies wrote:

Now I'd like to fix this.  But which is the best way:

1) Have the caller rearrange the codec_prefs so that the current codec
(ilbc) is moved to the top

2) Have the callee note the format and use that if its anywhere in the
allow as first option.

I think I like (1) better for better backward compatibility, but what
do people think?

The way I read the spec is that if you have a CODEC PREFS IE in your NEW message, it takes precedence over FORMAT and CAPABILITIES. So in your case, the caller should arrange its codec prefs list to reflect its actual preferences (ilbc on top) and the callee should ignore the format and capabilities IEs and rely on the incoming codec prefs IE for its codec negotiation logic.

Generally speaking, IAX2 codec negotiation is somewhat broken. It allows for only one codec to be selected as THE codec for the call. This is insufficient when trying to do video, since a video call would need two codecs, one for video and one for audio. Also, I'm not sure what would happen if the caller decides to change formats in the middle of the call... would it have enough information about the callee supported codecs?

There were some discussions at Astridevcon about adopting a better way to manage codec negotiation. I started writing a proposal for that but got caught up in other things. I'm thinking of finishing it and posting it up for discussion.

Mihai


Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to