[asterisk-dev] Asterisk 18 Planning: Codec Negotiation

Michael Maier m1278468 at mailbox.org
Fri Jan 31 00:16:46 CST 2020

On 30.01.20 at 23:20 Kevin Harwell wrote:
> On Thu, Jan 30, 2020 at 3:01 PM Michael Maier <m1278468 at mailbox.org> wrote:
>> .....
>>>> 2. outgoing_sdp_send_prefs
>>>>    The list can be created on base of the callees
>>>>    allow line and list 1 (option local ...).
>>>>    Or:
>>>>    The list can be created on base of list 1
>>>>    (option remote ...) and the callees allow line.
>>>>    Both lists may have a different codec order or
>>>>    different codecs (if *_single is provided).
>>>>    Codecs not given in the callees allow line or
>>>>    list 1 are dropped (*_limit).
>>> This is mostly correct, but for clarification selecting the "remote" or
>>> "local" value will always only contain those codecs from the endpoint
>>> configuration allow line. Or another way to say it is the resulting list
>> is
>>> the intersection of the two lists (list 1 and allow=) plus the codecs in
>>> the allow line that are not in list 1. The order will change depending on
>>> which value is used.
>>> This means that if list 1 contains a codec not found in the endpoints
>>> allow= line then that codec will not be included in the resulting list.
>> For
>>> example;
>>> list 1 = opus,ulaw,alaw
>>> allow= ulaw, alaw, g722
>>> Then if "remote" or "local" is chosen then the resulting list will never
>>> have opus in it.
>> Sorry, I don't understand at the moment, how it is possible to *not*
>> choose "remote" or "local". According to your documentation, "remote" is
>> the default if you don't provide any option to outgoing_sdp_send_prefs.
>> Maybe I missunderstood some more ... .
> No worries it's my bad. I can see how what I wrote was ambiguous. What I
> meant was "if *either* remote *or* local is chosen". As in it doesn't
> matter which option value you choose. Either one would result (in this
> example) in opus not being included in list 2.

Hmm, that's how I understood it - but I still can't see any possibility
to not provide either remote or local value. Therefore I can't see any
possibility to ever get opus in your given example above to the
resulting list 2. But that would be ok anyway, because I don't ever want
to have opus in the list in this specific case.

Could you please tell me, how outgoing_sdp_send_prefs can be used
*without* any active "value" (like local, local_limit, local_single,
remote, remote_limit, remote_single) as long as *remote* is
automatically used ("default") according documentation if no other value
is provided? This would be the same for all other lists, too.

>From documentation:
remote - Order by what is optionally given by a "caller". Note, the
resulting list will contain those codecs specified by Bob's
configuration, which are not found also in the given remote list, as
least preferred. Meaning they will be at the end, or bottom of the list


More information about the asterisk-dev mailing list