cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
20918
Views
11
Helpful
13
Replies

MTP codec pass through

vatter
Level 1
Level 1

I have cucm 8.51 and cube.

I have iOS software mtp configured on the cube. Question is this.  When i add codec pass-through under the dspfarm, cucm invokes correct mtp  which is ios sw mtp but when  I remove the command it always invokes the server mtp. Is pass-through command required command?

Per cisco TAC the command is not required but when I remove it cucm always invokes server mtp.  When do you use codec pass-through?  I am not using RSVP.  If I leave the command it is not going to cause any issues?

Below is my config.

Dspfarm profile 20 mtp

Codec g729r8

Codec pass-through

Maximum session software 500

Associate application SCCP

Thanks for your help

1 Accepted Solution

Accepted Solutions

Thanks all for the help on this issue. 

Battling with CiscoTAC for many weeks, I finally figured out why I needed codec pass-thru on the CUBE.

This bug was first found on the 8.5(1)

CSCtw77944 Bug Details
Codec pass-thru MTP is preferred over non codec pass-thru higher in MRGL
Symptom:

An MTP without codec pass-thru is not being selected first even though it is higher in the MRGL than a non codec pass-thru enabled MTP.

Conditions:

This will occur in call flows where none of the following conditions are met:

1. MTP required is checked.
2. There is no matching audio codec between two endpoints
3. Either endpoint's capabilities does not include any codec that this within region BW limit

Workaround:

This is working as designed. Codec pass-thru MTP's are preferred in this case so that video, SRTP, or T38 can potentially be negotiated later in the call. If the desired behavior is to use a non codec pass-thru MTP primarily, then remove all codec pass-thru enabled MTP's from the device's MRGL as well as the default MRG.

View solution in original post

13 Replies 13

islam.kamal
Level 10
Level 10

Dear

Codec pass-through will make cisco UBE works as Transparent codec.To support the RSVP agent on a SCCP device, you must use the codec pass-through command. In the pass-through mode, the SCCP device processes the media stream by using a pure software MTP, regardless of the nature of the stream. This enables video and data streams to be processed in addition to audio. When the pass-through mode is set in a transcoding profile, no transcoding is done for the session; the transcoding device performs a pure software MTP function. The pass-through mode can be used for Secure RTP sessions.Other issue check the codec which is used between your call manager and the other it must be the same g72g.

Thank you

Please rate if this will elp

Ayodeji Okanlawon
VIP Alumni
VIP Alumni

Vatter,

The most probable cause for this is that the device invoking the MTP region setting is not configured properly. With your configuration. You have configured MTP to use G729. What is the region setting between the device invoking MTP and the IOS MTP. Ideally it should be set to G729.

Check this and if you still have issues, send us the cucm trace files

Please rate all useful posts

"opportunity is a haughty goddess who waste no time with those who are unprepared"

Please rate all useful posts

Im having a similar problem.  CUCM is allocating a MTP for SIP-Notify to RFC2833 conversion.  It fails to allocate any MTPs on the IOS gateways (just set to codec g711ulaw) and only allocates CUCM software MTP.

I saw on the CUCM that the CUCM software MTP is doing pass-through.  When I set the IOS hardware MTP to include "codec pass-through' it is then allocated.

sess_id    conn_id    call-id    codec   pkt-period dtmf_method    type        bridge-info(bid, cid)   mmbridge-info(bid, cid) srtp_cryptosuite          dscp     

                      call_ref   spid       conn_id_tx

83894106   -          98948      N/A     N/A        rfc2833_report    swmtpmsp  All RTPSPI Callegs      N/A                     N/A                       N/A      

                      -          -          -        

83894106   86704871   98947      pass_th 20         rfc2833_report    rtpspi    (16678,98948)            N/A                     N/A                       184      

                      98328132   16777216   -        

83894106   -          98948      N/A     N/A        rfc2833_pthru     swmtpmsp  All RTPSPI Callegs      N/A                     N/A                       N/A      

                      -          -          -        

83894106   86704870   98946      pass_th 20         rfc2833_pthru     rtpspi    (16677,98948)            N/A                     N/A                       184      

                      98328132   16777216   -        

============

This is on CUCM

8.5.1.11900-21 and GW 15.1(4)M5.  Both gateways and IOS MTP are in the same region, everything is g711, there is not any RSVP.  The CUCM software MTP is actually in a different device pool and region (everything is set to g711 throughout though)

IOS MTP Device Caps (When codec-passthrough is added 258 is put in)

11:55:33.149 |MediaTerminationPointControl(44)::logCapabilitiesinTrace -- MTP/XCoder Device Caps = 4 257 259 261 |5,100,220,1.6069504^192.168.144.60^*

CUCM Software Device Caps

11:55:33.151 |MediaTerminationPointControl(8)::logCapabilitiesinTrace -- MTP/XCoder Device Caps = 25 4 2 257 259 258 |5,100,220,1.6069504^192.168.144.60^*

I am glad I am not the only one who is having this issue. What you just described makes sense.

We wanted to insert IOS mtp for our Type A phones.. ie) 7940 and 7921 WL phones because we have tons of 7940s at one of our remote site and we are just about to convert them to the SIP Trunk service and requirement is to use g729 instead of g711 codec. When I configure codec pass-though, everything works fine.

Here’s what I discovered while I was testing.   When I changed the region where Server mtp is on to g729 from g711, it starts invoking IOS mtp however Conf and MOH is on that region and when you try to create a conference call, it is going to invoke xcode. 

It looks like we are hitting a CUCM bug, in this case, can I leave codec pass-through under the dspfarm profile mtp? Is this going to cause any issues?

