SCCP codec questions

Unanswered Question
John Platts Fri, 01/22/2010 - 23:52
User Badges:
  • Silver, 250 points or more

Here are the codecs supported by Cisco Unified CME 7.0 and later:

  • G.711 mu-law (g711ulaw)
  • G.722 A-law (g711alaw)
  • G.729 (g729r8)
  • G.729 Annex B (g729br8)
  • G.722 (g722-64)
  • iLBC (ilbc)


Codec negotiation is not yet a CCA configurable feature. All of the phones

are capable of G.711 and G.729.


Here are the phones capable of G.711, G.729, G.722, and iLBC:

  • CP-7906
  • CP-7911
  • CP-7921
  • CP-7925
  • CP-7942
  • CP-7945
  • CP-7962
  • CP-7965
  • CP-7975
  • CP-8961 (not yet supported on UC500, but will be supported with the SBCS solution in the future)
  • CP-9951 (not yet supported on UC500, but will be supported with the SBCS solution in the future)
  • CP-9971 (not yet supported on UC500, but will be supported with the SBCS solution in the future)
  • Cisco IP Communicator 7.0 or later


Here are other phones capable of G.711, G.729, and G.722:

  • CP-7941
  • CP-7961
  • CP-7970
  • CP-7971
  • SPA501G
  • SPA502G
  • SPA504G
  • SPA508G
  • SPA509G
  • SPA525G


Cisco Unified IP phones not listed above support only the G.711 and G.729 codecs.


Here is the part of the configuration that deals with codec negotiation:

!

! Voice class codec 1 is used to specify the codecs used to negotiate

! SIP calls.

!

voice class codec 1

! G.729 is the preferred codec
codec preference 1 g729r8

! G.711 mu-law is the 2nd preferered codec
codec preference 2 g711ulaw

! G.711 A-law is the 3rd preferred codec
codec preference 3 g711alaw

!

!

! voice class codec 2, voice class codec 3, and so on can be used to configure

! additional codec negotiation lists.

!

!

! Not all dial peers are shown in the example below, even though they

! all will have a similar format.

!

dial-peer voice 1002 voip
corlist outgoing call-domestic
description ** Outgoing call to SIP trunk (Generic SIP Trunk Provider) **
translation-profile outgoing PSTN_Outgoing
destination-pattern 91[2-9]..[2-9]......

!

! voice-class codec 1 is used to tell the UC520 to use voice class codec 1

! to perform codec negotiation

!
voice-class codec 1
voice-class sip dtmf-relay force rtp-nte
session protocol sipv2
session target sip-server
dtmf-relay rtp-nte
ip qos dscp cs5 media
ip qos dscp cs4 signaling
no vad
!

!

!

dial-peer voice 3009 voip
description DID9
translation-profile incoming DID_Called_9

!

! voice-class codec 1 is used to tell the UC520 to use voice class codec 1

! to perform codec negotiation

!
voice-class codec 1
voice-class sip dtmf-relay force rtp-nte
session protocol sipv2
session target sip-server
incoming called-number 16825551009
dtmf-relay rtp-nte
ip qos dscp cs5 media
ip qos dscp cs4 signaling
no vad
!

!

! Here are the SCCP settings used on the UC520.

!

sccp local Loopback0
sccp ccm 10.1.1.1 identifier 1 version 4.1
sccp
!

! Transcoding settings must be correctly configured

!

sccp ccm group 1
associate ccm 1 priority 1
associate profile 3 register mtp123412341234
!

! DSP farm used for transcoding. You must turn on

! transcoding if you are using codecs other than

! G.711 mu-law. Transcoding is necessary as Cisco

! Unity Express cannot handle calls that are not in

! G.711 codec. In addition, G.722 or iLBC calls

! must be transcoded if answered by Cisco Unity

! Express or by IP phones that do not support

! these codecs.

!

!

! Here are DSP settings for the UC520-8U and UC520-16U.

! UC520-24U, UC520-32U, UC520-48U, UC540, and UC560

! can transcode more calls.

!

dspfarm profile 3 transcode universal
codec g711ulaw
codec g711alaw
codec g729abr8
codec g729ar8
codec g729r8
codec g729br8

! iLBC and G.722-64 do not need to be in the transcoding profile

! unless your SIP provider supports these codecs, or you have

! phones that support these codecs.

codec ilbc

codec g722-64
maximum sessions 2
associate application SCCP
!

telephony-service
sdspfarm units 5
sdspfarm transcode sessions 8
sdspfarm unregister force
sdspfarm tag 3 mtp123412341234
!


Other example codec negotiation scenarios:


G.722 1st, G.711 mu-law 2nd, G.711 A-law 3rd, G.729 4th:

voice class codec 1

codec preference 1 g722-64

codec preference 2 g711ulaw

codec preference 3 g711alaw

codec preference 4 g729r8


iLBC 1st, G.729 2nd, G.711 mu-law 3rd, G.711 A-law 4th:

voice class codec 1

codec preference 1 ilbc

codec preference 2 g729r8

codec preference 3 g711ulaw

codec preference 4 g711alaw


iLBC first, G.729 2nd:

voice class codec 1

codec preference 1 ilbc

codec preference 2 g729r8

gregatatt Mon, 06/27/2011 - 16:55
User Badges:

Is there an eta for 9951 support on the UC 500 platform ....specifically the UC 520?


Thanks!

This overview helps alot thanks,   I think I understand most of this but still a  few questions and confirmations.


1) First you define voice class codec 1 for the codecs you want to use and in what priority for calls origonationg from the UC520 to a genaric sip providor? 


