SILK Codec Transcoding Support

SILK is an audio codec developed by Skype Limited that supports bit rates from 6 kbit/s to 40 kbit/s and sampling rates of 8, 12, 16, or 24 kHz. It can also use a low algorithmic delay of 25 ms (20 ms frame size + 5 ms look-ahead). This feature adds the SILK codec as well as support for transrating, transcoding, and pooled transcoding.

Transcoding the SILK codec requires a special license as it is subject to a royalty agreement. Licensing supports up to the full density for this codec in bins of 25. A feature bit is required as well as a field for the capacity limit. The capacity limit is stored in 12 bits per codec allowing up to 102,375 licensed sessions. This limit is sufficient for future hardware iterations’ projected session densities.

SILK Supported Options

Required SDP Parameters:
  • rate — Specifies the sampling frequency. SILK supports four different audio bandwidths – narrowband at 8 kHz, mediumband at 12 kHz, wideband at 16 kHz, and super wideband at 24 kHz. This parameter is mapped to the RTP clock rate in “a=rtpmap”. The DSP only supports audio sampling rates of 8 kHz and 16 kHz for transcoding; the 12 kHz and 24 kHz bandwidths are not transcodable.

Optional SDP Parameters:

  • ptime — Specifies the packetization interval in milliseconds. The DSP supports packetization intervals of 20, 40, 60, 80, and 100 ms. This parameter is mapped to “a=ptime” in the SDP. The default is 20 ms.
  • maxptime — Specifies the maximum packetization interval in milliseconds. The default is 100 ms.
  • minptime — Specifies the minimum packetization interval in milliseconds. The default is 20 ms.
  • maxaveragebitrate — Specifies the maximum average rate of bits received for a session in bits per second. Bit rates of 5000 to 30000 bps are transcodable by the DSP.
  • usedtx — Specifies whether the SILK decoder utilizes Discontinuous Transmission (DTX). The possible values are 0 (no) and 1 (yes). The default is 0.

The payload type is dynamic for this codec.

Sample media-profile configuration for adding SILK

Parameter Value
name SILK
subname wideband
media-type audio
payload-type 103
transport RTP/AVP
clock-rate 16000
req-bandwidth 0
frames-per-packet 0
parameters
average-rate-limit 5000
peak-rate-limit 0
max-burst-size 0
sdp-rate-limit-headroom 0
sdp-bandwidth enabled
police-rate 0
standard-pkt-rate 0

Monitoring and Debugging

CLI commands:
  • The show sipd codecs command is modified to add SILK Count.
SNMP:
  • New SNMP OID apSysXCodeSILKWBCapacity is added to transcoding utilization statistics as reported in the apSysMgmtGroupTrap. When utilization falls below 80%, the apSysMgmtGroupClearTrap is sent.
  • SILK realm statistic apCodecRealmCountSILK is added to the apCodecRealmStatsEntry table located in the ap-tc.mib.
Alarms:
  • Licensed SILK Transcoding Capacity Threshold Alarm — A warning level alarm that doesn't affect health is triggered when the SILK transcoding utilization exceeds 95% of licensed capacity. The alarm is cleared when the SILK transcoding utilization falls below 80% of licensed capacity.