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

Monday, October 31, 2022

Create Generated Prompt and Create Container Prompt Steps in UCCX Scripts

In many UCCX scripts a developer can meet a task to spell or pronounce some phrases from intermediate variables whose values are dynamically determined based on runtime script information. For example, the customer enters his information like his credit card number or zip code etc. and the script must confirm it by spelling this value back to the caller. Very often these spoken phrases should be concatenated with other existing prompts (wav-files). There are some interesting steps in the UCCX script editor such as Create Generated Prompt step and Create Container Prompt step. Let's see how they can help you to spell string values and concatenate prompts. 

Thursday, October 20, 2022

Saving Information to a Text File in UCCX Repository

Being a Cisco Instructor, I often receive practical questions from my students and customers about some configurations of Cisco UC products. Many scenarios are not clearly described in Cisco documentation and therefore can be found only during real work with Cisco equipment and products. One of these question was related to UCCX. Our customer wanted to save some information like date, time, calling number, etc. in a text file. Actually, the best choice to keep such data is a Database of course, but for some reasons they preferred to save all this in txt format. It is not a problem to do it, but their case was a bit complicated, because they want to update the content of the file after each call and add new rows there with new data. I created a demo UCCX script with such functionality for them and tested it in UCCX 12.5. And in this post we are going to discuss it. 

Sunday, October 16, 2022

Understanding Cisco Voice Gateways - Part 4. Digital Voice Ports

In the previous parts of our Cisco Voice Gateway story we identified what analog voice ports are. Also we talked about different types of analog supervisory signaling. Now let's see how we can use our Cisco voice gateways with digital lines such as T1, E1 and BRI. These types of connection are still widely available worldwide. This post maps out the various digital interfaces and explains the differences between them.

Tuesday, October 11, 2022

Understanding Cisco Voice Gateways - Part 3. Loop-start and Ground-start Signaling (FXS and FXO Ports)

Now you already know what Cisco Voice Gateways are and which types of analog voice ports they can use. It is time to discuss signaling processes on FXO and FXS ports. As it was shown earlier, voice ports on routers and gateways physically connect them to telephony devices such as telephones, fax machines, PBXs, and PSTN CO switches. These devices may use any of several types of signaling interfaces to generate information about on-hook status, ringing, and line seizure. Traditional two wired FXS and FXO voice ports typically use so called Loop-Start and Ground-Start supervisory signaling. I am going to explain how these types signaling work in the in the next few paragraphs.

Thursday, September 29, 2022

Voice and DTMF input in UCCX Script with Nuance ASR

Some days ago I helped one guy to solve his problem with the voice menu in his UCCX script. He had UCCX integrates with Nuance ASR and he was asked to provide a menu with both voice and DTMF input in his UCCX Script. Let me show you, how it can be configured. 

Sunday, September 25, 2022

Pinging Multiple IP addresses with Python

Recently, we talked with you about using Python for network programming. Let me share you an simple example of a Python script, which helps me a lot in my work. Before every course the trainers have to check the lab operation. The next week I will deliver the CCEA (Cisco Contact Center Enterprise Administration) course to seven students, and every student will use his individual lab pod. In the pod there are 13 virtual machines and hardware devices. Before we start the course I have to be sure that all VM are accessible through the network, so I have to connect to every lab pod and ping all the VMs and devices there. Of course, I can do it manually, however, it is time consuming. Let's use Python to automate this and save our time.

Friday, September 23, 2022

Understanding Cisco Voice Gateways - Part 2. Analog Voice Ports

Today we are going to continue our conversation about Cisco Voice Gateways. In the beginning we defined what the voice gateways are, and now it is time to see how we can connect our VoIP infrastructure to traditional analog lines or devices. Yes, it is 2022, however the analog connections are still implemented. That's why you have to know how to use analog voice ports on your voice gateways. 

Sunday, September 18, 2022

Unlock CUCM Application Administration account

