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

Luigi Rizzo rizzo at icir.org
Fri Oct 12 01:43:10 CDT 2007


while adding video support to chan_oss, i am facing the problem
of letting the channel driver know the result of codec negotiation.
Basically in this setting:

	chan_oss --[ asterisk ]-- chan_sip|chan_iax <--> outside world

chan_oss places a call offering a set of audio and video codecs.
SIP (or possibly IAX, no idea) talks to the other side to know what
is supported there, and possibly settle on preferred formats for
audio, video, etc. How does this information propagate back
to chan_oss ?
Similarly, when an inbound call comes, how is the set of codecs
supported by the remote party propagated to chan_oss ?

I suppose (but again, have no idea) that for audio codecs, asterisk
uses the .capabilities field of the struct ast_channel_tech to do
the matching, and because asterisk itself does the transcoding there
is no need to propagate the choice to the channel driver.  But for
video the situation is different.

Feedback or pointers at other places to look at would be very welcome.

cheers
luigi



More information about the asterisk-dev mailing list