[asterisk-dev] Advanced Codec Negotiation: Need info and uses cases

George Joseph gjoseph at digium.com
Thu Jun 25 08:54:15 CDT 2020


On Thu, Jun 25, 2020 at 4:39 AM Alex Hermann <alex-lists at wenlex.nl> wrote:

> On woensdag 3 juni 2020 22:17:52 CEST George Joseph wrote:
> > Now let's talk about format preference order.
>
> I haven't seen my use case pass by yet, so I'll throw it in...
>
> My use case is where Asterisk is functioning as a sort of SBC and needs
> to respect both party's codec preference, disallow unwanted codecs and
> reduce transcoding when possible.
>
> So, Alice should get to talk in her preferred codec, and Bob in his. The
> "allow" list of Asterisk is only used to filter out unwanted codecs. The
> ordering of codecs in the "allow" list is mostly ignored.
>
> To reduce transcoding The offer to Bob should contain the codecs in the
> order Alice offered them.
>
>
That will certainly be supported.


>
> Asterisk (13) forces the order of the "allow" list on each leg, so I
> have patched my Asterisk 13 with PJSIP to do approximately the above.
> This behaviour is best put under a config option like
> "prefer_remote_codec_order" on the endpoint.
>
>
> My Asterisk uses the following steps:
>
> 1) Retain the codec order from the offer received from Alice.
> 2) Filter out all codecs from the offer that are not in the allow list
> for Alice
> 3) Merge the list from step 2 with the allow list from Bob, but keep the
> ordering from the offer from Alice (prepend Alice's received list to
> Bob's and remove duplicates).
> 4) Filter list from step 3 with the allow list from Bob.
>
> The offer to Bob now contains all the codecs in his allow list, with the
> common codecs between Alice and Bob at the top of the list in the order
> Alice sent them.
>

So far, so good.



>
> 5) On receiving the answer from Bob, retain his codec ordering
> 6) Answer Bob with the received codec ordering from himself
> 7) Use Bob's most preferred codec in his call leg
> 8) Answer Alice with the received codec ordering from herself
> 9) Use Alice's most preferred codec in her call leg
>
> 10) When Alice or Bob decides to switch the actual codec in the RTP to
> another codec from the negotioted list, adjust the codec on that leg
> only (to keep codecs symmetric), but don't change anything on the
> bridged leg.
>

I have to think through this one.



> --
> Alex Hermann
>
>
>
> --
> _____________________________________________________________________
> -- 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



-- 
George Joseph
Asterisk Software Developer
direct/fax +1 256 428 6012
Check us out at www.sangoma.com and www.asterisk.org
[image: image.png]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20200625/b319ea20/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 5142 bytes
Desc: not available
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20200625/b319ea20/attachment.png>


More information about the asterisk-dev mailing list