Media Processing
This chapter attempts to cover everything you ever wanted to know about media processing resources and media connection processing, but were afraid to ask. It might not answer all the questions you have on the subject, but it should at least discuss the salient points and provide insight into how media streams are controlled and handled by Cisco CallManager.
Software applications such as Cisco MeetingPlace are not discussed in this chapter. Although MeetingPlace is a very powerful and useful system, has many useful functions and uses CallManager to connect calls to its conference bridges, it does not register with CallManager and cannot be controlled by CallManager directly. Because CallManager cannot allocate or control conference bridges or any other facilities provided by MeetingPlace, it is not discussed in this chapter; this chapter focuses on devices controlled directly by CallManager.
There are two signaling layers within CallManager. Each signaling layer has distinct functions. The Call Control Layer handles all the normal call signaling that controls call setup, teardown, and call routing. The second signaling layer is the Media Control Layer, which handles all media connection signaling required to connect the voice and video paths or media streams of the calls.
This chapter focuses on the Media Control Layer and is divided into two major sections:
- Media Processing Overview Provides a general overview of media processing devices and how media connections are established between them. It also covers media resource allocation and control.
- Architecture and Functionality of the Media Control Layer Offers more detailed information on the architecture and functionality of media processing and the related devices in CallManager. Each type of device is detailed and how it is connected and used by CallManager. Call preservation, which is the ability to maintain media connections (voice and video paths) in the event of failures, is also discussed.
Note
Chapter 3, "Station Devices," and Chapter 4, "Trunk Devices," cover call control signaling for both phones and gateways.
Figure 5-1 shows the block structure of CallManager.
Figure 5-1. CallManager Block Structure Diagram
Figure 5-1 highlights the software layers and blocks within CallManager that are described in detail in this chapter. Other blocks are touched on lightly but are not highlighted because they are not covered in detail here.
The software in the Media Control Layer handles all media connections that are made between devices in CallManager. The Call Control Layer sets up and controls all the call signaling connections between call endpoints and CallManager. The Media Control Layer directs the devices to establish streaming connections among themselves. It can insert other necessary media processing devices into a call and create appropriate streaming connections to those devices without the Call Control Layer knowing about them.
The Media Control Layer becomes involved in a call when the Call Control Layer notifies the Media Control Layer that a call has been connected between two endpoints. The Media Control Layer then proceeds to establish the media streaming connections between the endpoints as required to set up the voice path for that call.
In some cases, the media streaming connections are established before the call is connected. CallManager connects the media streams early such as when a call is destined for the public switched telephone network (PSTN) through a gateway. The caller then hears the progress tones and announcements from the PSTN telling them what happened to the call such as ringback tone, busy tone, "The number you have called is not a working number", or "All circuits are busy now. Please hang up."
If the endpoints in the call report video capabilities, CallManager checks the locations bandwidth and if it allows video, it automatically attempts to open a video channel between the endpoints for the call. Whether or not video is actually sent on that channel depends on the video mute setting of the endpoint devices involved and whether sufficient bandwidth is available.
The blocks highlighted in the Protocol/Aggregation layers of Figure 5-1 are those that control the media processing devices. They provide the device interface and handle all communication between the devices and CallManager.
The Media Resource Manager (MRM) is a software component in CallManager that handles all resource allocation and de-allocation. When call processing or a supplementary service determines that a media processing resource of a particular type is needed, the request is sent to the MRM. The MRM finds an available resource of the requested type, allocates the resource, and returns the resource identification information to the requestor.