Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Search instead for
Did you mean:
After a Cisco IOS upgrade from 12.3(6) to 12.3(18) or later, SIP calls between the Cisco IOS gateway and the third-party SIP proxy server fail with the error message: "An exact codec match not configured, using interoperable codec g729r8"
The codec negotiation is successful in Cisco IOS Release12.3(6) due to Cisco bug ID CSCeh19375, which treats g729r8 and g729br8 codecs as interoperable codecs. Codec negotiation fails in Cisco IOS Release 12.3(19) because this version has the fix for Cisco bug ID CSCeh19375.
These are two important facts to know regarding this scenario:
The G729 (g729r8) and G729b (g729br8, g729r8 with Annex B) codecs are not compatible and interoperable on Cisco IOS DSPs.
According to Section 4.1.9 of RFC 3555, the attribute annexb indicates whether Annex B is used or not. It is implied that Annex B is in use if this parameter is omitted in the Secure Device Provisioning (SDP) body.
If these three SDP messages for g729 are examined, Option 1 and Option 3 are considered for g729b, but only Option 2 is considered for g729 according to RFC 3555. If the third-party Session Initiation Protocol (SIP) proxy or SIP User Agent (SIP-UA) sends a g729 offer in Option 3 format, Cisco IOS assumes it is g729b, in compliance with RFC 3555.
The third-party SIP-UA or SIP proxy sends this back:
SIP/2.0 200 OK a=rtpmap:18 G729/8000
Cisco IOS assumes the phone server wants a g729br8. This assumption is also made based Cisco on bug ID CSCeh19375.
Cisco IOS chooses interoperable codec g729r8 in version 12.3(6), and the codec negotiation succeeds:
May 17 16:14:03.240: sipSPIDoMediaNegotiation: number of m lines is 1 May 17 16:14:03.240: sipSPIDoAudioNegotiation: An exact codec match not configured, using interoperable codec g729r8 May 17 16:14:03.240: sipSPIDoAudioNegotiation: Codec (g729r8) Negotiation Successful on Static Payload for m-line 1
After a Cisco IOS upgrade to Release 12.3(18), Cisco bug ID CSCeh19375 is fixed. It does not choose g729r8 as the interoperable codec for g729br8, so the codec negotiation fails:
May 17 10:33:21.764: sipSPIDoMediaNegotiation: number of m lines is 1 May 17 10:33:21.764: Codec (g729br8) is not in preferred list May 17 10:33:21.768: Dynamic Payload :101 in SDP Body May 17 10:33:21.768: sipSPIDoAudioNegotiation: No matching voice codec found for m-line 1 May 17 10:33:21.772: sipSPIDoAudioNegotiation: Media negotiation failed for m-line 1
After an upgrade to Cisco IOS Release 12.3(18) or later, Cisco IOS becomes RFC 3555 compliant and is not able to interoperate with non-RFC 3555 compliant SIP-UA.
To resolve this issue, the phone server must comply with RFC 3555. A hidden command, g729-annexb override under the sip-ua command, was added by Cisco bug ID CSCse16135 to interoperate with non-RFC 3555 compliant SIP-UA. Issue this command, which was added in CCO release 12.3(20), 12.4(10), 12.4(9)T1 and Cisco IOS Releases later than 12.4(9)T1.