Skip to end of metadata
Go to start of metadata
Icon

PAGE UNDER CONSTRUCTION -Rusty

Icon

This page may not be accurate for Asterisk versions older than 11

Overview of Media Support

Asterisk supports a variety of audio and video media. Asterisk provides CODEC modules to facilitate encoding and decoding of audio streams. Additionally file format modules are provided to handle writing to and reading from the file-system.

The tables on this page describe what capabilities Asterisk supports and specific details for each format.

On This Page

Enabling specific media support

There are three basic requirements for making use of specific audio or video media with Asterisk.

  1. The Asterisk core must support the format or a module may be required to add the support.
  2. Asterisk configuration must be modified appropriately.
  3. The devices interfacing with Asterisk must support the format and be configured to use it.

Module compilation and loading

For audio or video capabilities that require a module - you should make sure that the module is built and installed on the system.

See the section on Using Menuselect to Select Asterisk Options if you need help figuring out how to get a module built and then section on Configuring the Asterisk Module Loader to verify that a module gets loaded when Asterisk starts up.

Channel driver configuration

Audio or video capabilities for Asterisk are used on a per channel or per feature basis. To tell Asterisk what CODECs or formats to use in a particular scenario you may need to configure your channel driver, or modify configuration for the feature itself.

We'll provide two examples, but you should look at the documentation for the channel driver or feature to better understand how to configure media in that context.

Configuring allowed media for a PJSIP endpoint

pjsip.conf

We set the option "allow" to a string of values "!all,ulaw".

  • The value "!all" means "Disallow all" and is identical to "disallow=all". This tells Asterisk to disallow all codecs except what we further define in the allow option.
  • The value "ulaw" instructs Asterisk to allow ulaw audio during media negotiation for this endpoint.

See the section Configuring res_pjsip for more information on the PJSIP channel driver.

Configuring app_voicemail file formats for recordings

voicemail.conf

In the general section of voicemail.conf you can set the formats used when writing voicemail to the file-system. We set the option "format" to a string of file format names.

  • The value "wav49" represents GSM in a WAV|wav49 container.
  • The value "wav" represents SLIN in a wav container.
  • The value "gsm" represents GSM in straight gsm format.

Endpoint device configuration

Configuring your particular device is outside the scope of the Asterisk documentation.

Consult your devices user/admin manual to find out where you define codecs or media to be used.

For VoIP desk phones there are typically two places to look for media configuration.

  1. The web GUI for the phone.
  2. The provisioning files that are pulled down by the phones on your network.

Audio Support

A variety of audio capabilities are supported by Asterisk.

 

NameConfig Value

Capability:
(T)ranscoding

(P)assthrough

CODEC ModuleFormat ModuleDistributed w/ Asterisk?Commercial License
Required?
ADPCMadpcmTcodec_adpcmformat_voxYESNO
G.711 A-lawalawTcodec_alawformat_pcmYESNO
G.711 µ-lawulawTcodec_ulawformat_pcmYESNO
G.719g719P?format_g719YESNO
G.722g722Tcodec_g722format_pcmYESNO
G.722.1 Siren7siren7Tcodec_siren7format_siren7Codec(NO) Format(YES)NO
G.722.1C Siren14siren14Tcodec_siren14format_siren14Codec(NO) Format(YES)NO
G.723.1g723Tcodec_g723format_g723Codec(NO) Format(YES)YES(hardware required)
G.726g726Tcodec_g726format_g726YESNO
G.726 AAL2g726aal2Tcodec_g726format_g726YESNO
G.729Ag729Tcodec_g729aformat_g729Codec(NO) Format(YES)YES
GSMgsmTcodec_gsmformat_gsmYESNO
ILBCilbcTcodec_ilbcformat_ilbcYESNO
LPC-10lpc10Tcodec_lpc10?YESNO
SILKsilkTcodec_silk?Codec(NO) Format(YES)NO
SpeexspeexTcodec_speex?YESNO
Signed Linear PCMslinTcodec_resampleformat_slnYESNO
Ogg VorbisN/A??format_ogg_vorbisYESNO
OpusopusPN/AN/AYESNO
wav (SLIN)wavTN/Aformat_wavYESNO
WAV (GSM)wav49TN/Aformat_wav_gsmYESNO

Speex Support

Asterisk supports 8, 16, and 32kHz Speex. Use of the 32kHz Speex mode is, like the other modes, controlled in the respective channel driver's configuration file, e.g. chan_sip's sip.conf or PJSIP's pjsip.conf.

Signed Linear PCM

Asterisk can resample between several different sampling rates and can read/write raw 16-bit signed linear audio files from/to disk. The complete list of supported sampling rates and file format is found in the expansion link below:

 Click here to expand...

Sampling Rate

Asterisk File format

8kHz

.sln

12kHz

.sln12

16kHz

.sln16

24kHz

.sln24

32kHz

.sln32

44.1kHz

.sln44

48kHz

.sln48

96kHz

.sln96

192kHz

.sln192

Icon

Users can create 16-bit Signed Linear files of varying sampling rates from WAV files using the sox command-line audio utility.

In this example, an input WAV file has been converted to Signed Linear at a depth of 16-bits and at a rate of 32kHz. The resulting output.sln file is then renamed output.sln32 so that it can be processed correctly by Asterisk.

 

Video and Image Support

You'll notice the CODEC module column is missing. Video transcoding or image transcoding is not currently supported.

NameConfig Value

Capability:
(T)ranscoding

(P)assthrough

Format ModuleDistributed w/ Asterisk
JPEGjpegPformat_jpegYES
H.261h261PN/AYES
H.263h263Pformat_h263YES
H.263+h263pPformat_h263YES
H.264h264Pformat_h264YES
VP8vp8PN/AYES

 

 

  • No labels