[Asterisk-video] Video codec negotiation in IAX

John Martin John.Martin at AuPix.com
Mon Oct 23 13:27:12 MST 2006


Hi Mihai,
  I can't help much on the way that IAX handles video but I've added the
following capabilities to my SIP and H323 builds, I know it's not quite
prefs but perhaps it shows some thinking I've been doing too...
  I add an

  struct ast_capabilities

  to the peer, user and pvt structures in the two channel drivers. I
tend to create a peercaps, confcaps and a jointcaps from the struct in
each of the pvts and a caps in each of the peer and user structs. I then
use the functions I've created to pass the capabilities around Asterisk
and typically to find the lowest common denominator. The new chan_h323
in 1.4 has a mechanism to preference codecs for voice and I just used
the same mechanism for video.

  I've been thinking that I should add all the audio capabilities to
what I've done to round things off a bit. There are issues of decoupling
all the capabilities functions from the rtp functions in Ast too, to
make an API that's more object like.

  This is all a bit rough and ready at the moment but I hope it helps.
I'm trying to get things into a state where it can be made public.

John

John Martin
John.Martin at AuPix.com
http://www.AuPix.com


> -----Original Message-----
> From: asterisk-video-bounces at lists.digium.com [mailto:asterisk-video-
> bounces at lists.digium.com] On Behalf Of Mihai Balea
> Sent: 23 October 2006 16:45
> To: Iax Developer List
> Cc: asterisk-video at lists.digium.com
> Subject: [Asterisk-video] Video codec negotiation in IAX
> 
> Hello all,
> 
> As you may already know, I am working on adding video support to
> iaxclient.
> 
> It appears however that IAX's support for video codec negotiation is
> lacking.  I am no IAX expert, but from what I can see, there are to
> ways of doing codec negotiation in IAX:
> - use the FORMAT and CAPABILITY IEs.  This allows you to specify one
> preferred codec and a list of acceptable codecs. This is the way
> iaxclient does codec negotiation at this time.
> - use the CODEC PREFS IE.  This allows you to specify a list of
> acceptable codecs, in order of preference.
> 
> The problem with video is that you need to negotiate two codecs at
> the same time (one for video and one for audio). Unfortunately, none
> of the above mentioned methods are suitable for this.  The way I see
> it, there are several ways of addressing this:
> 1. use a VIDEO FORMAT IE, in addition to FORMAT and CAPABILITY.  The
> CAPABILITY IE will contain acceptable video codecs as well as audio.
> 2. use a VIDEO CODEC PREFS IE in addition to the current CODEC PREFS
> IE.  This will more flexible since it allows for video codec
> preference order.
> 3. use the current FORMAT and CAPABILITY and change the semantics of
> FORMAT to allow a video codec as well as an audio codec. This might
> be easiest to implement.
> 
> As a long term solution, I'm inclined to go with #2 since it provides
> the maximum amount of flexibility.  However I would like to hear any
> suggestions you might have regarding this issue...
> 
> Thanks in advance,
> Mihai
> 
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> asterisk-video mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-video
-------------- next part --------------
A non-text attachment was scrubbed...
Name: capability.h
Type: application/octet-stream
Size: 5635 bytes
Desc: capability.h
Url : http://lists.digium.com/pipermail/asterisk-video/attachments/20061023/b718c437/capability-0002.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: capability.c
Type: application/octet-stream
Size: 13610 bytes
Desc: capability.c
Url : http://lists.digium.com/pipermail/asterisk-video/attachments/20061023/b718c437/capability-0003.obj


More information about the asterisk-video mailing list