[cisco-voip] Cisco IOS Enhanced Software Media Termination Point, DTMF and SIP
Nick Matthews
matthnick at gmail.com
Thu Sep 10 00:37:56 EDT 2009
If your software MTP is the same router it's not quite as
straightforward. You can use 'show call active voice brief' to
determine which IP addresses are used in each call leg. If you see
calls with ID 0: that's usually indicative of a software MTP. If the
MTP is on a different router / CUCM, then if you see that IP address
in 'show voip rtp connections' you aren't using an MTP. You could
also use RTMT to track MTP usage and see if the call goes up when you
place it - may be more straightforward.
If you would like to look deeper you can do a 'debug h245 asn1' and
look at the terminalCapabilitySet the router sends and receives for
the call. You should see something like Telephone Event 101 and
Events 1-16 somewhere in the TCS. This would show for sure if it's
being negotiated. As well, 'debug voip rtp session named' will show
you debugs for when RFC 2833 is sent or received.
-nick
On Thu, Sep 10, 2009 at 12:14 AM, Keith Klevenski<KKlevenski at cstcorp.net> wrote:
> Nick,
>
> Thanks for the info. This is exactly how I have it configured and DTMF is still not being passed from the PSTN. The payload type is 101 which is the default for rtp-nte so that was fine. Great explanation as to why the SRND says CM doesn't support RFC 2833. Good to know.
>
> Well, I am stumped. Everything you and Ryan said makes sense, but I can't seem to get it working. I did use the 'show voip rtp connections' command and saw the Asterisk server's IP address, but how does this show that an MTP is being invoked? I must say I've parsed out this command before, but I've never really used it for troubleshooting. If a make a call to a phone and use this command I see the IP address of the SCCP gateway, but does this have anything to do with MTPs?
>
> So the kicker here is that DTMF works fine internally. Using SCCP controlled FXS ports with analog phones. So that means my SCCP phone is sending DTMF OOB which requires an MTP to be sent RFC 2833 to Asterisk over the SIP trunk. In old Windows version of CCM it was easy to pull up perfmon and instantly see in real time when a resource was being used, but it is not so easy anymore. I pull up the MTPs in RTMT, but don't ever see any being used. It would only be used when DTMF tones are being sent I would assume so maybe it's hard to see? Plus I thought the SW IOS MTP was required for OOB DTMF to RFC 2833, but Ryan mentioned the SW MTPs in CM could as well. I am using g729 everywhere here so that may be a factor.
>
> If I could at least know for sure when an MTP is required (OOB DTMF to RFC 2833 right?) so I could go monitor all MTPs and find out where it is being used would be helpful. So far since I can't seem to prove any MTPs are being used even though I'm in a working scenario (internal DTMF from SCCP phones works) that requires MTPs.
>
> I'm sure I'll get to the bottom of this and I'm looking forward to feeling very satisfied once it is fixed.
>
> Thanks a ton to you guys!
>
> -k
>
> -----Original Message-----
> From: matthn at gmail.com [mailto:matthn at gmail.com] On Behalf Of Nick Matthews
> Sent: Wednesday, September 09, 2009 9:35 PM
> To: Keith Klevenski
> Cc: Ryan Ratliff; cisco-voip at puck.nether.net
> Subject: Re: [cisco-voip] Cisco IOS Enhanced Software Media Termination Point, DTMF and SIP
>
> This would be my opinion:
>
> -Configure CUCM to do rtp-nte to Asterisk
> -Look at the SDP coming for Asterisk to check the payload type they're
> using for DTMF
> -Configure the outgoing dial peer from your PRI gateway to cucm as
> 'h245-alpha rtp-nte'
> -Use 'rtp payload-type nte <x>' as needed from the SDP from Asterisk
>
> This should remove the need for the MTP altogether, which is a good
> design choice. The reason the SRND states that RFC 2833 isn't
> supported is because CUCM will only allow RFC 2833 if at least one leg
> of the call is SIP (I have no explanation for this, minus some
> targeted speculation). In this case you have a SIP trunk so you're
> fine. You would only have problems H323-H323 and you were only doing
> RFC 2833. But, with 'h245-alpha rtp-nte', you will still prefer
> h245-alpha and you don't have this problem.
>
> A quick way to check if MTP is being invoked is 'show voip rtp
> connections'. Check if you see the IP of your Asterisk or not.
>
> -nick
>
>
>
> On Wed, Sep 9, 2009 at 6:03 PM, Keith Klevenski<KKlevenski at cstcorp.net> wrote:
>> I tried rtp-nte in the past and it did not work. In the CUCM 7.x SRDN I read that you should not use nte on h323 gateways because CM doesn't support it on h323 gateways: http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/7x/media.html#wp1056938 I will certainly try it again as it was a few weeks ago when I was messing with it.
>>
>> All the voip dial-peers to CM are configured with h245-signal so I'm not sure how the gateway and Asterisk could have matching DTMF capabilities, but either they do or an MTP is being invoked and I am not detecting it. Even internal SCCP calls to Asterisk should be invoking an MTP for DTMF right? SCCP device calls Asterisk, media is up, SCCP device presses a digit and DTMF is sent OOB to CM, CM invokes MTP, MTP sends RFC2833 digit to Asterisk. However I don't see any MTP's being invoked when I do this and it works fine and all devices only have access to an IOS SW MTP in which I can see no activity with a 'deb sccp packet' which should definitely give me something if it is being invoked.
>>
>> The combination of SIP, g729, MTPs and DTMF is boggling to me. Does the fact that all calls are g729 a factor? All devices are in a g729 region. I read in CM help that 'To configure G.79 codecs for use with a SIP trunk, you must use a hardware MTP or transcoder that supports the G.79 codec' however I do not need one as it is working just fine wihtout it internally. I check MTP required, but one doesn't get invoked that I can tell yet internal DTMF works and all devices only have access to one device which is the IOS SW MTP. Which doesn't show any sign of being invoked...
>>
>> I wish they would just buy Unity. :P
>>
>> Thanks for your help Ryan. I'll play around with it some more and report back.
>>
>> -k
>>
>>
>> -----Original Message-----
>> From: Ryan Ratliff [mailto:rratliff at cisco.com]
>> Sent: Wednesday, September 09, 2009 4:32 PM
>> To: Keith Klevenski
>> Cc: cisco-voip at puck.nether.net
>> Subject: Re: [cisco-voip] Cisco IOS Enhanced Software Media Termination Point, DTMF and SIP
>>
>> Why require the MTP at all? You can configure more than 1 dtmf type
>> on the dial-peer going to CUCM. Add rtp-nte to the dtmf payload types
>> (in addition to h245-alpha) and you shouldn't need an MTP at all.
>> Since you mentioned h245-alpha I assume your gateway is H.323.
>>
>> The CUCM software MTP can also convert from oob to 2833 DTMF so it may
>> be using that one as well. The only difference in the IOS one is the
>> codec support. If CUCM really isn't invoking an MTP then it's because
>> the gateway and Asterix have matching dtmf capabilities.
>>
>> One thing you'll want to check is the payloadType for the 2833 DTMF.
>> IOS gateways don't support dynamic payload types currently and I think
>> use 101 by default. If Asterix is using something else you'll want to
>> change it on the dial-peer with the command 'rtp payload-type nte
>> <97-127>' where the number matches whatever Asterix is using. It may
>> be that both sides think they can do 2833 but the gateway is sending a
>> payloadType Asterix isn't looking for.
>>
>> -Ryan
>>
>> On Sep 9, 2009, at 5:02 PM, Keith Klevenski wrote:
>>
>> All,
>>
>> Trying to get DTMF to pass to an Asterisk VM server from the PSTN with
>> no love. Using H323 PSTN gateways running 12.4(24)T1, ISDN PRI's,
>> CUCM 7.02, with a SIP trunk to Asterisk. This is all g729 as well. I
>> can dial into Asterisk internally and DTMF works fine, but I can't get
>> it to pass DTMF from the PSTN. The call goes though to Asterisk fine
>> from the PSTN, but doesn't seem to be passing DTMF.
>>
>> sccp ccm group 1
>> associate ccm 1 priority 1
>> associate ccm 2 priority 2
>> associate profile 1 register softmtp2
>> !
>> dspfarm profile 1 mtp
>> codec g711ulaw
>> maximum sessions software 50
>> associate application SCCP
>>
>> sh sccp
>>
>> SCCP Admin State: UP
>> Gateway Local Interface: GigabitEthernet0/0.101
>> IPv4 Address: 10.1.101.3
>> Port Number: 2000
>> IP Precedence: 5
>> User Masked Codec list: None
>> Call Manager: 10.1.101.11, Port Number: 2000
>> Priority: 1, Version: 7.0, Identifier: 1
>> Call Manager: 10.1.101.10, Port Number: 2000
>> Priority: 2, Version: 7.0, Identifier: 2
>>
>> MTP Oper State: ACTIVE - Cause Code: NONE
>> Active Call Manager: 10.1.101.11, Port Number: 2000
>> TCP Link Status: CONNECTED, Profile Identifier: 1
>> Reported Max Streams: 100, Reported Max OOS Streams: 0
>> Supported Codec: g711ulaw, Maximum Packetization Period: 30
>> Supported Codec: rfc2833 dtmf, Maximum Packetization Period: 30
>> Supported Codec: rfc2833 pass-thru, Maximum Packetization Period: 30
>> Supported Codec: inband-dtmf to rfc2833 conversion, Maximum
>> Packetization Period: 30
>>
>> From what I understand the IOS software MTP should be what I need to
>> allow RFC2833 and h245-signal (tried h245-alphanumeric as well) to
>> communicate, even with g729. The IOS SW MTP is registered and
>> configured, but DTMF is still not being passed. The IOS software MTP
>> is in the MRG/MRGL for all device pools for all devices. I've even
>> put all the other media resources in a temp MRG to ensure only the
>> software MTP is able to be invoked (it's all g729 satellite sccp
>> analog phones so no moh/annunciator or anything). I do a 'deb sccp
>> packet' on the gateway with the IOS MTP, but I get nothing when
>> sending DTMF. In RTM I don't see any MTP resources being used on the
>> IOS MTP. I've had the SIP trunk configured with MTP required checked
>> and unchecked (although CM should still dynamically allocate and MTP
>> for DTMF if needed even if it is not checked), RFC2833 set as the DTMF
>> type and G729/G729a as the codec on the trunk. It seems like the MTP
>> is not being invoked at all, but I'm not sure why or how to absolutely
>> prove that it is or isn't. So far I don't see any attempts being made
>> to invoke it by looking at RTM or 'deb sccp packet'. I don't have
>> access to the Asterisk box (and wouldn't know what to do if I did),
>> but it works fine internally so I'm pretty sure the problem is with
>> two DTFM types needing an MTP.
>>
>> Any suggestions or insight?
>>
>> Thanks!
>>
>> Keith
>>
>>
>>
>> _______________________________________________
>> cisco-voip mailing list
>> cisco-voip at puck.nether.net
>> https://puck.nether.net/mailman/listinfo/cisco-voip
>>
>> _______________________________________________
>> cisco-voip mailing list
>> cisco-voip at puck.nether.net
>> https://puck.nether.net/mailman/listinfo/cisco-voip
>>
>
More information about the cisco-voip
mailing list