This post I'd like to write mostly for myself as a reminder, because I have to deal with such a situation very often during the labs on our Cisco UC courses. Unfortunately I always forget the CUCM CLI commands and have to search them in the net 😀. The problem is that the students enter wrong passwords for the CUCM CM Administration account several times, and the CUCM simply locks the administrator account after unsuccessful attempts. Then it is not possible to enter the CM Administration for some time. Let's see how we can unlock the account (we use CUCM 12.5).

Wednesday, September 14, 2022

Understanding Cisco Voice Gateways - Part 1

The previous topic about Caller ID issues on Cisco FXO ports was of interest to many readers, and that's why I decided to write series of posts about Cisco Voice Gateways for beginners. I see in our classes that the Voice Gateways are always a kind of a "dark horse" to our students, especially when we talk about traditional telephony interfaces, so let's talk about these devices in more detail. 

Saturday, September 3, 2022

Caller ID doesn't work at FXO port on Cisco Voice Gateway

This morning I participated in a discussion on Cisco Community about a problem with Caller ID on FXO port. And this discussion reminded me my recent experience with a similar problem, which one of my customer faced in his Cisco PSTN voice gateway. It was new configuration for a voice gateway in a small branch office. The symptoms of the issue were exactly the same - he couldn't see any Caller ID (Calling Number) on his Cisco IP phones, when the call arrived to FXO ports of the gateway (they used H323 signaling). However, when he connected a traditional analog phone to the PSTN line, the phone showed the Caller ID without any problems. It was new configuration for a voice gateway in a small branch office. 

Sunday, August 21, 2022

Collecting logs for UCCE. Method 2 - Analysis Manager of the RTMT

Hello everyone, 

Let's continue our conversation about collecting logs for Cisco Contact Center Enterprise (CCE). In the first part of the story we saw, how to retrieve the logs with Diagnostic Framework Portico. Now it is time to show you, how you can do it more effectively with Cisco Real Time Monitoring Tool (RTMT). Almost everyone knows that RTMT is used to monitor and trace Cisco appliance based servers such as CUCM, CUC, UCCX, CUIC. But is it possible to use RTMT with Windows based CCE VMs? Let's see how it works right now. 

Thursday, August 18, 2022

Diagnostic Framework Portico web page doesn't open (UCCE/PCCE)

In the beginning of 2022 we discussed how to collect Cisco Contact Center Enterprise logs with Diagnostic Framework Portico. From time to time my students and customers face the issue when they can't open the Diagnostic Framework Portico web-page. So they try to lunch it from CCE Tools folder or just simply type the link of the Portico's page in browser, however, the page doesn't appear.

Thursday, August 11, 2022

CUCM AXL

When the engineers deploy Cisco UCCX or Cisco Unity Connection and integrate such system with Cisco Unified Communications Manager (CUCM), one of the common task is to configure so called CUCM AXL User credentials. Of course, the guys, who do such an integration for the first time in their life, wonder what the AXL really is. Today I will provide your some knowledge about CUCM AXL

Tuesday, August 9, 2022

Python for Network Programming

The era in which a network engineer only had to manage or configure one device at a time is quickly disappearing. With the growth of network devices, the adoption of cloud, and the desire of companies to be more flexible for a competitive edge in their market, the old ways of performing network management do not work anymore.

If you examine the way devices have been managed for 20 years, you can see that there has been no good way to manage machine-to-machine communication with the network. Usually, device configuration by network engineers generally looked like the process below:

Saturday, August 6, 2022

How to enable Early Offer in SIP Trunk CUCM?

One of the most frequently asked question, when connecting Cisco Unified Communications Manager (CUCM) to Public Switch Telephony Network or to any other VoIP system with a SIP Trunk, is how to configure SIP Early Offer media negotiations for this SIP trunk. By default, CUCM SIP trunks send the INVITE message without an initial offer (Delayed Offer). CUCM has the following three configurable options to enable a SIP trunk to send the offer in the INVITE message (Early Offer). Let's see what all these options are.

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?

Monday, August 1, 2022

SIP Early Offer vs Delayed Offer

The most visited page in my blog is CUCM SIP Trunk to ITSP connection. From time to time my readers and students ask me to explain what the difference between the Early Offer and Delayed Offer in the SIP signaling is. Let's say your ITSP want you to use SIP signaling with Early Offer in the SIP Trunk. How can you be sure, that your SIP trunk really works in Early Offer mode?

