Skip to main content

Media

In Voxtronics, the media plane is decoupled from the control plane and is based on RTP/RTCP standards and related techniques.

During session establishment, codecs and media encryption parameters are negotiated at runtime using SDP; however, local policies can be applied to control media behavior. These policies also influence outbound media handling.

Currently, Voxtronics supports SRTP with SDES key exchange.

Support for DTLS-SRTP is planned for future releases.

Media-related settings can be customized via bot configuration, SRTP with SDES is enabled on all Bots.

Codec selection order

Codec selection follows one canonical policy:

  1. Read global preference order from the desired configuration.
  2. Normalize entries and drop unknown codec names.
  3. Apply provider priority only as a reordering of allowed names.
  4. Pick the first codec present in both negotiated SDP and the resulting search order.
  5. Raise unsupported codec error when no intersection exists.

Default global order is: opus, pcma, pcmu, g722, l16.

Supported Codecs

List of supported codecs and profiles:

CodecSample rate (audio)RTP clock rateNotes
Opus48 kHz48 kHzSupports variable bitrate; RTP timestamp always at 48 kHz
PCMA8 kHz8 kHzG.711 A-law
PCMU8 kHz8 kHzG.711 μ-law
G.72216 kHz8 kHzWideband audio (RTP clock fixed at 8 kHz)
L16SDP-definedSDP-definedCommon rates: 8, 16, 48 kHz

Supported SRTP Profiles

The supported SRTP profiles are:

SRTP profileNotes
AES_CM_128_HMAC_SHA1_80AES Counter Mode with HMAC-SHA1 (80-bit authentication tag)
AES_CM_128_HMAC_SHA1_32AES Counter Mode with reduced authentication tag
AEAD_AES_128_GCMAEAD AES-GCM profile
AEAD_AES_256_GCMAEAD AES-GCM with 256-bit key

For inbound calls the preferred profile is AEAD_AES_128_GCM; however, the platform falls back to other supported profiles when required.