2) Then you assing the voice class codec to dial peer 1002 and 3009.   I presume 1002 is for UC520 to generic sip providor only and 3009 is for generic sip providor to UC520 only and not for internal phones to UC520?



Now is where it is a little more confusing.


1) What is this is the transcoding used for codecs other than 711?     If a DID call comes in on dial peer 3009 and it is 729 as nefotiated and prefernced by the assigned voice class codec then does this mean you need transcodeing becouse the phones only support 711?   Or is there always a logical break at the UC520 in that irrespective of what codec calls to and from the genric sip providor are in (dial peer 1002 and 3009) the UC520 converts those calls to 711 to go to the phones?


2) In order to force the cisco phones to use a specifc codec to and from the UC520 would you simply removed the unwanted codecs from the dspfarm profile?

John Platts Sat, 01/23/2010 - 20:35
User Badges:
  • Silver, 250 points or more

The voice class codec 1 is actually there if you configured SIP trunking in CCA and it also appears in the UC500 default configuration file. However, CCA does not yet have an option to adjust codec negotiation.


Remember that Cisco Unity Express can only handle G.711 mu-law audio. It cannot handle G.711 A-law, G.729, G.722, or iLBC audio streams. Transcoding is the process of converting an audio stream from one codec to another codec, and a transcoded call gets transcodec in both directions. In a transcodec call, audio packets from endpoint A to endpoint B are transcoded from codec A to codec B, and audio packets from endpoint B to endpoint A are transcoded from codec B to codec A.


Other situations where transcoding might occur:

  • Call is transferred to voicemail, auto attendant, teleworker telephone, or is a call using the iLBC or G.722 codec that is transferred to a phone that does not support that codec
  • Conferencing
  • Calls from a teleworker phone to a ITSP that does not support the G.729 codec
  • Calls with G.722 audio that are answered by phones that do not support the G.722 codec
  • Calls with iLBC audio that are answered by phones that do not support the iLBC codec


Remember that the codecs allowed for a particular leg of the call are the codecs that are listed in all of the following:

  • the session descriptors within the SIP signaling
  • the voice class codec list of the inbound dial peer, for inbound calls from non-SCCP endpoints
  • the voice class codec list of the outbound dial peer, for outbound calls to non-SCCP endpoints


If none of the codecs allowed for the leg of the call between the ITSP and the UC520 unit are supported on the endpoint that is answering the call, the UC520 will either transcode the call or disconnect the call. However, if there is at least one supported codec that is supported by the initiating endpoint, supported by the answering endpoint, listed in the voice class codec list of the inbound dial peer, and listed in the voice class codec list of the outbound dial peer, transcoding will usually not occur, and a codec supported by both endpoints is usually negotiated.


1002 and 3009 were provided as examples from a typical UC520 configuration. There will be dial peers on a UC500 system with tag numbers other than 1002 and 3009, but the format of these dial peers will be similar. And a standard UC520 configuration will usually have at least 5 dial peers for external calls.


I only shown two dial peers in the example, but UC520 systems that use SIP usually have many more dial peers than that. Here are the details about SIP dial peers:

  • voice class codec , where is substituted with the actual voice class codec tag number, is actually used to determine the codecs to be used for a call coming to or from a particular dial peer, in order from most preferred to least preferred. Codec preferences with lower numbers are more preferred and codec preferences with higher numbers are less preferred. The voice class codec list used for codec negotiation on a particular dial peer is configured with the voice-class codec line in the dial peer configuration (notice that it is voice-class in the dial peer configuration to avoid confusion).
  • SIP dial peers are in the format dial-peer voice voip, where is substituted with the actual dial peer number
  • There are separate dial peers for inbound and outbound calls
  • Inbound dial peers always have a incoming called-number line
  • Outbound dial peers always have a destination-pattern line
  • The UC520 will either negotiate a codec that is supported by both call endpoints, transcode a call, or drop the call if a compatible codec cannot be negotiated. This is one reason why transcoding needs to be properly configured on the UC520.
  • Dial peers to the ITSP have the session target sip-server line
  • Additional parameters for the ITSP are specified in the voice service voip and sip-ua sections of the UC500 configuration. There are actually parameters that are not yet exposed in the CCA SIP Trunk window, but might actually get added to the CCA SIP trunk window in the future.
  • Remember that voice-class codec is not used in CUE VM and AA dial peers. CUE VM and AA dial peers have the codec g711ulaw line, which guarantees that calls to and from CUE are actually using the G.711 mu-law codec.


The dspfarm profile is actually the wrong place to remove unwanted codecs, even though you do not need to have iLBC or G.722 in that list if they are not being used by your ITSP and you have phones that do not support the G.722 or iLBC codecs. The correct place to remove unwanted codecs is in the voice class codec section. Remember that if a codec is not listed in the voice class codec section, it will not be negotiated.


To answer your question about G.729 calls, all of the Cisco IP phone models have support for G.711 mu-law, G.711 A-law, and G.729. The UC520 does not have to transcode G.729 calls, as Cisco Unified IP phones can handle the G.729 codec. Since all Cisco IP phones and Cisco Unity Express support the G.711 mu-law codec, calls do not have to be transcoded if answered by Cisco Unity Express or by on-site IP phones. However, G.711 mu-law might get transcoded to G.729 if answered by a teleworker telephone, depending on how the teleworker phone is configured on the UC520. Since all Cisco IP phones support G.711 A-law codec, calls do not have to be transcoded if answered by on-site IP phones. However, G.711 A-law might get transcoded to G.711 mu-law if answered by Cisco Unity Express, or G.711 A-law might get transcoded to G.729 if answered by a teleworker phone.

Actions

This Discussion