Saturday, July 30, 2022

CVP Scripting Part 1 (CVPS1) Course at Knowledge Club Slovakia

Many people, who work with Cisco UCCE/PCCE, ask me questions about developing IVR applications for  CVP VXML Server. These are so called Call Studio (or just Studio) Applications. In order to provide all the answers, several years ago I created my own developed CVP Scripting Part 1 (CVPS1) course. The course was presented by Knowledge Club Slovakia for CVP Admins in order to provide the additional information about developing VXML Call Studio projects. We will be happy to assist you, for your corporate customers or individuals who are interested in all CCE Solutions. And today I'm going to share some information about this training to you.

Thursday, July 28, 2022

UCCE/PCCE ICM Components Processes - Administration Server (AW)

Our tour into ICM processes would be incomplete, if we, of course, don't mention some words about the ICM Administration Server and Data Server (AW). Earlier we discussed Router, Logger and PG processes. The AW Server is the main interface used for ICM configuration, providing the ability for configuration changes as well as real-time reporting. A database resides on the Administration and Data Server, which contains a copy of the configuration information contained in the Logger. 

Tuesday, July 26, 2022

UCCE/PCCE ICM Components Processes - Peripheral Gateway (PG)

The next part of our UCCE/PCCE story is about the ICM Peripheral Gateways or PGs (click ICM Router Processes or ICM Logger Processes to find appropriate information). ICM PGs provide the data interfaces between the ICM Central Controller and foreign devices (peripherals), such as an ACD (CUCM), IVR system (CVP), or any other device that distributes contacts such as calls, email, or web.

Sunday, July 24, 2022

UCCE/PCCE ICM Components Processes - Logger

Let's continue our conversation about the ICM components processes (the beginning is here) and now it's time to discuss the second component of the ICM Central Controller - Logger. It goes hand in hand with the Router, and it is also called the database server. The Loggers are also always duplexed and are associated with a Call router. Therefore, we have Router A and Logger A, Router B and Logger B, and so on. These database servers are our SQL database servers providing storage for configuration and real-time information.

Friday, July 22, 2022

UCCE/PCCE ICM Components Processes - Call Router

Hi all, 

When you troubleshoot issues in Cisco Unified Contact Center Enterprise, you will definitely have some problems related to its brain - the ICM. Of course, in order to find out where the problem is in your ICM, you have to collect logs and analyze it. However, the ICM components have their own internal processes. To know which log to collect, you have to understand the roles of the processes on every ICM components. These skills will greatly enhance your understanding of the Cisco Unified CCE solution and will aid in troubleshooting simple problems. We will start from the main component of course - and it is the ICM Call Router

Wednesday, April 13, 2022

Soure Port 5060 on Cisco CUBE for your SIP trunk connection to an ITSP

Recently, one of our students encountered a problem when connecting his CUCM to a telephony provider (ITSP) via a SIP trunk. Between the CUCM and the ITSP, a CUBE gateway was installed, as expected. The problem was the following: when making an outgoing call to the ITSP, CUBE sent a SIP INVITE, however, the provider did not respond to this request in any way, and no response messages were received from it.

Of course, the first thing to do in such a situation is to check which transport layer protocol (TCP or UDP) is configured on the gateway. However, in this case, the ITSP requested SIP messages to be sent with UDP transport, but Cisco gateways by default send all SIP messages with UDP, i.e. this was not the cause of the problem (you can control it with debug ccsip messages command). After talking with the provider's engineer, it was found out that they expect communication to the SIP gateway with the Destination Port = 5060, but they would also like to see Source Port as 5060 as well.

Thursday, February 10, 2022

Collecting logs for UCCE. Method 1 - Diagnostic Framework Portico

One of the frequently asked questions when working with Cisco Contact Center Enterprise (hereinafter referred to as UCCE) is "How can I collect UCCE logs to investigate this or that problem?". There are several ways to do this, and in this post we will look at collecting logs through the UCCE diagnostic portal - the so-called Diagnostic Framework Portico.