Skip to content

Codecs and Formats

Germán Luis Aracil Boned edited this page Apr 30, 2026 · 1 revision

Codecs And Formats

Codecs translate audio frames. Formats read and write media files.

Codec Translators

Module Source Purpose
codec_opus.so codecs/codec_opus.c Opus coder/decoder using libopus.
codec_alaw.so codecs/codec_alaw.c A-law coder/decoder.
codec_ulaw.so codecs/codec_ulaw.c mu-law coder/decoder.
codec_a_mu.so codecs/codec_a_mu.c Direct A-law/mu-law conversion.
codec_g722.so codecs/codec_g722.c ITU G.722 transcoder.
codec_g726.so codecs/codec_g726.c ITU G.726 transcoder.
codec_gsm.so codecs/codec_gsm.c GSM coder/decoder.
codec_ilbc.so codecs/codec_ilbc.c iLBC coder/decoder.
codec_lpc10.so codecs/codec_lpc10.c LPC10 coder/decoder.
codec_speex.so codecs/codec_speex.c Speex coder/decoder.
codec_adpcm.so codecs/codec_adpcm.c ADPCM coder/decoder.
codec_resample.so codecs/codec_resample.c Signed linear resampling.
codec_dahdi.so codecs/codec_dahdi.c Generic DAHDI transcoder translator.

Opus

codec_opus is important for modern SIP and browser-oriented deployments.

Requirements:

libopus
pkg-config

Configuration:

configs/codecs.conf.sample

Example:

[opus]
bitrate => 32000
fec => true
dtx => false

Runtime:

*CLI> opus show

SIP peer example:

disallow=all
allow=opus
allow=alaw
allow=ulaw

File Format Modules

Module Purpose
format_wav Microsoft WAV/WAV16 signed linear.
format_wav_gsm WAV with GSM.
format_pcm Raw/Sun ulaw/alaw PCM and G.722.
format_sln Raw signed linear audio.
format_sln16 Raw signed linear 16 kHz audio.
format_gsm Raw GSM data.
format_g729 Raw G.729 data.
format_g726 Raw G.726 data.
format_g723 G.723.1 timestamp file format.
format_ilbc Raw iLBC data.
format_g719 ITU G.719.
format_siren7 Siren7.
format_siren14 Siren14.
format_ogg_vorbis OGG/Vorbis audio.
format_vox Dialogic VOX ADPCM.
format_jpeg JPEG image format.
format_h263 Raw H.263 video.
format_h264 Raw H.264 video.

Add-on Format

Module Purpose
format_mp3 MP3 format add-on.

Media Troubleshooting

If there is one-way audio or failed negotiation:

  • Check codec lists on both peers.
  • Check RTP payload types in SIP debug.
  • Keep directmedia=no while testing.
  • Verify NAT settings.
  • Verify transcoding modules are loaded.
  • Verify format modules are loaded when playback/recording files fail.

Clone this wiki locally