Codec Support and Configuration
The following chart details all codecs supported by all Sangoma Transcoding hardware:
The Chart below indicates Asterisk & FreeSWITCH supported Codecs
Codec | G711 | G711 | L16 | G729ab | G723.1 | G722 | GSM_FR | ILBC | G726 | AMR-NB | AMR-WB | G722.1 | GSM_EFR |
Asterisk | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N | N |
FreeSWITCH | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N | Y | N |
Legend: Y - Supported codec
N - Unsupported codec
-> Asterisk: P time(s) are hard-coded at 20ms and cannot be changed
->FreeSWITCH: P time(s) up to and including 50 ms are supported
API Supported Codecs and Ptimes (not relevant for Asterisk/FreeSWITCH users)
Codec | P time (ms) | Codec | P time (ms) |
G711 ulaw | 10,20,30,40,50ms (64 kbps/8 Khz) | G722 | 10,20,30,40ms (64 kbps/8 khz) |
G711 alaw | 10,20,30,40,50ms (64 kbps/8 Khz) | GSM_FR | 20 ms (13 kbps/8Khz) |
L16 linear | 10,20,30,40,50ms (128 kbps/8Khz) | GSM_EFR | 20ms |
G729 AB | 10-200ms (8 kbps/8 Khz) | ILBC | 20,40,60ms (15.2kbps/8Khz) |
G723.1 | 30,60,90ms (5.3kbps/8Khz) | G726 | 10,20,30,40,50ms (32kbps/8Khz) |
G722.1 (Siren 7) | 20ms (24kbps/16Khz) | AMR | 20,40ms (4.75kbps/8Khz) |
*Note: The above Codec Support is based on the hardware (independent on the application above)
Note: Using the AMR-WB resource in connection with a Sangoma SBC or Sangoma Transcoding Boards described herein does not grant the right to practice the AMR-WB standard. To seek a patent license agreement to practice the standard, contact VoiceAge Corporation at www.voiceage.com/licensing.php.
Asterisk Codec Configuration
The Sangoma transcoder will perform transcoding for all codecs listed in the codec module configuration file: sangoma_codec.conf.
By default, the codec module is already pre-configured to perform all codec translations for G729. If you require only g729 translations you do not need to edit any information.
If you require the transcoder to perform transcoding for additional codecs, edit sangoma_codec.conf and add the translation with the following syntax:
-> register=XX Where 'XX' represents the codec of your choice (ie. register=pcmu)
*List all codes in a single register= line separated by commas. Eg -> register=g729toulaw,ulawtog729
If only one codec is specified in the command above, then all possible translation combinations for that codec will be registered. For example "pcmu" , (pcmu->alaw, alaw->pcmu, g723->pcmu, pcmu->g723, gsm->pcmu, pcmu->gsm…etc)
If you register specific translation paths, (i.e g729toulaw, ulawtog729), then the codecs will be invoked for only those translations combinations, and no other.
If you wish to NOT register a codec or translation, edit sangoma_codec.conf and add the translation with the following syntax:
-> noregister=XX Where 'XX' represents the codec of your choice ie. pcmu
*List all codes in a single noregister= line separated by commas. Eg -> noregister=alaw,g723.1
Asterisk supported codecs with their syntax in sangoma_codec.conf
|
sample sangoma_codec.conf file with various codec usages:
|
-> After editing your codecs in sangoma_codecs.conf, you must either restart Asterisk, or reload the codec module in asterisk ("module reload codec_sangoma.so")
Type 'sangoma show codecs' at the Asterisk CLI for a list of supported codecs
Type 'sangoma show translators' at the Asterisk CLI for the list of translators registered
FreeSWITCH Codec Configuration
The Sangoma transcoder will perform transcoding for all codecs listed in the codec module configuration file: sangoma_codec.conf.xml
By default, the codec module is already pre-configured to perform all codec translations for G729. If you require only g729 translations you do not need to edit any information.
If you require the transcoder to perform transcoding for additional codecs, edit sangoma_codec.conf.xmland add the translation with the following syntax:
-> <param name="register" value="X"/> Where 'X' represents the codec of your choice (ie. <param name="register" value="g729"/>)
If you wish to NOT register a codec or translation, edit sangoma_codec.conf and add the translation with the following syntax:
-> <param name="noregister" value="X"/> Where 'X' represents the codec of your choice ie. pcmu
FreeSWITCH supported codecs with their syntax in sangoma_codec.conf.xml
|
sample sangoma_codec.conf.xml file with various codec usages:
|
-> Type 'show codecs' in FS CLI and all codecs prefixed with "sangoma" are registered by the transcoder
-> Type ' sangoma_codec sessions' in FS CLI to see codec session with RTP information