Welcome Message

Hello my dear reader,

Welcome to my blog, which is dedicated to Cisco technologies. On its pages we will talk about the limitless world of telephony and networking.

We will focus mostly on Cisco collaboration solutions and technologies. These are IP PBX based on Cisco Unified Communications Manager and Cisco Unified Communications Manager Express, Cisco contact centers, Cisco Voice Gateways, etc. Also, I will introduce you the education news: Cisco authorized courses, my own developed training programs, our upcoming events, online learning.

If you have any questions regarding my posts, job or activities, please feel free to ask your questions. I will try to answer them when I have time.

If you are satisfied with the content of my blog, isn’t that worth a beer or coffee? Donations help me to continue supporting the blog and creating new posts here — things for which I spend hours of my free time! Thank you very much!

Sincerely, Dmytro Benda

Thursday, August 4, 2022

What are Media Termination Points (MTPs) in the CUCM Environment?

Today we are going to discuss a topic, which confuses the newbies a lot, when they start working with Cisco Collaboration devices. It will be about one of the Media Resources, namely about Media Termination Points (MTPs). The beginners are always confused about the purpose of MTPs.  Why we would need an MTP and how it is different from transcoder? The concept of transcoder is pretty straight forward - when there's a codec mismatch between two endpoints (like G711 / G729), a transcoder will be used to "translate" the codecs.  But why MTP?

The answer is very simple. There are many cases in the VoIP calls when we need to modify not only the codec, but some other parameters of the media (RTP) stream. What if the parties use different packetization period? Let's say one side creates voice packets with 20ms period, and the other side uses 30 ms for the packetization. In this case we can't normally process the voice stream without errors. So we need to modify somehow 20 ms packetization to 30 ms and vice versa. The other examples of VoIP media parameters mismatch are different DTMF relay configuration on the calling and called sides, or different G711 codec compression (Alaw vs Ulaw). In order to solve these problems we require an additional Media Resource. And such a device, who deals with issues rather than codec mismatch and harmonizes another media parameters, is called a Media Termination Point (MTP)

An MTP can be used as an instance of translation between incompatible audio streams, to synchronize clocking, or to enable certain devices for supplementary services.is an entity that accepts two full-duplex media streams. It bridges the streams together and allows them to be set up and torn down independently. The streaming data received from the input stream on one connection is passed to the output stream on the other connection, and vice versa. 

MTPs have many possible uses, such as:

  • Conversion of G.711 mu-law to a-law
  • Changing the packetization period of a stream (transrating)
  • DTMF conversion (In-Band RFC2833 to Out-of-Band) 
  • Protocol-specific usage like calls over SIP trunks, H.323 supplementary services or H.323 outbound Fast Connect.
Three MTP types can be configured:
  • Software MTP, provided by the Cisco IP Voice Media Streaming Application service on Cisco Unified Communications Manager (CUCM):
− This MTP type can convert G.711 mu-law to G.711 a-law and vice versa.
− This MTP type can perform transrating of a given codec; for example, when one call leg uses a sample size of 20 ms and the other call leg uses a sample size of 30 ms.
  • Software MTP, configured on Cisco IOS routers:
− This MTP type does not require any DSP resources on the Cisco router. 
− The codec and packetization size must be identical on both call legs.
− This MTP type is typically used for 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 a hardware MTP in Cisco Unified Communications Manager.
  • Hardware MTP, configured on Cisco IOS routers:
− DSP resources are required. The maximum number of sessions is derived from the number of installed DSP resources on the Cisco IOS router.
 − This MTP type is used when the two call legs use of the same audio codec but different packetization sizes per call leg.

As all other Media Resources, an MTP device always registers with its primary CUCM with the SCCP signaling and informs the CUCM about how many MTP resources it supports. After successful registration the CUCM starts to control MTP resources and their allocation. 

When the CUCM 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.

I hope that this post provides you better understanding of what MTPs are. Of course, you can find more information about the MTPs at Cisco SRND - here we made just an overview of this media resource. In the future post I will tell you, how we can configure SIP Early Offer for the SIP Trunks on CUCM and if we need MTPs for that. To be continued... 

1 comment: