Media Termination point (MTP)

Media termination point

An MTP can be used to transcode G.711 a-law audio packets to G.711 mu-law packets and vice versa, or it can be used to bridge two connections that utilize different packetization periods (different sample sizes). Note that re-packetization requires DSP resources in a Cisco IOS MTP.

CUCM Software MTP can only work for G711 codec, however ISO MTP can have multiple codes, but one codec will be in use at any single point of time.

If a software MTP resource is not available when it is needed, the call connects without using a MTP resource, and that call does not have supplementary services. If hardware transcoder functionality is required (to convert one codec to another) and a transcoder is not available, the call will fail

Use the following steps to determine whether MTP resources are required for your SIP trunks.

  •  The far-end SIP device defined by this SIP trunk capable of accepting an inbound call with SIP delayed offer then no MTP require for outbound calls, Else we need to allocate MTP resources to support outbound early offer calls. The outbound early offer calls will only supported for G711 codec.
  • The only case where MTP is required is when one of the endpoints supports out-of-band only and the other supports NTE only. This is applicable with conference bridges, CTI route points for IVR also.
  • If you want to force on SIP Trunk to use RFC 2833 DTMF method, and then we have to allocate MTP for DTMF conversion for sccp phones.
  • MTP also require for H323 fast start outbound calls, not require for fast start inbound calls.


NTE (RFC 2833) – These are out of bound only but use the same RTP stream for sending DTMF digits(not audio sampled so not in band), not using any signaling for transport. So we need to terminate the RTP in order to get the information out so MTP requires. DTMF digits are differentiated by the payload type from RTP packets.

MTP Configuration option at SIP trunk

Select a Trunk DTMF Signaling Method, which controls the behavior of DTMF selection on that trunk. Available MTPs will be allocated based on the requirements for matching DTMF methods for all calls.

a. DTMF Signaling Method: No Preference

  • In this mode, Unified CM attempts to minimize the usage of MTP by selecting the most appropriate DTMF signaling method.
  • If both endpoints support NTE, then no MTP is required.

If both devices support any out-of-band DTMF mechanism, then Unified CM will use KPML over the SIP trunk. F

b. DTMF Signaling Method: RFC 2833

By placing a restriction on the DTMF signaling method across the trunk, Unified CM is forced to allocate an MTP if any one or both the endpoints do not support NTE.

c. DTMF Signaling Method: OOB and RFC 2833

In this mode, the SIP trunk signals both KPML and NTE-based DTMF across the trunk, and it is the most intensive MTP usage mode. The only cases where MTP resources will not be required is when both endpoints support both NTE and any OOB DTMF method (KPML or SCCP).

MTP and DTMF relay on H323 trunk

The following scenarios can occur when two endpoints on different clusters are connected with an H.323 trunk:

  • When both endpoints are SIP, then NTE is used. No MTP is required for DTMF.
  • When one endpoint is SIP and supports both KPML and NTE, but the other endpoint is not SIP, then DTMF is sent as KPML from the SIP endpoint to Unified CM, and H.245 is used on the trunk. No MTP is required for DTMF.
  • If one endpoint is SIP and supports only NTE but the other is not SIP, then H.245 is used on the trunk. An available MTP is allocated for the call. The MTP will be allocated on the Unified CM cluster where the SIP endpoint is located

Do I need MTP or Transcoder?

MTP only

  • Terminate media stream (of same codec)
  • Transrating of media resources(20 ms to 30ms)
  • H323 Fast start(only need if CUCM initiate outbound FS call) not for slow start
  • SIP early offer(only need if CUCM initiates outbound EO call) not for incoming call
  • DTMF relay Conversion (SIP notify -RTP NTE)
  • CUCM 8.5 doesn’t require MTP for SIP early offer

MTP capacity planning

An MTP device always registers with its primary Cisco Unified Communications Manager if that Cisco Unified Communications Manager is available and informs the Cisco Unified Communications Manager about how many MTP resources it supports. The Cisco Unified Communications Manager controls MTP resources. You can register multiple MTPs with the same Cisco Unified Communications Manager. When more than one MTP is registered with a given Cisco Unified Communications Manager, that Cisco Unified Communications Manager controls the set of resources for each MTP. You can also distribute the MTPs across a networked system as desired.

For example, consider MTP server 1 as configured for 48 MTP resources, and the MTP server 2 as configured for 24 resources. If both MTPs register with the same Cisco Unified Communications Manager, that Cisco Unified Communications Manager maintains both sets of resources for a total of 72 registered MTP resources.

When the Cisco Unified Communications Manager determines that a call endpoint requires an MTP, it allocates an MTP resource from the MTP that has the least active streams. That MTP resource gets inserted into the call on behalf of the endpoint. MTP resource use remains invisible to both the users of the system and to the endpoint on whose behalf it was inserted. If an MTP resource is not available when it is needed, the call connects without using an MTP resource, and that call does not have supplementary services.

MTP Types

Software MTP provided by the Cisco IP Voice Media Streaming App service on Cisco Unified Communications Manager:

  • This MTP type can convert G.711 mu-law to G.711 a-law and vice versa.
  • This MTP type can packetize conversion for a given codec; for example, when one call leg uses 20-ms sample size and the other call leg uses 30-ms sample size.

Software MTP configured on Cisco IOS routers:

  • This MTP type does not require any DSP resources on the Cisco router. Enable Cisco IOS Software MTPs by using the maximum session software n command.
  • As many as 500 software-based sessions can be configured.
  • The codec and packetization of both call legs must be identical.
    • This MTP type typically is used for Resource Reservation Protocol (RSVP) agent configurations or Cisco Unified Border Element media flow-through configurations.
  • Cisco Unified Communications Manager does not differentiate between software and hardware-based Cisco IOS MTP configurations. Every Cisco IOS Software MTP is considered as hardware MTP in Cisco Unified Communications Manager.
  • Software MTPs are supported on the router only if the dsp services dspfarm command is not enabled on the voice card.
  • Hardware and software keywords in configuration only require for MTP

Hardware MTP configured on Cisco IOS routers:

  • DSP resources are required. Configure this MTP type by using the maximum session hardware <n> command. The maximum number of sessions is derived from the number of installed DSP resources on the Cisco IOS router.
  • Use of the same audio codec but different packetization on both call legs is possible.

Configuration example

sccp com group 1

associate ccm 1 priority 1

associate profile 1 register IOS-HW-MTP

Associate profile 2 register IOS-SW-MTP


dspfarm profile 1 mtp

codec pass-through

codec g711ulaw

maximum sessions hardware 2 – We need to configure dsp service for hardware MTP not for Software MTP

associate application SCCP


dspfarm profile 2 mtp

codec g7llulaw

codec pass-through

maximum sessions software 100

associate application SCCP


Very good document to troubleshoot MTP issue



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: