[Asterisk-video] how to do codec negotiation for adaptation to network conditions?

Emmanuel BUU emmanuel.buu at ives.fr
Tue Jun 2 15:13:51 CDT 2009


Hello,

Interesting issue ...

If your asterisk serves as registrar, it stores the round trip time of 
SIP "pings". You could uses this piece of info as chan_sip makes the 
association between the INVITE and the Asterisk peer, to have your codec 
selection.

I understand / suspect that you would like to do this on the server side 
to accomodate most of the UA but IMHO, this is not the most efficent 
approach not the one which is consistent with the
end to end networking philosophy underlying the SIP protocol (even 
though I do not fully adhere to it).

One question; why the latency would serve in the codec selection? IMHO 
this is not the relevant parameter?

In order to select a relevant codec, one needs to know

    * The end to end bandwidth between the UAs that participate in
    * The processing power, capture and display size of each UA.

There is no direct way to determine this end to end so here is an approach

    * Asterisk needs to be modified to be more compliant with RFC 3264
      and support multiple codec selection (we are currently dong this)
    * Asterisk needs to be modified to exchange video attribute
      capacities: this is the purpose of the videocaps branch
    * Each UA do a download test to try to determine its available
      bandwifth and properely negociate it with Asterisk.
    * During conversation, if the UA notice some packet loss (using RTCP
      receiver reports sent by Asterisk) it should renegocation / reduce
      its upstream bandwifth
    * If Asterisk notices packet loss from the UA, it should renegociate
      the bandwith using the UPDATE primitive.


Emmanuel


Juan Ignacio Jimenez Anguiano a écrit :
> Hi, I need to change some code of Asterisk. I want that change to make 
> possible a preliminary estimation of latency when Asterisk receives an 
> INVITE with SDP description to iniciate a session.
>
> This estimation will be used to choose the most appropiated parameters 
> for a determinated video codec ( i suppose that i know what 
> client-program is being used so I know what codecs are supported). 
> These parameters could be, for example, the resolution or the frame 
> rate of video codec.
>
> Once the new parameters are been selected, the SDP description must be 
> modified properly.
> Finally, an INVITE with the modified SDP description will be sent to 
> the destination,
>
>
> For simplicity:
>
> I know what client is used so I know what videocodecs are resolution 
> supported. In addition, i suppose that latency can be measure using 
> "pings".
>
> So, any ideas to face this issue?
>
> Thanks,
> -- 
> Juan I. Jiménez Anguiano
> Telecommunication Engineer.
> ·························································································
> Dep. Sistemas y Automática
> Área de Telemática
> Escuela Superior de Ingenieros (Universidad de Sevilla)
> ·························································································
> C/ Camino de los Descubrimientos, s/n; 41092-Sevilla (SPAIN)
> e-mail: juanjimenez at trajano.us.es <mailto:juanjimenez at trajano.us.es>
> ------------------------------------------------------------------------
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-video mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-video

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-video/attachments/20090602/46f1924d/attachment.htm 


More information about the asterisk-video mailing list