Vatter,

The first test you did proved what I already wrote earlier..This is a codec related issue. When you configure your MTp to use G729, you cant have the region set to G711 as you have discovered.

Why dont you create a seperate region for your conf and MOH. This is most definitely a configuration problem and not a bug.

Please rate all useful posts

Csdoziernc,

If you send the full CUCM trace logs, I can show to you that this is most likely a region cofiguration issues. If the IOS MTP is not allocated, its because the device invoking MTP cant talk the codec configured on the MTP.

Send us the full logs please and the details of the call.

Please rate all useful posts

"opportunity is a haughty goddess who waste no time with those who are unprepared"

Please rate all useful posts

Thanks for your reply aokanlawon.  I am almost tempt to create a second region but i would like to understand this first.

The phone i am using to test and IOS sw MTP are on the same Region and it is using g729.  Server MTP is on different Region which it uses G711.  See below

Region:

-Server MTP

-SIP_Trunk

Media Resources:

-Server MTP: --- Region: Server MTP

-IOS sw MTP: --- Region: SIP_Trunk

Region setting for the phone i am using to test:

Phone region: g711

Server MTP: g711

SIP_Trunk: g729

CUBE setting:

dspfarm profile 20 mtp

codec g729r8

maximum sessions software 500

associate application SCCP

MRGL:

-IOS sw MTP

-Server MTP

Above is the setting i have on my system.  When i make outbound calls, it always invokes Server MTP.. unless i change the Server MTP region to g729.  What you are saying is this is normal?  Per above configuration, isn't the phone supposed to invoke IOS sw MTP first?

Vatter,

Let me get your description correctly....can yo confirm if this is the correct region relationship

phone<------->iosmtp=g729

phone<--------------->cucmmtp=g711

phone<--------------->siptrunk=????

siptrunk<-------------->cucmmtp=????

Let me know what the codec used in the region where I put ??

To understand fully what happens on outbound calls, I need to see the config on your CUBE gateway. The dial-peers configured also plaay a role in the codec that is used, hence have an overall impact on the media negotiated for the call.

On your MRGL, do you have both cucmmtp and iosmtp in the same MRG asigned to this MRGL?

If you do then, the resources in the same MRG are assigned based on a round robin fashion, regardless of which is on top.

DO you mean it always invoke server MTP unless you change the region between your phone and iosmtp to g729.

Whatever codec you configure on your MTP is what the device invoking it will use. If your MTP is configured for G711, then the region between the phone and MTP has to be G711. If it is G729 then the region between the phone and the iosmtp has to be g729.

The reason why the server MTP is used is because CUCM MTP only supports G711. And because the region between your phone and the CUCM MTP is set to use G711..this is used.

Please rate all useful posts

"opportunity is a haughty goddess who waste no time with those who are unprepared"

Please rate all useful posts

phone<------->iosmtp=g729

phone<--------------->cucmmtp=g711

phone<--------------->siptrunk=g729

siptrunk<-------------->cucmmtp=g711

On my MRGL, cucmmtp and iosmtp are not in the same mrg.

it always invokes cucmmtp unless i changed the phone region setting to cucmmtp to g729 than it uses iosmtp.

it doesn't matter which order I list in the MRGs in the MRGL, it always uses cucmtp unless I add codec pass-through in the CUBE or change codec to cucmmtp.

I also tried making outbound calls in our production phone that are using all g711 codec but it still does not invoke iosmtp.  below is the region setting for my production phone.

phone<------->iosmtp=g711

phone<--------------->cucmmtp=g711

phone<--------------->siptrunk=g711

siptrunk<-------------->cucmmtp=g711

This is too weird.... I created a TAC case but they are still haven't figure it out yet.

In your production network, it will not use iosmtp because the region settin is set to use G711 and your ios mtp is set to use G729. That is how it is designed to work.

The reason why it doesnt use cucm mtp when the region is set to G729 is also the same. CUCM MTP can only do G711, hence you must have G711 to the MTP.

So all that is working as expected.

Can you send me the CUCM traces, include the calling and called number. Can you also send the sh run of your cube

Please rate all useful posts

"opportunity is a haughty goddess who waste no time with those who are unprepared"

Please rate all useful posts

I can send traces and config tomorrow.

I forgot to mention. I am using separate cube for production and codec is set to g711.

Sent from Cisco Technical Support iPhone App

Thanks all for the help on this issue. 

Battling with CiscoTAC for many weeks, I finally figured out why I needed codec pass-thru on the CUBE.

This bug was first found on the 8.5(1)

CSCtw77944 Bug Details
Codec pass-thru MTP is preferred over non codec pass-thru higher in MRGL
Symptom:

An MTP without codec pass-thru is not being selected first even though it is higher in the MRGL than a non codec pass-thru enabled MTP.

Conditions:

This will occur in call flows where none of the following conditions are met:

1. MTP required is checked.
2. There is no matching audio codec between two endpoints
3. Either endpoint's capabilities does not include any codec that this within region BW limit

Workaround:

This is working as designed. Codec pass-thru MTP's are preferred in this case so that video, SRTP, or T38 can potentially be negotiated later in the call. If the desired behavior is to use a non codec pass-thru MTP primarily, then remove all codec pass-thru enabled MTP's from the device's MRGL as well as the default MRG.

Vatter, thanks for posting that bugID. It seems to explain the situation I saw as well.

CUCM Software MTPs allows codec pass-through by default (non configurable it appears), so if you have one in an MRGL, it gets used over an IOS MTP that doesn't have codec-passthrough when codecs are the same, etc.