[Asterisk-Dev] Adding new codec - should I write a new module?

Steve Kann stevek at stevek.com
Fri Dec 2 09:11:28 MST 2005


Raúl wrote:

>Hi everyone,
>
>I'm trying to integrate an implementation of the MELP codec [1] into Asterisk .
>
>After some research I've come to think that the way to do this would
>be to write a new module (based on the source code I've got for the
>codec) that would communicate with Asterisk's core using the Codec
>Translator API. I don't know if I would also need to play about with
>any of Asterisk's source files or just load the module in modules.conf
>
>One problem I've encountered is that I haven't found any document with
>the Codec Translator API's specification. Could someone point me to
>this specification? Or doesn't it exist?
>
>What I'm doing at the moment is having a look at Asterisk's source in
>the doxygen site [2], hoping I can write the source for my module by
>mimicking the source of the already implemented codecs.
>
>Could anyone tell me if this is the best direction to take to achieve
>the task at hand and briefly describe what steps would it involve?
>  
>

That's the direction that I would take, yes.  If you take a look at 
codec_gsm.c (it's only 300 lines total), it's a good start.  Other 
codecs are also reasonable examples, but they may have more 
complications (i.e. codec_speex has a lot of configuration directives 
and special features, etc).

Looking at "MELP", though, it seems like it might be closer to LPC-10, 
in that it uses an awkward frame size.

-SteveK





More information about the asterisk-dev mailing list