cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4295
Views
10
Helpful
7
Replies

When exactly do we need transcoding ?

Jonn cos
Level 4
Level 4

Hi all experts.

This question as always bugged me. I mean, can a voice student like me, can determine by himself that whether do we need transcoding or not, in a particular scenario ?  i know it sounds very odd question but let me share a question with you. This question was answered by a CCIE, and i verified it here, but just giving as an example

I have 1 3845 core router at my HO, that will be connecting to 50 branches running G 729 codec, whereas on LAN we will have g 711 codec. We will be terminating SIP trunk from an ITSP. Now the question was, will the calls coming from SIP trunk and going to branches, will be transcoded or not ?

The answer was, YES transcoding will be required.

I just wanted to know, how should i have determined the answer myself ? does it really boils down to experience or can anyone determine when and where transcoding would be required. With help of cisco docs or tools or ebooks, can someone guide me how should i have solved the above question myself ?

Thanks in advance

1 Accepted Solution

Accepted Solutions

How should i have approaced this problem to decided whether transcoding is needed or not ?

It simply boils down to this: you need a transcoder if you have a spot in your call flow where two adjacent legs do not support the same codec, and there is a codec mismatch.  That device where the codec mismatch occurs, needs to invoke a transcoder.

See, if i have my HO ip phones configured in region_A with G711 codec. 
All branches are configured in region_B with G729 codec. No transcoding 
is required since CCM will tell the phones to convert to appropriate 
codecs so codec mismatch doesnt occur.

CM isn't 'converting' codecs in this case.  When you have devices in a g711 region in CM, it allows a maximum codec of g711.  G.729 is a valid codec in a g.711 region since it uses less bandwidth.  Hence, if a device in a g711 region calls a device in a g729 region, and the devices both can physically support g.729 in the hardware) the call won't have a codec mismatch since it will just use g.729 end-to-end.

Now this is different from dial-peers.  If you have a g711 dial-peer, it *only* supports g711.  If you configure g729 on the peer, it *only* supports g729.  If you configure a voice-class codec, it will support whatever codecs are in that class, but we don't invoke a transcoder if we match a voice class codec.

So in the case of SIP trunk (assume only supporting G711 codec), why 
doesnt CCM tell the region_B phones to automatically switch to G711 
codec ??

If devices are in a g.729 region, then they are not allowed to do g.711.  CM won't allow that, since a g711 call uses more bandwidth that a g.729 call does, which is what the region is configured for.

If you read the CUCM SRND, it may make more sense regarding this, if you have more questions.

-Steve

View solution in original post

7 Replies 7

Steven Holl
Cisco Employee
Cisco Employee

Transcoding is required when you simply have a codec mismatch on each leg at a specific device.  That's all it boils down to.

Every call through a voice device (unless it is an endpoint answering the call) has two call legs.  Each call leg has capabilities.  If one leg can only do g.729, and the other leg can only do g.711, the device where this mismatch occurs will need to invoke a transcoder.  If one leg can only do g.729, and the other leg can do g.711 and g.729, it will just negotiate g.729 end-to-end and the call won't invoke a transcoder.

For your scenario, it depends what codecs are supported on the SIP trunk, to say if you need a transcoder.  If they support g.729 and g.711, and you're okay doing g.711 out your SIP trunk, a transcoder isn't necessary.  Or, if you plan on doing g.729 for all calls out your SIP trunk, you only need a transcoder when you hit a device that only support g.711 (Unity,IPCC).

Dear Steven,

I was told, i would be needing a transcoder !!!. See, calls are coming from ITSP on G711 codec, they are going to branches that are configured to use G729 codec (we will have CUCM 8 configured). So do i still need transcoding or not ??

Kindly guide me

Does the SIP trunk have the capability to do g.729?  Do you see g729 in the SDP from the provider in the SIP messaging?  If so, for those calls, you can do g.729 all the way through to the remote sites without a transcoder.

If the trunk only supports g.711, then you will need a transcoder.  If the codec mismatch is at CM, the transcoder needs to be registered to CM.  If CUBE is involved, and if the mismatch is at CUBE (each dial-peer has a different codec) then the transcoder will be registered to CUBE.

Dear Steven,

This is exactly what i want to know. How should i have approaced this problem to decided whether transcoding is needed or not ?

See, if i have my HO ip phones configured in region_A with G711 codec. All branches are configured in region_B with G729 codec. No transcoding is required since CCM will tell the phones to convert to appropriate codecs so codec mismatch doesnt occur. So in the case of SIP trunk (assume only supporting G711 codec), why doesnt CCM tell the region_B phones to automatically switch to G711 codec ??

As you can see, i am a bit confused here. There are so many cases, how should one approach them to determine whether transcoding would be required or not ?

How should i have approaced this problem to decided whether transcoding is needed or not ?

It simply boils down to this: you need a transcoder if you have a spot in your call flow where two adjacent legs do not support the same codec, and there is a codec mismatch.  That device where the codec mismatch occurs, needs to invoke a transcoder.

See, if i have my HO ip phones configured in region_A with G711 codec. 
All branches are configured in region_B with G729 codec. No transcoding 
is required since CCM will tell the phones to convert to appropriate 
codecs so codec mismatch doesnt occur.

CM isn't 'converting' codecs in this case.  When you have devices in a g711 region in CM, it allows a maximum codec of g711.  G.729 is a valid codec in a g.711 region since it uses less bandwidth.  Hence, if a device in a g711 region calls a device in a g729 region, and the devices both can physically support g.729 in the hardware) the call won't have a codec mismatch since it will just use g.729 end-to-end.

Now this is different from dial-peers.  If you have a g711 dial-peer, it *only* supports g711.  If you configure g729 on the peer, it *only* supports g729.  If you configure a voice-class codec, it will support whatever codecs are in that class, but we don't invoke a transcoder if we match a voice class codec.

So in the case of SIP trunk (assume only supporting G711 codec), why 
doesnt CCM tell the region_B phones to automatically switch to G711 
codec ??

If devices are in a g.729 region, then they are not allowed to do g.711.  CM won't allow that, since a g711 call uses more bandwidth that a g.729 call does, which is what the region is configured for.

If you read the CUCM SRND, it may make more sense regarding this, if you have more questions.

-Steve

Dear Sir,

I really want to thank you for clearing this out. just need one more favour pls

You said

"CM isn't 'converting' codecs in this case.  When you have devices in a g711 region in CM, it allows a maximum codec of g711.  G.729 is a valid codec in a g.711 region since it uses less bandwidth.  Hence, if a device in a g711 region calls a device in a g729 region, and the devices both can physically support g.729 in the hardware) the call won't have a codec mismatch since it will just use g.729 end-to-end."

I have read about this point in troubleshooting ip telephony. Can you refer me any cisco doc (SRND or anyother doc) that also explains the above point pls ?

Thanks in advance

From the Region section of the CUCM SRND:

 For instance, if you set the Audio Codec for a region to G.711, Unified CM allocates 64 kbps as the maximum bandwidth allowed for the audio channel for that region. In this case, Unified CM will permit calls using either G.711, G.722, G.728, iLBC, or G.729. However, if you set the Audio Codec to G.729, Unified CM allocates only 8 kbps as the maximum amount of bandwidth allowed for the audio channel, and it will permit calls using only G.729 because iLBC, G.728, G.711, and G.722 all take more than 8 kbps.