Академический Документы
Профессиональный Документы
Культура Документы
Aurus Blog
CUCM Traces Analysis: CUCM Architecture
This blog is to share our
expertise in Cisco UCM,
UCCX/UCCE and Cisco
Telepresence.
24.08.2016 15:01:47
This is another guest post that we nd quite useful for our Popular Posts
readers. The author discusses brie y the CUCM architecture in Call Tracing in CUCM Using
order to understand better the CUCM traces. RTMT
Deprecated Cisco IP
CUCM is a C++ application working on the Red Hat Linux OS. Phones in CUCM 14
There are SDL (Signal Distribution Layer) processes within the Time of the Day Routing in
CUCM
application interacting with each other. Some of these objects
CUCM 12: What’s New?
exist permanently while some of them are being created and
Con guring Callback
destroyed as needed. feature in CUCM
Con guring Dialed Number
All SDL processes can be classi ed into several logical layers: Analyzer in CUCM
CUCM 12.5 and CUBE -
Feature Layer media forking to multiple
recorders simultaneously
Call Control Layer
SCCP (Skinny Client Control
Protocol)
Media Control Layer
Connecting THIRD PARTY
SIP to CUCM
Device Layer
Cisco Meeting Server (CMS)
and Skype for Business
(Lync) Integration – Basics
and Hints
Tag Cloud
Acano Ad-Hoc Conference Asterisk
attendant console Aurus Outbound
auto registration availability issues
call control Call Detail Record call
on TCP/UDP level, which isn't our concern here. PhoneUP PIN authentication PIN
for CUCM Meet-Me conference
Edge Processes. are responsible for signaling protocols. These processes are Parent Processes and each
of them exists in a single copy on each node. For example, if we have 50 SCCP phones, then all of them Archive
will interact with a single StationInit process.
« July 2019 »
StationInit (SCCP) M T W T F S S
SIPHandler (SIP) 1 2 3 4 5 6 7
8 9 10 11 12 13 14
H225Handler (H323)
15 16 17 18 19 20 21
MgcpHandler (MGCP) 22 23 24 25 26 27 28
Control Processes exist in several instances. For example, for each registered SCCP phone a separate Search
StationD process will be created that controls this phone. So, there will be 50 StationD processes created
for 50 phones.
SipStationD in messages
SIPD Find
StationD
If there are 20 SIP phones, then one SipHandler process, an intermediate SipStationInit process and 20
SipStationD processes will be created on the node. SIPD processes are used for SIP Trunks (one for each
trunk).
Now let's look into what happens when a user picks up the phone:
The phone transmits a message to CUCM, and then the following events occur: StationInit transmits a
message to the phone StationD process. StationD creates StationCdpc process. StationCdpc process is
responsible for a single call from a certain phone (CallDependent) and will be destroyed after the call is over.
Similarly, if the phone is turned o and its registration is lost, its StationD process will be destroyed.
Call Dependent Call Control (CdCc) is responsible for a single call. Every new call creates a new process.
DA - Digit Analysis: here all the translations are being performed, the corresponding CSS and Partitions
applied, and the destination for a particular call to be routed to is being de ned.
Device Manager (DM) – contains the tables with all the devices connected to a CUCM cluster (phones,
trunks, gateways, route lists). DM makes it possible to de ne where the call should be physically routed.
Line Control process is responsible for all the DNs registered in the system.
Call Control (CC) creates a separate Call Dependent Call Control (CdCc) process for the call. The dialed digits
are passed to this process.
CdCc passes the numbers to DA for the necessary translations to be performed and the privileges to be
de ned for this call.
Then the call is passed to the Device Manager (DM) which determines the device the call should be transferred
to.
Then the call establishment will begin (CcSetupReq) and the end device will be chosen through the
RouteListControl > RoutelistCdrc chain.
Notice the Line Control process here – it is responsible for all the DNs registered.
So, the phone starts ringing, the user picks it up, and the next step is setting up a media or RTP stream. Now
we're moving one layer lower and pass the call to the Media Layer.
There are also Int processes - interfaces that interact with the devices directly. These processes are
responsible for the interaction between the Media Layer and Device Layer: they pass the codecs, IP addresses,
ports, etc., to the devices.
Codec mismatch
When the "codec mismatch" happens the MediaManager and MediaExchage processes de ne the transcoder
to be used. Then the separate MediaExchange (MX) process is created to ensure the connection between the
rst phone and the transcoder and between the transcoder and the second phone.
After the call is over, all the processes will be destroyed, except for ConnectionManager and
MediaCoordinator.
Process Identi er (PID)
Each process in SDI and SDL Traces is marked in a certain way:
Process Type is the process type identi er (37 for a StationD process)
Process Instance is the process ID. In this case "50" means there are at least 50 phones registered, and the
current phone is the 50th. This value is always equal to 1 for Parent Processes.
The Device Layer hosts the StationD and StationCdpc processes that are responsible for the interaction
with the phone directly.
After the handset is picked up (the Device Layer process this), the call info is being passed to the Call
Control Layer where the Digit Analysis is located. Here all the translations are being performed and the
corresponding CSS and Partitions applied to identify the destination the call. At the same time a request
to the Feature Layer will be sent to transfer the call to user B.
The Call Control Layer passes a message to the Device Layer - this time to the phone B process. Phone B
rings.
Phone B is picked up and the Media set up begins. To de ne the codec the Connection Manager and the
Media Coordinator create Media Manager and Media Exchange processes that will interact with the
phones through Interfaces.