[asterisk-dev] how does a channel driver know the result of codec negotiation ?

Tilghman Lesher tilghman at mail.jeffandtilghman.com
Mon Oct 15 02:49:12 CDT 2007


On Sunday 14 October 2007 14:47:11 Luigi Rizzo wrote:
> On Sat, Oct 13, 2007 at 09:37:20AM +0200, Kevin P. Fleming wrote:
> > Luigi Rizzo wrote:
> > > i know - didn't want to make the story too long :)
> > > (i suppose it is also a problem to pass the information across
> > > a chain of asterisks)
> >
> > Yes, that will be complicated to solve properly as well.
> >
> > > ok will keep in mind. Any idea of how other PBX address this issue ?
> >
> > I don't know of very many PBX products that support videophones, and
>
> but as you said the problem exists in general, even for audio-only
> calls where the PBX is not in the media stream (and the two ends
> use a different technology - e.g. probably chan_sip handles this
> case already when connectiong two sip endpoints just because they
> happen to talk the same language ?)
>
> Anyways, what would be wrong with the obvious solution of notify
> the caller's channel driver once the remote party reports supported
> formats ?  I don't know exactly if we already have a suitable
> callback in struct ast_channel_tech but given the abundance of
> entries there i suppose one more wouldn't harm too much.

As an alternative approach, why not create a frame type to notify
all channels listening that the native media type has changed?  Those
channels which wish to receive the data as non-transcoded could then
request to change their native media types, thus saving the Asterisk
server an amount of transcoding.  Other channels are free to ignore the
notification, in which case Asterisk transcodes to the proper type for each
receptive channel.  Everybody wins.

-- 
Tilghman



More information about the asterisk-dev mailing list