Friday, September 27, 2013

IOS Codec Preferences


The topic of codec selection comes up regularly in the VoIP provider world. Specifically, concerns regarding customers that have ‘hard coded’ their codec to G729 to the point they won’t allow G711. This explains how codecs get assigned to call legs in Cisco IOS.


You can set up a codec class as described below.

voice class codec 100
codec preference 1 g729r8
codec preference 2 g711ulaw

That works just as you would expect: G729 is the top preference, if that’s not available revert to G711.

Now, you apply that to a voip dial peer:

dial-peer voice 150 voip
destination-pattern .T
session protocol sipv2
session target ipv4:1.1.1.1
voice-class codec 100


I personally have another dial-peer set up for outbound fax. For that, I “hard code” to G711, like this:

dial-peer voice 160 voip
destination-pattern *.T
translation-profile outgoing fax
session protocol sipv2
session target ipv4:1.1.1.1
codec g711ulaw

Interestingly enough – if you specify no codec for a dial-peer – IT WILL DEFAULT TO G729 AND NOT ALLOW G711. Net, you get the hard-coded G729 scenario if you do nothing to your dial peer.

Copyright ©1993-2024 Joey E Whelan, All rights reserved.