Summary:ASTERISK-21186: chan_gulp - Implement media negotiation rules
Reporter:Matt Jordan (mjordan)Labels:Asterisk12
Date Opened:2013-02-27 16:06:26.000-0600Date Closed:2013-05-03 11:31:38
Versions:12 Frequency of
Description:There are a number of limitations that {{chan_sip}} has with how it offers codecs between parties. In general, {{chan_sip}} always attempts to prevent transcoding, regardless of the codec orderings, preferredcodec settings, etc.

This has been a common point of frustration, but has been difficult to change due to the behavioral impacts.

Instead, we should have the ability in {{chan_gulp}} to let the user determine the media and codecs that are offered on outbound calls such that - if we so want - specific media offers that may result in transcoding will take place in the core. This means doing the following:

* By default, use an endpoint's media settings and disallow/allow codecs to determine the codecs being offered
* Have a function that allows the following to be set on an outbound channel prior to dialing (using a pre-dial handler, for example):
** What media will be offered. For example, an endpoint may support video, but we know we don't want to offer video on the call. More commonly, an endpoint may support T.38 and we want to offer T.38 immediately (this work does not have to include T.38, but the function should be flexible enough to let it be specified once fax support is added)
** What codecs will be offered based on the media choices.