Aurus Blog

This blog is to share our expertise in Cisco UCM, UCCX/UCCE and Cisco Telepresence.

  • Archive

    «   October 2017   »
    M T W T F S S
                1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31          

Basic check-up of a CUCM server

This article presents a small set of commands for Cisco Voice Operation System (VOS) based servers. These commands help to reveal most problems caused by the platform. Each command comes with a brief description. The most important output data is marked with bold.

1. show status

If you need to analyse any problem, this is the first command to begin with. It displays the server’s name, its version and uptime. Since Cisco VOS servers are built on the basis of Linux Red Hat (RH), it may be handy to know your RH version, which in this case is 6.0. Average processor load above 60-70%, IOWAI above 1-2% and disk usage above 95% for any partition may indicate potential problems with this server.

admin:show status

Host Name    : ucm11-1
Date    : Mon Feb 13, 2017 22:24:14
Time Zone     : Central European Time (Europe/Warsaw)
Locale    : en_US.UTF-8
Product Ver   : 11.0.1.20000-2
Unified OS Version : 6.0.0.0-2

Uptime:
22:24:19 up 20 days,    10:34,    1 user,    load average: 0.27, 0.16, 0.13

CPU Idle:    94.94%    System:    02.78%    User:    02.28%
IOWAIT:    00.00%    IRQ:    00.00%    Soft:    00.00%

Memory Total:     8062356K
Free:     147272K
Used:     7915084K
Cached:     3739040K
Shared:     451788K
Buffers:     288744K

Total     Free     Used
Disk/active     20173692K     7107128K     12860280K (65%) Disk/inactive     20173692K     7443172K     12524236K (63%) Disk/logging     70515112K     21109572K     45816884K (69%)

2. show tech network hosts

This command can be used to get the list of servers in a cluster in a convenient format. The main purpose is to understand the scale of a system: 1 server means no fault tolerance, 8 servers mean that the system serves a lot of users and any changes must be carefully thought out and coordinated with the customer. The output of this command must be the same for all the servers in your cluster. Otherwise, there may be problems with database replication.

admin:show tech network hosts
——————– show platform network ——————–

/etc/hosts File:
#This file was generated by the /etc/hosts cluster manager.
#It is automatically updated as nodes are added, changed, removed from the cluster.

127.0.0.1 localhost
::1 localhost
10.48.47.136 ucm11-2.allevich.local ucm11-2
10.48.47.143 ucm11-1.allevich.local ucm11-1

3. utils ntp status

Synchronization with an NTP server is mandatory for all the devices in your network. Timestamps help with malfunction diagnostics, especially in complicated cases. Informix DB replication won’t be stable without NTP synchronization. This command can also be used to indicate the date and time when the commands in a saved text file were executed.

admin:utils ntp status
ntpd (pid 8524) is running…

remote    refid    st t when poll reach    delay    offset jitter
==============================================================================
*172.18.108.15    .GPS.    1 u    583    1024    377    106.518    0.283 1.045

synchronised to NTP server (172.18.108.15) at stratum 2
time correct to within 131 ms
polling server every 1024 s


Current time in UTC is : Mon Feb 13 21:24:23 UTC 2017
Current time in Europe/Warsaw is : Mon Feb 13 22:24:23 CET 2017

4. utils service list

This command is necessary if you need to check the state of all services running on a certain server in a cluster. This is also the simplest way to find the Publisher server in a cluster: it will have the directive “primary node=true”.

admin:utils service list
Requesting service status, please wait…
System SSH [STARTED]
Cluster Manager [STARTED]
Name Service Cache [STARTED]
Entropy Monitoring Daemon [STARTED]
Cisco SCSI Watchdog [STARTED]
Service Manager [STARTED]
HTTPS Configuration Download [STARTED]
Service Manager is running
Getting list of all services
>> Return code = 0
A Cisco DB[STARTED]
A Cisco DB Replicator[STARTED]
Cisco AMC Service[STARTED]
Cisco AXL Web Service[STARTED]
Cisco Audit Event Service[STARTED]
Cisco Bulk Provisioning Service[STARTED]
Cisco CAR DB[STARTED]
Cisco CAR Scheduler[STARTED]
Cisco CAR Web Service[STARTED]
Cisco CDP[STARTED]
Cisco CDP Agent[STARTED]
Cisco CDR Agent[STARTED]
Cisco CDR Repository Manager[STARTED]
Cisco CTIManager[STARTED]
Cisco CTL Provider[STARTED]
Cisco CallManager[STARTED]
Cisco CallManager Admin[STARTED]
Cisco CallManager SNMP Service[STARTED]
Cisco CallManager Serviceability[STARTED]
Cisco CallManager Serviceability RTMT[STARTED]
Cisco Certificate Authority Proxy Function[STARTED]
Cisco Certificate Change Notification[STARTED]
Cisco Certificate Expiry Monitor[STARTED]
Cisco Change Credential Application[STARTED]
Cisco DHCP Monitor Service[STARTED]
Cisco DRF Local[STARTED]
Cisco DRF Master[STARTED]
Cisco Database Layer Monitor[STARTED]
Cisco DirSync[STARTED]
Cisco E911[STARTED]
Cisco ELM Client Service[STARTED]
Cisco Extended Functions[STARTED]
Cisco Extension Mobility[STARTED]
Cisco Extension Mobility Application[STARTED]
Cisco IP Manager Assistant[STARTED]
Cisco IP Voice Media Streaming App[STARTED]
Cisco Intercluster Lookup Service[STARTED]
Cisco License Manager[STARTED]
Cisco Log Partition Monitoring Tool[STARTED]
Cisco Prime LM Admin[STARTED]
Cisco Prime LM DB[STARTED]
Cisco Prime LM Server[STARTED]
Cisco RIS Data Collector[STARTED]
Cisco RTMT Reporter Servlet[STARTED]
Cisco SOAP – CDRonDemand Service[STARTED]
Cisco SOAP – CallRecord Service[STARTED]
Cisco Serviceability Reporter[STARTED]
Cisco Syslog Agent[STARTED]
Cisco TAPS Service[STARTED]
Cisco Tftp[STARTED]
Cisco Tomcat[STARTED]
Cisco Tomcat Stats Servlet[STARTED]
Cisco Trace Collection Service[STARTED]
Cisco Trace Collection Servlet[STARTED]
Cisco Trust Verification Service[STARTED]
Cisco UXL Web Service[STARTED]
Cisco Unified Mobile Voice Access Service[STARTED]
Cisco User Data Services[STARTED]
Cisco WebDialer Web Service[STARTED]
Host Resources Agent[STARTED]
MIB2 Agent[STARTED]
Platform Administrative Web Service[STARTED]
SNMP Master Agent[STARTED]
SOAP – Diagnostic Portal Database Service[STARTED]
SOAP -Log Collection APIs[STARTED]
SOAP -Performance Monitoring APIs[STARTED]
SOAP -Real-Time Service APIs[STARTED]
System Application Agent[STARTED]
Cisco Dialed Number Analyzer[STOPPED] Service Not Activated
Cisco Dialed Number Analyzer Server[STOPPED] Service Not Activated
Cisco Directory Number Alias Lookup[STOPPED] Service Not Activated
Cisco Directory Number Alias Sync[STOPPED] Service Not Activated
Cisco Location Bandwidth Manager[STOPPED] Service Not Activated
Cisco Prime LM Resource API[STOPPED] Service Not Activated
Cisco Prime LM Resource Legacy API[STOPPED] Service Not Activated
Self Provisioning IVR[STOPPED] Service Not Activated
Primary Node =true

5. utils dbreplication runtimestate

Many problems, especially the ones that are difficult to reproduce, originate from Informix database replication malfunction. To ensure that the replication is working correctly, pay attention to the marked fields. All the tables should be synchronized, basic check-ups should be successful (“Y” status), the status of each node should be equal to 2. Another useful piece of information is the timeout between the nodes in a cluster (in ms). For the servers that are located in different data centers far from each other it is usually above 10 ms.

admin:utils dbreplication runtimestate
Server Time: Mon Feb 13 22:24:51 CET 2017

Cluster Replication State: BROADCAST SYNC ended at: 2016-02-25-08-48
Sync Result: SYNC COMPLETED on 692 tables out of 692
Sync Status: All Tables are in sync
Use CLI to see detail: ‘file view activelog cm/trace/dbl/20160225_084649_dbl_repl_output_Broadcast.log’

DB Version: ccm11_0_1_20000_2
Repltimeout set to: 420s
PROCESS option set to: 1

Cluster Detailed View from ucm11-1 (2 Servers):

PING    DB/RPC/    REPL.    Replication     REPLICATION SETUP    
SERVER-NAME    IP ADDRESS     (msec)    DbMon?    QUEUE    Group ID    (RTMT) & Details
———– ———- —— ——- —– ———– ——————
ucm11-2     10.48.47.136    2.860    Y/Y/Y    0     (g_3)    (2) Setup Completed
ucm11-1    10.48.47.143    0.038    Y/Y/Y    0    (g_2)    (2) Setup Completed

6. run sql SELECT count(*) from enduser

To analyze any problem, a Cisco TAC engineer has to know the number of users in your system. It helps to understand its size and estimate the business impact of this service.

admin:run sql SELECT count(*) from enduser
(count(*))
==========
11

Other VOS-based servers usually store user data in a separate Informix DB.

Commands for other servers (CUIC, Unity Connection) are given below.

run sql SELECT count(*) from cuic_data:cuicuser
run cuc dbquery unitydirdb SELECT count(*) FROM tbl_user

7. utils core active list

Checking memory dumps of the processes is a part of the initial diagnostics. An example of Call Manager process memory dump is given below. Analyzing memory dumps is Cisco TAC engineers’ work, as it requires the knowledge of the product’s software architecture.

admin:utils core active list
Size    Date    Core File Name
=================================================================
233860 KB    2017-02-02 09:28:40    core.20919.6.ccm.1486023981

8. file dump install system-history.log

This command is irreplaceable for the analysis of any problem. It displays the events that have occurred on a node: restarts, installation of components (COP files, locales), successful and failed backups.

file dump install system-history.log
=======================================
Product Name – Cisco Unified Communications Manager
Product Version – 11.0.1.20000-2
Kernel Image – 2.6.32-504.12.2.el6.x86_64
=======================================
05/18/2015 17:49:21 | root: Install 11.0.0.99833-4 Start
05/18/2015 23:28:40 | root: Boot 11.0.0.99833-4 Start
05/19/2015 09:55:13 | root: Install 11.0.0.99833-4 Success
05/19/2015 09:55:17 | root: Boot 11.0.0.99833-4 Start
06/17/2015 17:51:57 | root: Shutdown 11.0.0.99833-4 Start
06/18/2015 12:37:00 | root: Boot 11.0.0.99833-4 Start
08/16/2015 08:18:19 | root: Boot 11.0.0.99833-4 Start
09/09/2015 08:47:37 | root: Boot 11.0.0.99833-4 Start
12/02/2015 16:18:19 | root: Cisco Option Install cm-locale-de_DE-11.0.1.1000-1.cop Start
12/02/2015 16:20:34 | root: Cisco Option Install cm-locale-de_DE-11.0.1.1000-1.cop Success
12/02/2015 16:22:58 | root: Restart 11.0.0.99833-4 Start
12/02/2015 16:23:32 | root: Boot 11.0.0.99833-4 Start
12/02/2015 16:31:51 | root: Restart 11.0.0.99833-4 Start
12/02/2015 16:32:15 | root: Boot 11.0.0.99833-4 Start
12/08/2015 17:33:35 | root: Shutdown 11.0.0.99833-4 Start
12/08/2015 22:47:20 | root: Boot 11.0.0.99833-4 Start
12/28/2015 21:59:19 | root: Upgrade 11.0.1.20000-2 Start
12/28/2015 22:57:54 | root: Upgrade 11.0.1.20000-2 Success
12/28/2015 22:58:22 | root: Switch Version 11.0.0.99833-4 to 11.0.1.20000-2 Start
12/28/2015 23:01:06 | root: Switch Version 11.0.0.99833-4 to 11.0.1.20000-2 Success
12/28/2015 23:01:06 | root: Product Version 11.0.1.20000-2
12/28/2015 23:01:06 | root: Kernel Image 2.6.32-504.12.2.el6.x86_64
12/28/2015 23:01:09 | root: Restart 11.0.1.20000-2 Start
12/28/2015 23:01:10 | root: Restart 11.0.0.99833-4 Start
12/28/2015 23:03:12 | root: Boot 11.0.1.20000-2 Start
01/31/2016 12:54:02 | root: Cisco Option Install dp-ffr.3-1-30.GB.k3.cop Start
01/31/2016 12:55:11 | root: Cisco Option Install dp-ffr.3-1-30.GB.k3.cop Success
02/07/2016 11:09:46 | root: Cisco Option Install cm-locale-ru_RU-11.0.1.1000-1.cop Start
02/07/2016 11:11:41 | root: Cisco Option Install cm-locale-ru_RU-11.0.1.1000-1.cop Success
02/07/2016 11:37:46 | root: Restart 11.0.1.20000-2 Start
02/07/2016 11:38:19 | root: Boot 11.0.1.20000-2 Start
03/30/2016 12:39:11 | root: Restart 11.0.1.20000-2 Start
03/30/2016 12:39:38 | root: Boot 11.0.1.20000-2 Start
04/16/2016 13:21:04 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
04/16/2016 13:23:37 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success
04/28/2016 13:59:03 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
04/28/2016 14:03:06 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success
05/03/2016 11:03:46 | root: Shutdown 11.0.1.20000-2 Start
05/03/2016 11:08:43 | root: Boot 11.0.1.20000-2 Start
05/14/2016 20:10:29 | root: Restart 11.0.1.20000-2 Start
05/14/2016 20:10:57 | root: Boot 11.0.1.20000-2 Start
01/17/2017 12:44:09 | root: Restart 11.0.1.20000-2 Start
01/17/2017 12:44:59 | root: Boot 11.0.1.20000-2 Start
01/22/2017 01:00:05 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
01/22/2017 01:07:36 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success
01/24/2017 11:49:36 | root: Restart 11.0.1.20000-2 Start
01/24/2017 11:50:14 | root: Boot 11.0.1.20000-2 Start
01/29/2017 01:00:11 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
01/29/2017 01:21:57 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success
02/05/2017 01:00:05 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
02/05/2017 01:10:58 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success
02/12/2017 01:00:05 | root: DRS Backup UCMVersion:11.0.1.20000-2 Start
02/12/2017 01:12:51 | root: DRS Backup UCMVersion:11.0.1.20000-2 Success

Even if the data acquired by these commands doesn’t show the problem’s source, it significantly improves the engineer’s knowledge of the system, its current state, version, addresses and services.

P.S. This list doesn’t include the following command because it may take a long time to produce the output. If the DNS reverse records are not configured correctly, this command will take 300 seconds longer to execute.

utils diagnose test

Integrating ASTERISK and CUCM

Integrating Asterisk and CUCM via SIP makes it possible to combine several phone pools or, for instance, to use Asterisk as an IVR (interactive voice response system). This article gives instructions on connecting Asterisk and Cisco Unified Communications Manager through a SIP trunk.

Configuring CUCM

First of all, proceed to Cisco UCM configuration page. To create a new SIP trunk, select Device -> Trunk in the menu and click Add New. We are creating a SIP trunk, so fill out the Trunk Type and Device Protocol fields, as the screenshot shows:

After the parameters are specified, click Next. On the page that appears, fill out the following fields:

  • Device Name – enter the name of the SIP trunk to be created. This field is required.
  • Description – describe the connection to be created.
  • Device Pool – select a device pool for the SIP trunk. It should coincide with the devices routed through this trunk. This field is required.

Scroll down to the section titled Inbound Calls and fill out the following field:

  • Calling Search Space – CSS name for the SIP trunk. It should coincide with the devices routed through this trunk.

To finish the system configuration, proceed to the section titled SIP Information, sub-section Destination. Fill out the following fields:

  • Destination Address – enter the IP address of your Asterisk server. This field is required. Note that the default destination port is 5060. If your Asterisk server has a different SIP listen port, enter it in the Destination Port field.
  • SIP Trunk Security Profile – select Non Secure SIP Trunk Profile. This field is required.
  • Rerouting Calling Search Space – select the same CSS that you have selected in Inbound Calls section.
  • Out-Of-Dialog Refer Calling Search Space – similarly to the previous item, select the same CSS.
  • SUBSCRIBE Calling Search Space – select the same CSS.
  • SIP Profile – select Standard SIP Profile.

Click Save. You can use patterns (see Route Pattern settings) to configure routing to the SIP trunk.

Configuring Asterisk

You can carry out SIP trunk configuration process on the side of Asterisk through the FreePBX 13 graphical environment. To configure a trunk, proceed to Connectivity -> Trunks. Click Add Trunk to create a new SIP trunk.

On the General tab, enter the trunk name. Then proceed to the pjsip Settings tab. We don’t use username/password authentication to configure a SIP trunk between Asterisk and CUCM, so select the following options:

  • Authentication – select None. As mentioned before, we won’t need username/password authentication.
  • Registration – select None.
  • SIP Server – enter the Cisco UCM IP address.
  • Context – enter from-internal context

Proceed to the Advanced tab:

  • Qualify Frequency – enter 60. This is the delay (in seconds) between the keep-alive messages being sent to check the trunk’s state.
  • From Domain – enter your CUCM IP address.

Click Submit and then Apply Config.

As the final step, you should configure call routing for this trunk.

The end-of-life for Cisco TMS in 2018?

Guys, I bet we'll hear the end-of-sale and end-of-life announcement for Cisco TelePresence Management Suite till the end of 2018. Here's the thing…

  • CMS (former Acano) has nothing to do with TMS.

    When Cisco acquired Tandberg back in 2010 TMS (former Tandberg Management Suite) and hardware Cisco MCU (former Tandberg MCU) were inseparable components of a single unified offer.

    In 2014 Cisco introduced the virtual offer "Telepresence Servers + Conductor" which was replaced by CMS offer after the acquisition of Acano. So Cisco Meeting Server is a completely different platform that has nothing to do with the obsolete TMS.

  • Video endpoints don't need TMS.

    Again, Tandberg video-conferencing worked on its own having video endpoints registered to TMS. But later the registration and provisioning functions were transferred to Cisco UCM.

  • TMS conference control center doesn't support CMS.

    And it's not going to change. Instead, Cisco is developing a new software to control meetings.

So, seems like the only important TMS feature left is the meeting scheduler, but….

  • Meeting schedulers are dying.

    For years we used special applications to schedule upcoming conferences and reserve the necessary volume of ports on the conference bridge. But the world is moving to the new paradigm of "personal meeting rooms" – personal, persistent and secure. Cisco supports this model for both audio meetings (the CUCM "Conference Now" feature) and video conferences (CMS). The Cisco Meeting Server licensing is not even based on "ports".

So, IMHO, TMS doesn't have much time left. Cisco will continue offering video-endpoints (both software and hardware) with the registration to CUCM, Cisco Meeting Server acting as conference bridge and XYZ application they're developing to kill the Cisco Meeting App.

Those who need more (like meeting scheduling app, integration to some enterprise software etc) are welcome to use the CMS API which is great thanks to Acano legacy.

How to clean out the CUCM HDD common partition

As you go through RTMP logs on a Call Manager server, sometimes you can come across a critical warning of the following type: LogPartitionLowWaterMarkExceeded.

Despite the critical status, in most cases this problem doesn't affect the system's functioning, but the disk overfill may interfere with some installation or upgrade.

Common (log) partition is mostly filled with traces, CDRs and files from TFTP server. LogPartitionLowWaterMarkExceeded alarm is generated when the used disk space percentage in Log partition reaches the configured Low WaterMark value. This alarm should be taken as an early notification for an administrator to clean up the disk space. CUCM won't start an automated cleanup process until the High WaterMark value will be reached.

To free some space in the Common partition, you can try to:

  • Reduce the values of LogPartitionLowWaterMarkExceeded to 40% and LogPartitionHighWaterMarkExceeded to 45%, restart "Cisco Log Partition Monitoring Tool" service and after 2-3 hours check whether the used space decreased;
  • Use RTMT Trace/Log Central to collect logs/traces with "Delete Collected Log Files from Server" option (for active and inactive partitions);
  • Delete the old unused files from the TFTP server (old phone software);
  • Use ciscocm.free_common_space_v1.1.cop.sgn – this file runs a script that deletes all files from an inactive Common partition. After using it you won't be able to switch CUCM version to the previous one.

To reduce the partition usage, you can try to:

  • Deactivate Detail/Debug trace level;
  • Reduce the number of trace files to be stored;
  • For CDR: reduce the High Water Mark, reduce the occupied disk space, reduce the number of preservation days.

How to clear the hung calls on CUBE

There are different reasons that can cause call getting hung on CUBE. It was noticed that the calls get hung more often in case of a sudden loss of connection. They have an "incomplete" state, having one or two call legs.

cube#show call active voice compact
A/O FAX T Codec type Peer Address IP R:
Total call-legs: 2
126523 ANS T74411 g711ulaw VOIP P79033956416 188.234.136.49:18724
126524 ORG T74411 g711ulaw VOIP P3500 172.16.127.50:21284

To go into the details:
show sip calls

Now delete the call:
clear call voice causecode 17 calling-number 79033956416

Auto attendant implementation based on Cisco solutions

When we call almost any company, we usually can hear a sweet (or not so sweet) voice naming the company we have reached and asking us to perform certain actions. That means we’ve reached an automated attendant. An auto attendant (AA) usually is the simplest form of Interactive Voice Response (IVR) system that allows you to enter the extension number, leave a voice message, send a fax, or connect to a secretary.

In this article I'd like to introduce you to the possible implementations of an auto attendant based on Cisco solutions. There are at least four of them, and people often ask what exactly this feature should be implemented on while deploying Cisco unified communication solutions. Let's go through the advantages and disadvantages of each of them.

1. Developing or using existing TCL and VXML scripts

This is a software-only solution. The required features are built into Cisco IOS. The solution is supported on routers with Unified Communications (UC) features enabled. There are many examples of IVR scripts for Cisco equipment.

The advantages of this solution are the following:

  • No hardware needed, except for a Cisco router with UC features.
  • A long line of supported platforms:1861, 2800, 3800, 2900, 3900, 4000, AS5000.
  • You can create a script implementing any algorithm you need — branching, submenu, multiple languages, working/nonworking hours, etc. It supports integration with speech recognition and synthesis systems (ASR, TTS) and much more.
  • This solution has the largest number of supported codecs for greetings in case you use VXML. There's another supported feature that is almost never used: greetings created with different codecs can be combined inside one application.
  • Direct access to the gateway and its resources. For example, you can detect fax tone during an incoming call and switch over to a fax straightaway, or find out (with some probability) who answers the phone during an outbound call: a human or an auto attendant.
  • VXML is an open standard widely supported by VoIP solution developers (Audiocodes, Huawei, D-Link, Digium).
  • There already exists quite a functional Cisco script based on TCL: Basic automatic call distribution (B-ACD) and auto-attendant (AA) service.


If its algorithm is suitable to you, take it, set it up and use.

The disadvantages of this solution:

  • If you are using TCL, you need programming skills and knowledge of Cisco Voice Gateway API (VGAPI). For VXML, the threshold of programming skills is way lower, especially if you are already familiar with XML, and knowledge of Cisco VGAPI is not required.
  • Cisco IOS doesn't use transcoder for the calls processed by TCL applications, so you have to use the same voice codec for the application input and output both.
  • Relatively low scalability: from 7 (2800 series) to 360 (AS5400XM) simultaneous sessions (calls).
  • No fault tolerance.
  • Cisco IOS Voice XML Browser licensing limits the number of simultaneous calls (the price* for one session FL-VXML-1 = $150, for 12 sessions FL-VXML-12 = $1440). FL-VXML license type is Right to Use, which means that you only get a document on usage rights, without any serial numbers and activation codes ("honor based";).

* all the prices in this article are from Cisco GPL

This solution is suitable for minor load (small number of simultaneous calls) and can be integrated with any PBX (not only Cisco).

2. Using Cisco Unity Express (CUE)

This version is implemented as a module (for example, SM-SRE-700-K9) for the following Cisco router series: 1861, 2800, 2900, 3800, 3900. IVR script can be created in Cisco Unified Communications Express Editor. This solution is quite functional, and the process of script creation is pretty much similar to the old UCCX-based solution that will be analysed below. Cisco Unity Express can be integrated with Cisco Unified Communications Manager and Cisco Unified Communications Manager Express, and it also can work as an auto attendant in standalone mode.

The advantages of this solution are the following:

  • A handy web-interface Cisco Unity Express — Administration.
  • A rich feature set.
  • Convenient scheduling with holidays.


  • IVR script development in Cisco Unified Communications Express Editor is quite simple and similar to visual programming with moving the required blocks around and configuring their properties.


  • There is a web-editor for scripts that's even more simple: Editor Express. It supports basic actions:


  • There are built-in system phrases in multiple languages, as well as a ready-to-use auto attendant script (aa.aef).
  • Cisco Unity Express is a voice mail server, so in addition to the auto attendant features, CUE deployment also provides voice mail features for a router.

The disadvantages of this solution:

  • Low scalability. A hard limit on the number of sessions (10 for ISM-SRE-300-K9 and 32 for SM-SRE-700 — SM-SRE-910).
  • The only supported codec for greetings is G.711 u-law.
  • No fault tolerance.
  • Setup, configuration and integration are required.
  • Prices for the module and for the licenses for voice ports (simultaneous calls):
    • The module itself: for example, ISM-SRE-300-K9=$1000, including a non-portable license for 2 voice ports FL-CUE-NR-PORT-2.
    • License for 5 mailboxes: FL-CUE-MBX-5=$100.
    • License for 2 additional voice ports: FL-CUE-PORT-2=$500.
    • License for IVR voice ports: FL-CUE-IVR-2=$1400 (it is only necessary if you use advanced IVR features, such as sending emails and faxes, accessing external databases, running VXML scripts inside of CUE IVR scripts, etc.).

This solution is the most suitable one for the companies that use Cisco Unified Communications Manager Express for PBX, or for branch offices, if the head office uses Cisco Unified Communications Manager for PBX and fault tolerance for the branch offices is being ensured by Cisco Unified Survivable Remote Site Telephony (SRST). Like the TCL/VXML variant, this solution can also be integrated with any PBX as a standalone auto secretary.

3. Using Cisco Unity Connection (CUC)

This solution is a voice mail server. It should be deployed on a separate virtual machine. Two VMs with CUC can be united into a fault tolerant cluster. CUC tools allow you to implement auto attendant logic. There are also built-in call handlers.

The advantages of this solution are the following:

  • High scalability and fault tolerance — up to 250 simultaneous sessions (calls) for a single server, up to 500 in an active/active cluster.
  • Relatively large set of supported codecs (G.711 a/u-law, G.722, G.729, iLBC) and built-in transcoding tools. It's worth noticing that transcoding is always performed in CUC.
  • Convenient scheduling with holidays.
  • Built-in ASR and TTS in multiple languages.
  • Cisco Unity Connection is a voice mail server, so in addition to the auto attendant CUC deployment enables voice mail features in a VoIP system.
  • Integration with third-party (non-Cisco) PBX is possible.

The disadvantages of this solution:

  • Poor functionality. Auto attendant utilizes built-in default handlers, so you can only implement limited functionality.
  • Built-in phrases (e.g. "called party is busy";) can't be replaced.
  • Setup, configuration and integration are required.
  • License price for one voice mail user (mailbox): UNITYCN11-STD-USR=$78.75

This solution is suitable for companies that need a heavy load (in terms of the number of simultaneous calls) and fault tolerance.

4. Based on a contact center (Cisco Unified Contact Center Express or Cisco Unified Contact Center Enterprise)

This is the most functional and flexible solution. UCCX, as well as CUC, should be deployed on a separate virtual machine. Two VMs can be integrated to create a fault tolerant cluster. You only need to configure IP IVR features to set up an auto attendant. You can create an IVR script in Cisco Unified CCX Editor. UCCX should be integrated with Cisco Unified Communications Manager. The number of simultaneous sessions is limited by the virtual server capacity (VM template) and the number of acquired licenses.

The advantages of this solution are the following:

  • High scalability and fault tolerance.
  • Support of the most widely used codecs G.711 a/u-law, G.729.
  • Rich feature set.
  • Management web interface: Cisco Unified CCX Administration.
  • Developing an IVR script in Cisco Unified CCX Editor is relatively easy and resembles visual programming.


  • Built-in system phrases in multiple languages and a ready-to-use auto attendant script (aa.aef).

The disadvantages of this solution:

  • Setup, configuration and integration are required.
  • Price of the solution: minimal promo set of 5 contact center agents (operators) and 100 voice ports (simultaneous calls): $1044.75

UCCX is a full-blown contact center that supports progressive contact center building technologies, so using it only to create an auto attendant is like using a sledge-hammer to crack a nut. This solution is for companies with high demands on functionality, performance and reliability.

We have examined different means of auto attendant creation. The choice in many respects depends on the solution that is being used or deployed (CUCMe, CUCM, BE6K or a third-party PBX), and on the functionality, performance and reliability requirements.

Conclusion

The most simple choice is an IVR based on TCL/VXML, and the most functional and productive choice — based on Cisco Unified Contact Center Express/Enterprise.

Cisco Unity Connection solution undeservedly often gets ignored. Usually Cisco Unity Connection comes with acquired licenses on Cisco unified communication products (for example, it comes with UWL licenses, as well as with Cisco Business Edition family). In this case, auto attendant implementation won't require any additional purchases.

Cisco Unity Express solution helps you to reduce (comparing to the TCL/VXML-based solution) the call processing load on the router. It takes the middle position between IOS scripting solutions and standalone server solutions. It is quite simple and handy, suitable for creating an auto attendant by the company's IT department, as it has a simple built-in web-editor for scripts with basic actions.

There are also auto attendant solutions for Cisco VoIP systems integrated with third party software, but that's another story.

SIP gateway monitoring. SIP Trunk. CUBE.

This article is about practical monitoring that helps answering such questions as call activity, the calls passing through a trunk, etc.

Call activity on CUBE

  • Active calls:
        show call active voice compact
  • The active calls summary by the number of call legs:
        show call active voice summary
  • Recent calls:
        show call history voice compact

Call activity on CUBE from the point of view of CUCM

You can view the CUBE load in CAR:
https://cucm_ip:8443/car
Proceed to: Device Reports -> Trunk -> Utilization
Find your trunk and specify the report.
This report can only give you the notion about the trunk load in general, without any details.

Monitoring CUBE activity through SNMP

This is a very useful feature that allows you to perform online monitoring without any commands and reports. You can monitor the calls and connections through SNMP and view this information in PRTG. The most useful MIB is:
CISCO-VOICE-DIAL-CONTROL-MIB
We are interested in the following OIDs here:

  • CISCO-VOICE-DIAL-CONTROL-MIB/cv call volume/cv call vol conn total active connections
  • CISCO-VOICE-DIAL-CONTROL-MIB/cv call vol if: Loopback0/cv call vol media incoming calls
  • CISCO-VOICE-DIAL-CONTROL-MIB/cv call vol if: Loopback0/cv call vol media outgoing calls

Loopback0 is an inside interface on which all internal dial peers are bound, for example, like this:

dial-peer voice 500124 voip
description internal to CUCM
preference 3
destination-pattern [1-4]...
session protocol sipv2
session target ipv4:10.190.65.12
voice-class codec 1
voice-class sip bind control source-interface Loopback0
voice-class sip bind media source-interface Loopback0
dtmf-relay rtp-nte
ip qos dscp cs3 signaling
no vad

Directory numbers in trunk calls

Suppose that after PRTG monitoring a call activity surge aroused our interest. There are two ways to know what subscribers took part in it:

  • RTMT
    Proceed to: Call Manager -> Call Process -> Session Trace
    Here we can specify the time period and determine the gateway we are interested in using Called Named Device field.
    Session Trace is useful for obtaining up-to-date information on all the calls in cluster nearly in real time.
  • CDR
    And, of course, we always can get the information on the calls from a CDR file.
    - Log in to Cisco Unified CallManager CAR interface: https://:8443/car/
    - CDR > Export CDR/CMR
    - Select the time period and click Export to file.
    - On the next screen you can download the file.
    - Then open the file in MS Excel to analyze it.
    For your convenience you should do the following:
    - Select the first line (legend), then in MS Excel menu click Data -> Filter -> AutoFilter, and then Format -> Column -> AutoFit.

The fields of interest are:
origDeviceName
destDeviceName
You can also find the trunk by its name.

You can find the field descriptions here: Cisco Call Detail Records Field Descriptions

Notice the date and time format in dateTimeOrigination field. This is the number of seconds beginning from the midnight (00:00:00) of January 1, 1970. To make this readable, you can insert a column, format it as Date and use the following formula: =((E2 + 14400) / 86400) + 25569.

CUCM Traces Analysis: CUCM Architecture

This is another guest post that we find quite useful for our readers. The author discusses briefly the CUCM architecture in order to understand better the CUCM traces.

CUCM is a C++ application working on the Red Hat Linux OS.

There are SDL (Signal Distribution Layer) processes within the application interacting with each other. Some of these objects exist permanently while some of them are being created and destroyed as needed.

All SDL processes can be classified into several logical layers:

  • Feature Layer
  • Call Control Layer
  • Media Control Layer
  • Device Layer

As the figure shows, there also are Aggregator Layer and Link Layer. For the purpose of this article we'll consider the first one as a part of the Call Control Layer. The Link Layer is responsible for network interaction on TCP/UDP level, which isn't our concern here.

CUCM Process Classification

Let's explain the CUCM process classification by the example of the Feature Layer.

  • Parent Processes live in the system permanently. They are being created at the Call Manager application launch. These processes are: Transfer Manager, Forward Manager, Conference Manager, Recording Manager. They are responsible for ALL conferences and transfers in the system.
  • Child Processes are being created during a certain operation. For example, the Forward operation creates a Forwarding sub-process that lives until the transfer is over (then this process will be destroyed).

Device Layer Processes

  • 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 will interact with a single StationInit process.
    • StationInit (SCCP)
    • SIPHandler (SIP)
    • H225Handler (H323)
    • MgcpHandler (MGCP)
    • MgcpBhHandler (MGCP PRI)
  • Control Processes exist in several instances. For example, for each registered SCCP phone a separate StationD process will be created that controls this phone. So, there will be 50 StationD processes created for 50 phones.
    • SipStationD
    • SIPD
    • 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 off and its registration is lost, its StationD process will be destroyed.

Call Control Layer Processes

Call Control layer processes come into play to process the dialed phone number. These processes take part in establishing the call and handling it:

  • Call Control (CC) is responsible for all the calls passing through the CUCM node (1 process for a node).
  • 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 defined.
  • 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 define where the call should be physically routed.
  • Line Control process is responsible for all the DNs registered in the system.

Let's look into how a call is handled, step by step:

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 defined for this call.

Then the call is passed to the Device Manager (DM) which determines the device the call should be transferred to.

The information from the DM is sent back to DA and then to CDCC.

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.

Media Layer Processes

As we have already mentioned, this layer hosts the processes that are responsible RTP streams.

There are permanent processes: ConnectionManager and MediaCoordinator.

And there are MediaManager and MediaExchange processes are being created and destroyed along with the calls. They are responsible for all the call parameters - DTMF, codecs etc.

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 define the transcoder to be used. Then the separate MediaExchange (MX) process is created to ensure the connection between the first 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 Identifier (PID)

Each process in SDI and SDL Traces is marked in a certain way:

Process Type is the process type identifier (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.

CUCM Architecture Summarized

Suppose that the phone A is calling the phone B.

  • 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 define the codec the Connection Manager and the Media Coordinator create Media Manager and Media Exchange processes that will interact with the phones through Interfaces.
  • The conversation begins.

Configuring CUCM Single Number Reach feature

This article is about configuring Single Number Reach (aka Mobile Connect) feature in Cisco Unified Communications Manager (CUCM).

When you receive an incoming call on an extension number in a cluster, the Single Number Reach (SNR) enables rerouting the call not only to a DN, but also to a remote number. For example, that can be an employee's cell phone. If needed, you can configure rerouting to a group of remote numbers that belong to an employee.

This explains the name of this feature: Single Number Reach. After you dial the employee's extension number, you can reach this employee even if he or she is not in office. The SNR enables call routing to a specified group of numbers, so a subscriber can answer any of them.

Let's have a look at how SNR (Mobile Connect) actually works.

Let's assume that the subscriber with the number 479-555-15-55 dials the number 151-15-55-2001. The call is routed to a voice gateway and then to a CUCM cluster. Suppose that the last 4 digits of a public number correspond to an employee's extension number. After that the phone with the extension number 2001 will ring. Besides, if the number has the SNR feature configured, the call will be redirected to another number as well, for example, to the employee's cell phone number 408-555-10-01.

Basically, Mobile Connect provides functionality similar to Shared Line. The difference is that in this case a shared line is organized between an office phone and some remote device that isn't necessary in a cluster, not between the phones within a cluster.

The figure below illustrates this configuration:

On this figure you can see that Mobile Connect creates a shared line between an office phone and a Remote Destination Profile (RDP). RDP reflects remote numbers in CUCM configuration. You can bind several Remote Destination numbers to a single DN using RDP. Note that Remote Destination Profile and Remote Destination are essential parts of Mobile Connect. Apart from them we'll also use the following entities: User, IP phone, Softkeys, Access list.

The User entity defines an end user registered in CUCM with Mobile Connect features enabled. Generally, the most important thing in CUCM is a user, not a device, because the services are provided to people, not to devices. That's why in the system a user is associated with an office phone and RDP.

Next, IP phone and Softkeys. A phone has to be associated with a certain user. The Mobile softkey provides an employee with an opportunity to redirect an active call to an office phone, if this call is coming to a cell phone. To add the Mobile button to the phone interface in on-hook mode, you'll need a Softkey Template.

Access list enables filtering incoming calls by the caller's phone number. This feature isn't necessary, but it can be handy. At first an Access list is created in the configuration parameters and then it is bound to a certain RDP.

Configuring Mobile Connect is relatively easy. First of all, you should create an End User that will be the center of all the system logic. There are several ways to create a user, but in any case the Enable Mobility option should be checked, as the figures show.

Here you can also define a limit for the quantity of remote phone numbers associated with this user. After that you should associate the user with the office phone number that he or she uses. For that purpose you can use Owner User ID in the phone parameters.

Now you can configure the entities that are essential for Mobile Connect. At first, you should create a Remote Destination Profile. To do this, proceed to Device -> Device Settings -> Remote Destination Profile.

You must specify the same End User (User ID field). Note the Rerouting Calling Search Space field. Here you can specify CSS that will be used for outgoing calls to Remote Destination numbers while processing an incoming call to an office phone. This CSS will ensure Route Pattern availability while routing an outgoing call to a Remote Destination.

Please save the RDP information. After that you'll be able to create lines. Specify the number used on the office phone that should have the calls redirected via Mobile Connect as one of the lines.

Follow the "Add a New Remote Destination" link. The Remote Destination Configuration form will appear.

Let's have a look at the parameters we can specify. "Answer Too Soon Timer" defines the minimal time for a call to be transmitted to a Remote Destination before the user answers. This parameter helps to prevent the call from being sent to voice mail when the user's cell phone is switched off or out of coverage area. "Answer Too Late Timer" defines the maximum response timeout for a call to a Remote Destination. "Delay Before Ringing Timer" defines the delay before the CUCM redirects an incoming call to a Remote Destination. All these parameters are specified in milliseconds. It is necessary to set the Line Association mark for the number that will be associated with a remote number. It is also necessary to switch the Enable Mobile Connect option on. The Mobile Connect option enables redirecting an active incoming call from a mobile phone to a landline office phone by clicking the Mobility button on the office phone.

If needed, use the Access List Configuration to configure the filtering for the calls to a Remote Destination. To do this, proceed to the menu: Call Routing -> Class of Control -> Access List. Select the access list type: blacklist or whitelist (Blocked or Allowed). Then use the Add Member button to fill the list with the corresponding numbers.

Now you should bind the Access List on the Remote Destination Configuration page. You can select one of the following options: transmit the call to a remote device if the subscriber is on the list, or the opposite. You can also specify the Ring Schedule, which can permit redirecting calls to a remote number during the working hours only, for example.

You should remember that if you configure both the schedule and call filtering, then the schedule will be checked first. So if the time is inappropriate, the access list won't be even checked.

As you can see, configuring Single Number Reach presents no great difficulty. After you configure this feature, your employees will be able to accept incoming calls on the office phone numbers not only in the office, but on their mobile and home phones as well, no matter where the call is coming from.

Video Chat – the Wrong Name for a Contact Center Channel

RichCall - video chat and live support for contact centersHave you already seen the 2016 Global Contact Centre Benchmarking Report Summary by Dimension Data? Almost a third of contact centers plan to deploy the "Video Chat" channel within 1 year.

I'll put my comments on this figure in the next post, but in this one I want to talk about the terminology. The thought I want to share today is this – the "Video Chat" is the completely wrong and obsolete name for the channel we're talking about.

It's not about the "video" and it's not about the "chat", it's about Live Online Assistance. Now, a bit more in details…

Where did the "Video Chat" came from?

Back in the 2000s the contact center industry adopted the text chat technology that provides online assistance to users of a website. This software typically consists of a text box on the website and an operator console, which allows contact center agents to respond to the chat. There are several names used for this channel, like "live help", "live support" etc but the most useful ones are "live chat" or "web chat". This is where the "chat" came from.

Now, what about the "video"? As far as I remember the "Video in Contact Center" topic was started about 4-5 years ago when several world leaders in communication solutions started making bets on business video. At the same time (in May 2011) Google released an opensource project for browser-based communication known as WebRTC.

As it often happens, some vendors decided to merge these two hot trends to introduce the super-killer-feature. They failed because you cannot mix the text chat with voice communications in contact center (some agents speak well but have poor writing skills while the other ones are vice versa). But since then we have the "video chat" channel. And as I said earlier…

…it's not about the "video" and it's not about the "chat"

You can find a lot of marketing texts about the body language and the video increasing trust and confidence. Rubbish. The PURE video in contact center is still a solution looking for a problem (Dimension Data) and the technology that searches for relevance in the contact center (No Jitter).

It's not about the chat either – you will hardly type something when you can say that (except rare text messages with credit card numbers, various IDs, emails, addresses etc).

What really matters is the Live Online Assistance

My point is that the most important part of the "video chat" are web-collaboration options like co-browsing, application and screen sharing, remote control. These are the features used in real life examples, like:

  • customer support
  • sales support
  • IT troubleshooting

Can the videocall without the web-collaboration improve FCR? Or reduce the abandonment rate? Or minimize the channel escalation? Not sure.

But, I can easily imagine:

  • an agent guiding a website visitor through the complex online process,
  • a sales person pushing product photos and videos to new client,
  • a consultant performing tech support with app sharing and remote control features.

Bulk Change Cisco IP Phone Background Image

The company my friend works for has changed its logo recently, so he was asked to update the logo on all the users' phones.

In general, this is an easy task with the solution described in many places, but almost always that's a description of a manual update using a TFTP server.

Besides that, there is a native Cisco utility Cisco Phone Designer that can be downloaded from the official site. It makes the process easier, but you still have to choose the phone and the picture manually, push the button and so on.

What we needed to do is to update the picture on a large number of Cisco IP phones.

There are third-party software products that provide this function but you can do it on your own.

There is a great article here – http://www.netcraftsmen.com/pushing-backgrounds-to-a-cisco-ip-phone-using-xml/
It gives an example of a script for doing this and we only had to modify this script a little.

So, the solution was as follows...

Requirements:
PC with Windows OS and any web-server.
Images that will be uploaded to the phones. Here you can find the image file parameters (file format and resolution, depending on the IP phone model).
You will also need a text file with a list of IP addresses of the phones that should have the image updated.
You'll have to sort the phones by model manually. You should run the script once for each model with the proper image file specified.

The steps are:
1. Enable personalization on all IP phones that should have the image updated. This can be done manually on each phone (Device->Phone->Phone Personalization = Enable), but it would be better to use the Common Phone Profile.
2. You'll need an End user created in CUCM. The "Controlled devices" list of this user should contain all the phones that should have the image updated.
3. Upload the image files to the web-server.
4. Run the script with the following parameters:

  • File name of the list of Cisco IP phones
  • URL of the http server where the image files are located
  • Icon file name
  • Image file name
  • User name
  • Password

5. Now the script is running in the background. You'll get a message when the process is over. The results will be available in a log file.

Useful CUCM CLI SQL Queries for DN and CSS

Recently I needed to collect the detailed information on Cisco IP phones, extension numbers, CSS and other parameters. The communication network was really huge but no inventory had been performed for years.

Lots of phones and extension numbers with no common attributes. Actually, I was given the list of extensions for which I had to return the detailed info.

This is where the CLI SQL Queries can hardly be underestimated. With CLI you can query the CUCM database directly. A query can be executed from the command line if you access the CUCM server via SSH.

To execute the SQL query, run the following command:
run sql <query body>

For example:
run sql select dnorpattern from numplan where dnorpattern like '1%'

The result will contain all the directory numbers, route patterns and translation patterns beginning with "1".

More examples:

Show the DNs assigned to the phones on the list:
run sql select n.dnorpattern as DN from device as d, numplan as n, devicenumplanmap as dnpm where dnpm.fkdevice =d.pkid and dnpm.fknumplan = n.pkid and d.tkclass = 1 and (d.name in ('SEP7C96F3C9ACDC' , 'SEPB8BEBA229A9E';))

Show the CSS configured for the DNs on the list:
run sql select css.name from numplan as np join callingsearchspace as css on np.fkcallingsearchspace_sharedlineappear=css.pkid where np.dnorpattern in ('6229' , '3118';)

Check if the DNs on the list are members of any Line Groups:
run sql select lg.name as LineGroup,n.dnorpattern,dhd.hlog from linegroup as lg inner join linegroupnumplanmap as lgmap on lgmap.fklinegroup=lg.pkid inner join numplan as n on lgmap.fknumplan = n.pkid inner join devicenumplanmap as dmap on dmap.fknumplan = n.pkid inner join device as d on dmap.fkdevice=d.pkid inner join devicehlogdynamic as dhd on dhd.fkdevice=d.pkid where n.dnorpattern in ('2480' , '1601';)

Check if the DNs are members of any Call PickUp Groups and show that groups:
run sql select np.dnorpattern, pg.name from pickupgrouplinemap as pgl join numplan as np on pgl.fknumplan_line=np.pkid join pickupgroup as pg on pg.pkid=pgl.fkpickupgroup where np.dnorpattern in ('' , '3118' , '5109';)

Find out if there is a line assigned to a phone and if the line has an External Phone Number Mask configured:
run sql select dnpm.e164mask as EPNM from devicenumplanmap as dnpm join device as d on dnpm.fkdevice=d.pkid where d.name in ( 'SEP1CAA07E2060D' , 'SEPF07F06B8D6B2';)

You can obtain the information as well as modify the data in the database. For example, you can modify the device description:
run sql update device set description = 'MARK_PHONE' where name in ('SEPD8CB8A379237', 'SEP80E86F23F5E7';)

This list of examples can go on endlessly. Actually, the direct access to the database is a tool of almost unlimited flexibility, suitable for obtaining information and making massive data changes.

LinkedIn as a Global Directory for Skype?

Satya Nadella and Jeff Weiner on Microsoft Acquiring LinkedIn Satya Nadella and Jeff Weiner on Microsoft Acquiring LinkedIn

The LinkedIn acquisition by Microsoft opens up the endless possibilities for speculations for the IT world including collaboration experts and I can't stop myself from sharing my thoughts.

LinkedIn – over 430 million accounts (see more facts below).

Skype – over 300 million of active users (see more facts below).

Just imagine that each LinkedIn account is matched to a Skype user. Its gonna be the whole new collaboration universe for professional with LinkedIn as a global directory for Skype and Skype as a collaboration tool for LinkedIn members.

You’ll be able to share your presence status to your network. LinkedIn messaging will be substituted by Skype chat, which can be escalated to video call, and then to conference call.

You will have the ability to make impromptu calls to your network and even to those you’re not connected to (of course after the approval of some sort). For example… a service team rep may send a call request to the client who has posted a complaining message in the LinkedIn group, a recruiter may call the candidate he is interested in, and so on.

Some features will be available for all, another one will likely be part of the paid Premium offering as one of the ways to monetize the acquisition.

LinkedIn facts:

  • 433,000,000+ registered members;
  • Over 200 countries and territories;
  • Revenue: $2.99 billion;
  • Net income: $166 million;
  • LinkedIn Common Stock: $190.80 (June 20, 2016);
  • Employees: 9,732 (March 2016);
  • Founded: December 14, 2002; 13 years ago;
  • Headquarters: Mountain View, California, U.S.

Skype facts:

  • Active users: 300,000,000+;
  • Initial release: 29 August 2003; 12 years ago;
  • Type: Videoconferencing, VoIP and Instant messaging;
  • Available in 38 languages.

The Updated Paging Solution for Cisco UCM Reaches Anyone, Anywhere

The new Aurus PhoneUP 3.11, the bundle of apps for Cisco UCM, is released this week! Congrats to the R&D team!

As for me, the main killer feature of the new version is the integration of its Paging module with our Outbound solution. Finally, we can offer a paging solution that reaches employees wherever they are.

See how it works:

1. When a new message (text, audio or hybrid) is sent to the predefined group of employees, it first goes to their Cisco IP phones. Every IP phone of the group plays the audio alert, shows the text message on its display and plays the audio message through the speakerphone.

2. Then the message waits for the employee to confirm the receipt with one of the following methods:

  • pressing the “Confirmed” soft button on the IP phone;
  • entering the PIN code on the IP phone;
  • recording the voice confirmation with the IP phone;

3. Those employees who have not acknowledged the receipt are sent to Aurus Outbound along with the message content.

4. Aurus Outbound starts the pre-configured “voice drop” outbound campaign to call each employee and play the audio message.

5. After listening to the message employees confirm the receipt by sending a DTMF code or recording the voice message.

6. Once the outbound campaign is over, the PhoneUP generates the combined report and sends it to the message originator by email.

There is a number of ways you can leverage such a notification system:

  • an intruder has been identified in the building;
  • severe weather is approaching;
  • production line stops;
  • emergency calls;
  • ad hoc conference calls notifications;
  • shift changes;
  • upcoming IT system shutdown.

You’re welcome to try our new products in your lab. We’ll provide the demo licenses, docs, install video guides and tech support.

Cisco Jabber vs Spark and Acano - The Steadfast Tin Soldier

For several years Jabber has been the Cisco's UC answer to Microsoft. A little bit late but still successful one. But in 2015 Cisco gave birth to two Jabber's cousins:

     1) in the beginning of 2015 Cisco announces Cisco Spark
     2) in the end of 2015 Cisco acquired Acano

Both Spark and Acano projects have its own clients for collaboration, so this is a fruitful theme for speculation on which product will supersede/swallow another one.

Cisco Spark vs Jabber

Spark is the real Cisco vision for collaboration that fits the Trollope's vision for, so called, Workstream Communications and Collaboration (WCC).

WCC is considered as a new form of communication that comes up to take the UC's place. WCC tools include asynchronous messaging, real-time voice and video, content and context. Most of leading vendors in enterprise communication world jumped in this WCC train almost simultaneously – Cisco (Spark), Interactive Intelligence (PureCloud), Mitel (MiTeam), Unify (Circuit), Avaya (Zang) just to name a few.

But is it going to replace Jabber? Nope. And the reasons are:

  • Cisco Jabber has a large customer base, which would be easier to continue to support rather than to transition to another app;
  • Spark is a pure cloud solution which may not appeal to some verticals where everything has to be on premise;
  • the UC transition to WCC is not going to be a quick one, and until it isn't over Cisco still needs to compete with Microsoft.

So, I think for the next several years there will still be two clients – Jabber for traditional presence bubbles, buddy list, UC integration and Spark for team collaboration, workflow, persistence etc.

Currently there are business cases for both solutions even to be running simultaneously at the same company.

Acano vs Cisco Jabber

The Steadfast Tin SoldierAcano, acquired by Cisco in Nov 2015, is the best known of its truly interoperable video/audio bridge. On my opinion, this bridge was the primary Cisco's target and Acano is going to replace Cisco Telepresence Server and Conductor in Cisco's business video offering.

But besides the server component Acano provides the client app with contacts (no buddy list though), presence, very good persistent group chats, workflow and some other useful things. And that makes it another threat for Cisco Jabber.

Still I think Jabber will stand, because the primary task will be to digest the Acano's bridge, not the client. For example:

  • Cisco Telepresence Server replacement;
  • integration with Cisco Spark to power it with interop video meetings;
  • probably, integration with Cisco Webex.

So, my prediction is we'll live with Cisco Jabber and Spark and Acano at least until the next decade. Then all the platforms will be merged as well as client applications.

Co-Browsing in the Contact Center – the Details Matter

RichCall - video chat and live support for contact centersThe new version of Aurus RichCall product provides the co-browsing option that allows contact center agent to see the client's browser window (while talking with him on phone) and use the "pointer" to instruct him on what to do. This allows agent to better understand the context of the client's issue and solve it appropriately.

Before starting the co-browsing development we interviewed our clients interested in this option to analyze their business cases and develop exactly those features needed to fit their requirements.

You may be interested in learning what real clients want from the co-browsing option. Below are some of the requirements that we had to meet.

No Downloads

Of course no downloads for the customer. The client must be able to start the co-browsing session instantly. No apps, no Java, no browser plug-ins.

Client Controls the Action

Service reps should not be able to make mouse clicks or keyboard entries in the client's browser. The agent must have the ability to see what happens and point (see "The Pointer" below) the client what to do but not to interact with him on the same page.

The "Pointer"

Though the agent cannot interfere with customer actions, he must be able to draw the customer attention to certain areas of the page:

  • "Please click this button..."
  • "Here is the section with the info you need…"

We call it "the Pointer" tool – an arrow that appears in the customer browser on top of the main content.

Secure Pages Support

The co-browsing session must support secure pages (the ones that require client's login). When we interviewed our clients, only two of them reported their need to guide visitors around public pages to help them find products or other public info. The rest want to support their clients in working with the secure online self-service tools, which require user's authentication.

Starting the Co-Browsing Session by Code

The client is not required to make an online call, or to be in a chat with the agent to start the co-browsing session. Even if the client has made a regular phone call to the contact center, he must be able to enhance it with the co-browsing session if (and when) he needs it. With Aurus RichCall the agent may generate the unique 5-digits code and say it to the client who then uses it to initiate the co-browsing.

Mobile Browser Support

The co-browsing feature should support mobile browsers and provide the same functionality ("pointer", secure pages support etc).

Video in Contact Center – Why? For Whom? How?

According to the "Global Contact Center Benchmarking Report 2015" by Dimension Data the number of video-enabled contact centers is going to rise threefold in 2016.

Who adds video-channel to the contact center and why? Guys from Aurus, a software vendor offering video chat solution for contact centers, shared with me some info about their customers.

The first question they ask everyone asking to try their software is "Why?". So, the stats is:

Now, in details…

Video to improve the company's image

One of ten companies interested in video channel is going to enable video call service on their website as a part of the company's image building. By doing this they send messages like:

  • "We're a modern company and we follow the trends in the client servicing. So you can be sure our products are also built with top-notch technologies."
  • "We're rich enough to equip our contact center with special workplaces and hire good-looking contact center agents. So you can trust us."

Sometime video call is only available for VIP clients and then the message is "We really value you and your money".

These companies pay a lot of attention to the client interface - high-quality video of the agent, branded UI and so on.

Video to higher sales

RichCall - video chat and live support for contact centers This is where video becomes optional and may be replaced with a good photo of the agent, but the features that come to the fore are:

  • co-browsing – to help the client find the right info on the website and assist him with the payment process,
  • pushing product images and videos – to convince the customer to buy,
  • text chat – to provide the client with product spec, shop addresses, agreement templates etc.

The important note is that this approach only works when the products are quite unique and the company is ready to spend as much time as required to get a new client. For example, you can talk as much as needed about your jewelry or sofa or car to persuade the client to buy. But you cannot afford that if you're, say, a travel agency – you won't spend half an hour talking about your offer to Bora Bora, knowing that after you finish the customer will start surfing the net for the cheapest option.

Video for better support

Yeh, this is the leader of "live assist" use cases. The video is not required at all and web-collaboration features become critical ones:

  • text chat supporting images and files,
  • co-browsing that works in those spaces that require user authentication,
  • app sharing with annotations,
  • screen snap shots,
  • mobile SDK (remember the Amazon MayDay hype?).

Providing remote experts with the web-collaboration tools may significantly improve the time to resolution indicator.

Another important feature is the ability to add the web-collaboration session on the fly to any phone initiated customer support call. This increases the first call resolution rate.

Cisco UCCX Wallboard/Dashboard Vendor List

RichCall - video chat and live support for contact centers Do you manage a Cisco Contact Center? Are you looking for a solution to get a more detailed second by second view of what is happening?

Wallboard solutions enable you to monitor your contact center activity and performance in real-time displaying calling stats, KPI info and goals against actuals. Depending on the dashboard’s purpose it may contain calls waiting, average waiting time, calls answered/dropped/abandoned, longest/average waiting time, abandon rate and lots of other indicators.

Wallboard is also an excellent way to communicate with your contact center staff – supervisors may push text messages to inform agents about important events and changes.

Most of wallboards/dashboards for Cisco UCCX / UCCE are developed by 3rd party software vendors, most of them are Cisco Solution partners.

So here is the list…

1. 2Ring DASHBOARDS & WALLBOARDS is a solution for calculating & displaying real-time data in contact centers. For every team, create a unique layout with KPIs based on contact center, ERP or ticketing system data, pictures, message tickers / marquees, youtube videos, flash and web content, and even PowerPoint slides.

2Ring DASHBOARDS & WALLBOARD

2. Comstice has a great Wallboard. It shows real time stats and has different views to show: box view/ agent states/ dashboard view/ team view. And, it offers Team Voicemail.

Comstice Wallboard

3. Inova Contact Center Digital Signage delivers key performance metrics and important business information, along with rich, multimedia content on crystal-clear, high-definition monitors that keep your team motivated, informed and empowered to better serve your customers.

Call data awareness = agent empowerment = higher customer sat

Inova Contact Center Digital Signage

4. Atea Systems UCCX Agent State Wallboard (UAW) allows organizations to concurrently display many different views of customer configured real time data for UCCX queues and agents on any browser capable device.

Easy config, many different views!

Atea Systems Wallboard

5. ccInfo is a powerful wallboard application for customer contact centers to visually aid supervisors and agents with real-time statistics on call traffic and handling.

CcInfo Wallboard

6. Tenox Wallboard – free Wallboard for Cisco Unified Contact Center Express (UCCX/CCX).

It's a small .exe, is simple to set up, and can work with the old Windows platform or the new Linux/Informix combination in UCCX8.0 plus.

Tenox Wallboard

7. Inova Solutions Dashboards and Wallboards is a real-time reporting solutions that deliver critical metrics to your team via customized views for wallboards, dashboards and mobile devices. Inova real-time performance management solutions provide consolidated reporting across multiple systems through customized wallboards and readerboards, multimedia digital displays, web-based dashboards and desktop applications.

Inova Solutions Wallboard

Configuring Cisco Jabber 11 for iOS and Android Mobile Devices

If we have Cisco IM and Presence server and Cisco UCM in our corporate environment, as well as unhandy wi-fi Cisco 7925 telephones, which are heavy and consume the battery as fast as a Formula One car, then sooner or later we’ll think about switching to Cisco Jabber on a mobile phone.

This article tells what you need for that.

Before all experiments, make sure you have the following things:

  • Cisco Unified Communications Manager 8.6.2 or higher (preferably the latest version)
  • Cisco IM and Presence (integrated with CUCM, of course)
  • Wi-Fi Wireless Access Point, already set up by an administrator to distribute wireless internet (don’t mix it up with Wi-Fi Router, since if you have Router, your phones will be hidden behind NAT and RTP streams and it will be complicated to route correctly)
  • CUCM и IM&Presence Administrator kind enough to make us a CUCM and Presence user
  • Android 4.x or higher, better and faster (iPhone will do as well)

You can discard Cisco IM and Presence and configure Cisco Jabber for CUCM phone services only. It will be a dull and sad client (as an alternative to Jabber: what can possibly prevent you from registering an Android phone as a SIP third-party device on CUCM?), but you’ll be able to call anyway.

Proceed to Google market (or Apple Store for iPhone)

https://play.google.com/store/apps/details?id=com.cisco.im

And install the app.

But we won’t be able to run it until we perform the configuration steps in our Unified Communication infrastructure. So, led by the craving for launching Cisco Jabber on our phone, we go to the CUCM web interface and add our device.

Use the menu: Device - Phone - Add new – select "Cisco Dual Mode for Android"

Now we configure our precious, paying attention to the following aspects:

Device Name – in case of Android device it should start with BOT prefix (TCT in case of iPhone) and include name in upper case (BOT <NAME>). Allowed characters: a–z, A–Z, 0–9, (.), (_), (-). Total name length is limited to 12 characters. My device name is BOT-ATYRIN.

Description – specify or shyly conceal the phone model (or write any kind of nonsense)

Media Resource Group List – either specified explicitly or assigned through the Device Pool

Optionally specify User Hold MOH Audio Source и Network Hold MOH Audio Source

Owner – select User

Owner User ID – select yourself from the list of CUCM users

Device Security ProfileCisco Dual Mode for Android – Standard SIP Non-Security Profile

SIP ProfileStandard SIP Profile for Mobile Device

If necessary, in Product Specific Configuration Layout section you can turn video support on, and specify a list of SSID Wi-Fi access point names, separated with ( /), if you wish to connect to the specified access points only.

After that we can add a line (DN) to our device.


Associate yourself with this line.

Take notice that since Cisco Jabber 11.0.1 and CUCM 10.5(2)su2 versions you can use conversation recording and listening features!

Quoting the documentation: Silent Monitoring and Call Recording (Built-in Bridge) — In 11.0.1 Cisco Jabber for Android supports silent monitoring and call recording using Cisco Unified Communications Manager 10.5(2) su2 and later releases.

After that proceed to User Management – End User and give yourself the rights to use this device (Device Association)

Don’t forget to ensure that you are an IM and Presence user:

And have the necessary rights:

Last but not least, a bit of Cisco magic without which you may not be able to run anything:

Jabber on Android doesn’t support HOSTNAME in Android kernel before version 4.4.4, and it’s possible that the integration with Call Manager phone services won’t happen. So, you’ll only see chat and presence features.

To solve this problem, first of all it’s necessary to specify FQDN or IP address everywhere in Jabber settings.

Secondly, in System – Enterprise Parameters menu in CUCM you should fill the initially empty Organization Top Level Domain field (initially empty) with the enterprise domain value.

Now cross your fingers and pray to Cisco gods as we proceed to the most exciting part: the first launch and configuration of Cisco Jabber on your phone.

It launches, which is good enough. Let’s open “Advanced settings” and presume that we are clever enough to explore them. Fill out IM and Presence server address and press OK:

Fill out your username and password (End User credentials in CUCM, IM and Presence). If you haven’t made any mistakes, you may rejoice and shed tears of happiness:

Now you can use mobile Jabber:

All Possible Ways to Set Up PIN for CUCM Meet-Me Conference

  • "How to configure Meet-Me video conference with PIN?"
  • "We need to configure Meet-Me conference with PIN…"
  • "CUCM 10.x Meet-Me with Name announcement and Pin number…"

- try to search the Cisco Support Forum and you'll get dozens of similar tickets.

Yes, the built-in Meet-Me conferencing feature doesn't support PIN authentication, so here goes the list of all possible ways to set it up.

Before we start, let's agree that we only consider Cisco Unified Communications Manager Enterprise or Cisco BE 6000/7000. If you've got CUCM/CallManager Express (CME) you can play with TCL IVR scripts, but that’s definitely another story.

So you're enjoying Cisco UCM Meet-Me conferencing, but you want attendees to hear the voice prompt asking for a PIN needed to join the meeting. You’ve got 4 options:

1. Cisco Unity Express/Connection

If you have Cisco Unity deployed you can use it to achieve the Meet-Me authentication. The attendees call should be transferred via CUC and the User System Transfer Conversation should be used to authenticate the caller (a user is created on CUC). The conversation prompts the caller to sign in to CUC with his CUC ID and PIN and then transfers the call to Meet-Me conference number.

Looks like a kludge? Still it gets the job done.

2. Cisco Unified Contact Center Express (UCCX)

You can use UCCX as an audio front end to Meet-Me conferences. You may find several UCCX scripts around the web which prompt the caller for meeting ID and password and then transfer the call to the MeetMe bridge. Meeting IDs and PINs are set up by UCCX admin.

This works, but since UCCX is used for something that it’s not initially designed for, this workaround isn’t as feature-rich as you users may require and hard to maintain.

3. The "Conference Now" feature of CUCM 11

The "Conference Now" feature is introduced in Cisco UCM v.11 released in the summer of 2015. It's not the replacement for Meet-Me feature, but allows users to create their personal conference rooms protected (optionally) by the access code. The attendee has to call your conference room number, enter the access code and listen to the music until you start the meeting by joining it.

Quite promising feature but the access code stays the same until you change it, so if I participated in your meeting once, I can use it to join the next time even if I wasn’t invited. Also, no scheduler and conference control tool are available.

4. The “Conference” module of “Aurus PhoneUP” suite

The CUCM Meet-Me conferencing solution from Aurus is designed specifically for CUCM conferencing and allows you to:

  • schedule Meet-Me conferences with a web-interface;
  • use the MS Outlook plugin to schedule the meetings from the Outlook calendar;
  • use the same phone number for meetings (the PIN entered is used to define which meeting you're joining);
  • protect meetings with a randomly generated PIN (the PIN is automatically added to the meeting invitation sent to invitees);
  • control the conference with the web-interface – the meeting host can see the list of participants, join a new attendee and disconnect anyone;
  • start the meeting from any phone - without the necessity to use a Cisco IP phone to initiate the meetme bridge;
  • control the resources of the conference bridge.

So, these are 4 options to secure your Meet-Me conferences. Which one works better for you, depends on your business requirements and Cisco products used. Hopefully, this article will help you to evaluate the pros and cons of each option in relation to your environment.

Configuring Cisco Jabber for Android / iOS with a shared line

This article explains how to configure a shared line for Cisco IP phone and Cisco Jabber for mobile (Android or iOS). This will allow your employees to use their gadgets (BYOD) to receive calls made to their Cisco IP phones and make outgoing calls (the smartphone with Cisco Jabber for iOS / Android application installed must be connected to the enterprise Wi-Fi).

Note that this will require additional DLUs (for CUCM 8.x) or enhanced plus licenses (for CUCM 9.x and higher).

Cisco Jabber is supported in CUCM 8.6 and higher.

First, you will need the appropriate COP file (Cisco Options Package) for your gadget.

You can download it from the Cisco website https://software.cisco.com/download/navigator.html?mdfid=278875338&flowid=45928 for the required version of CUCM.

The step by step procedure of CUCM configuration is:

  • download the required COP file and put it on an FTP or SFTP server that is accessible from your CUCM servers,
  • sign in to CUCM Administration page,
  • go to System > Service Parameters,
  • choose your server,
  • select Cisco CallManager (Active),
  • scroll to the Clusterwide Parameters (System - Mobility) section,
  • increase the SIP Dual Mode Alert Timer value to 4500 milliseconds,
  • click Save.

If after increasing the SIP Dual Mode Alert Timer value, incoming calls are still terminated you can increase the SIP Dual Mode Alert Timer value. 4500ms is the lowest recommended value.

1. Create the appropriate SIP Profile

Device > Device Settings > SIP Profile

Create a new SIP profile or copy an existing SIP profile. Enter a suitable name for the new profile, for example, Jabber SIP Profile.

Scroll down and set the following values in the new SIP profile:

  • Timer Register Delta to 30
  • Timer Register Expires to 660
  • Timer Keep Alive Expires to 660
  • Timer Subscribe Expires to 660
  • Timer Subscribe Delta to 15

Save settings.

2. Add the user device

Verify that the device pool to which the Jabber device will be added is associated with a region that includes the support for the G.711 codec.

Follow these steps:

  • Sign in to Cisco Unified Communications Manager Administration.
  • Go to Device > Phone.
  • Click Add New.
  • From the Phone Type drop-down list, select Cisco Dual Mode for iPhone (Cisco Dual Mode for Android - for Samsung).

Click Next.

Enter the parameters of Device-Specific Information:

Enter the DeviceName. The Device Name:

  • For iPhone name must start with TCT.
  • For Android name must start with BOT.
  • Must be in upper case.
  • Can contain up to 15 characters.
  • Can include only the following characters: A to Z, 0 to 9, hyphens (-) or underscore (_).

Select Standard Dual Mode for iPhone (for iPhone) in the Phone Button Template field.

Select Standard Dual Mode for Android (for Android) in the Phone Button Template field.

Configure the following settings in order to prevent confusion for the person the user calls:

  • Media Resource Group List
  • User Hold MOH Audio Source
  • Network Hold MOH Audio Source

Select the desk phone as the primary phone, if the user has a desk phone.

Enter the parameters for Protocol Specific Information, as described below:

In the Device Security Profile drop-down list select Cisco Dual Mode for iPhone - Standard SIP Non-Secure Profile. (Or the same for Android).

In the SIP profile drop-down list select the SIP profile you just created in the Create dedicated SIP profile section.

Note: Select the SIP profile for all Cisco Dual-Mode devices that are running Jabber.

Click Save.

Click Apply Config.

Click [Line n] - Add a new DN.

Enter the phone number (DN) of this device.

Note: This can be a new DN. In this case, a desk phone with the same DN is not required.

Click Save.

Go to the end user page for the user.

Associate Standard Dual Mode device for iPhone (or for Android) that you just created for this user.

Click Save.

Querying CUCM Database from the Command Line

Why?

Some operations on CUCM objects could be made much easier and faster through CUCM database, for example - to get a list of devices, to add several devices to the list of devices controlled by some axl-user, etc.

How?

1. Download CURL for Windows - http://curl.haxx.se/download.html
2. Then any AXL-request can be executed from the command line:
curl.exe -k -u axluser:axlpass -H "Content-type: text/xml;" -H "SOAPAction: CUCM:DB ver=8.5" -d @axlreauest.xml https://ccm9.bcs-it.loc:8443/axl/

where:

a) axluser:axlpass - login and password of the CUCM Application User
b) https://ccm9.somedomain.loc:8443/axl/ - CUCM AXL Service address
c) axlreauest.xml - the file with the request, for example:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">
    <soapenv:Header/>
    <soapenv:Body>
  <ns:executeSQLUpdate sequence="?">
<sql>
insert into applicationuserdevicemap (description, fkdevice, fkapplicationuser, tkuserassociation)
values ('', 'f37738df-222b-473c-813f-7872709ab221', '1abf2126-3339-5946-e755-6d59f368a7a5', 1)
</sql>
  </ns:executeSQLUpdate>
    </soapenv:Body>
</soapenv:Envelope>

Queries to CUCM tables are performed with the executeSQLQuery. Modification of data (insert / delete / update) – with executeSQLUpdate.

What is CUCM DB?

It is actually Informix.

To find out the exact version of the database server you can perform this query:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">
    <soapenv:Header/>
    <soapenv:Body>
  <ns:executeSQLQuery sequence="?">
<sql>
select DBINFO('version', 'full') from systables where tabid=1
</sql>
  </ns:executeSQLQuery>
    </soapenv:Body>
</soapenv:Envelope>

Read more about Informix here: http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp

The structure of the database

1. CUCM 6: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cucm/datadict/6_0_1/dd601.pdf
2. CUCM 7: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cucm/datadict/7_0_1/DD_701.pdf
3. CUCM 8: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cucm/datadict/8_0_1/datadictionary_801.pdf
4. CUCM 9: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cucm/datadict/9_1_1/datadictionary_911.pdf
5. CUCM 10: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cucm/datadict/10_0_1/datadictionary_1001.pdf

Ask Cisco about the structure of the other databases: http://tools.cisco.com/search/results/en/us/get#q=Communications+Manager+Data+Dictionary

Reference

Here's our friend having fun on CUCM SQL quieries: http://www.ucguerrilla.com/2012/03/cucm-sql-queries-series.html

Examples of requests

Get the list of All CUCM devices
select * from device

Get the list of devices controlled by the user (returns identifiers)
select * from applicationuserdevicemap
where fkapplicationuser = 'a59e7a1c-3527-c5e4-89d8-edb3e0c10dab'

Remove a bunch of devices from the “controlled devices” list
delete from applicationuserdevicemap where fkapplicationuser = 'a59e7a1c-3527-c5e4-89d8-edb3e0c10dab'
and fkdevice in (select pkid from device where name like 'zCTIPort%' and name[9,15] > 5565400)

Add a bunch of device to the “controlled devices” list
into applicationuserdevicemap (description, fkdevice, fkapplicationuser, tkuserassociation)
select '', pkid, 'a59e7a1c-3527-c5e4-89d8-edb3e0c10dab', 1 from device where name like 'zCTIPort%' and name[9,15] > 5565402

RIS Service

To test the RIS the "/ realtimeservice / services / RisPort" path should be used in the URL instead of "/ axl".

The example of the RIS-query:

<soapenv:Envelope
     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>

<ns1:SelectCmDevice soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:ns1="http://schemas.cisco.com/ast/soap/">
  <StateInfo xsi:type="xsd:string"/>
  <CmSelectionCriteria href="#id0"/>
</ns1:SelectCmDevice>

<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xsi:type="ns2:CmSelectionCriteria"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:ns2="http://schemas.cisco.com/ast/soap/">

  <MaxReturnedDevices xsi:type="xsd:unsignedInt">200</MaxReturnedDevices>
  <Class xsi:type="xsd:string">>Phone</Class>
  <Model xsi:type="xsd:unsignedInt">255</Model>
  <NodeName xsi:type="xsd:string" xsi:nil="true"/>
  <SelectBy xsi:type="xsd:string">Name</SelectBy>

  <SelectItems soapenc:arrayType="ns2:SelectItem[1]" xsi:type="soapenc:Array">
<item href="#id1"/>
  </SelectItems>

</multiRef>

<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xsi:type="ns3:SelectItem"
  xmlns:ns3="http://schemas.cisco.com/ast/soap/"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

  <Item xsi:type="xsd:string">test</Item>
</multiRef>

    </soapenv:Body>
</soapenv:Envelope>

Cisco’s Conferencing Options Explained

With a wide range of conferencing products offered by Cisco it may be hard to figure out what are the options and what each of them is designed for. This post is going to help you to get a sense of what is happening in the Cisco’s conferencing world.

Audio Conferencing

Cisco UCM has several conferencing features on-board:

  • Ad-Hoc - to escalate the current phone call to audio-conference,
  • Meet-Me – for permanent conferences,
  • ConferenceNow (introduced in CUCM 11) – for personal conference rooms.

All of them are audio only and use either the software conference bridge (CUCM service) or hardware conferencing resources (most often – DSP modules in Cisco ISRs). Hardware DSP modules are required to enable the transcoding feature as the software bridge only supports G711.

Since CUCM is not a conferencing platform, these three options only provide basic conferencing features, but may be enhanced with 3rd party add-ons to CUCM. For example, Aurus PhoneUP operates on top of the CUCM conferencing engine providing extra functionality like:

  • meeting scheduler,
  • PIN and Caller ID security,
  • conference control tools.

But still only audio conferencing is available. If you meetings require web collaboration and/or video you have to deploy additional Cisco products.

Web-conferencing and Collaboration

Cisco’s web-conferencing portfolio is based on the Cisco WebEx platform that provides audio/video conferencing as well as web-collaboration tools – white board, presentations, application sharing, chat and so on.

You can join the WebEx meeting over IP (PC or mobile devices) as well as by dialing the call-in number from any phone.

The WebEx platform is available in cloud (Cisco WebEx Meeting Center) or on-premises (Cisco WebEx Meeting Server).

Similar to Cisco UCM conferencing options, WebEx meetings can be:

  • started instantly,
  • scheduled,
  • always available (Cisco Collaboration Meeting Rooms).

HD-Video Conferencing

Finally, for the best user experience Cisco offers Cisco TelePresence architecture, which provides high-quality HD video conferencing.

The core components of Cisco TelePresence offer are:

  • video-endpoints - desktop, room and immersive,
  • video-conferencing bridges - Cisco TelePresence Serverand obsolete Cisco TelePresence MCU,
  • Cisco Telepresence Conductor - orchestrates the allocation of conferencing resources,
  • Cisco TelePresence Management Suite (TMS) – manages the Cisco TelePresence infrastructure providing engineers with provisioning, meeting control, resource management and meeting scheduling features.

There are also several optional components available from both Cisco and its technology partners like:

  • Cisco TelePresence Recording Server – to record conferences,
  • Cisco Expressway – to allow users outside the firewall to join the meetings,
  • Aurus U-Meet – to improve the meeting scheduling and conference control.

How to Record CUCM (CallManager) Calls

CUCM call recording is one of the most popular topics in the world of Cisco Unified Communications. For companies that deployed Cisco Unified Communications Manager there are several approaches to phone call recording offered by a dozen of Cisco Solution Partners.

Which one to choose and why? Let’s consider briefly.

Call Recording Methods

  • SPAN-based recording (“passive recording”) – is one of the oldest methods of CUCM voice recording. This type of recording software connects to the SPAN (Switched Port Analyzer) port to monitor all network (or VLAN only) traffic and pick out the VoIP packets to store them as audio files.
  • Built-in Bridge recording (“BIB recording”) – is the approach that uses the conference bridge embedded in almost each Cisco IP phone (and Cisco Jabber for Windows as well). With the proper CUCM configuration a Cisco IP phone forks the phone call audio streams to the CUCM recording software that mixes these streams and saves to the audio file.

In the beginning of 2011 Cisco introduced its own recording platform Cisco MediaSense. This solution records audio streams forked by Cisco IP Phones (BIB-recording) or (this is important!) Cisco ISR routers.

Why is it important? Along with Cisco MediaSense Cisco released the new IOS ( Cisco ISR router firmware) that supports the media forking capability. Supplied with this feature, the Cisco gateway can fork the media of conversations to the recording server.

Which leads us to the 3rd method:

  • CUBE recording – the same as BIB-recording, but the media is forked by Cisco CUBE (the software that runs on Cisco ISR router). If Cisco MediaSense can receive and store forked audio streams, why 3rd party recorders cannot?

So, what method to use and which solution to choose for Cisco CallManager recording?

Choosing the Call Recording Approach

Improve the MediaSense user experience with free PhoneUP promo-license which includes MediaSense Gateway module for unlimited number of seats.

Use BIB recording for all endpoints with built-In bridge on board. Without doubts this is the most reliable approach which also provides the more detailed info about a call.

Use CUBE recording for recording the other media (3rd party SIP devices, analogue phones connected with the voice gateway, CTI-ports, etc.) if your Cisco router supports media forking.

Use SPAN in all other cases, for example – when you don’t have a forking CUBE or you need to record internal calls of endpoints without BIB (the voice traffic is not going through the Cisco gateway).

Choosing the Recording Server

If you have to use the SPAN-recording method you are forced to choose a CUCM recording 3rd party solution.

If IP phone built-in bridges and CUBE can fork everything you need to record, then Cisco MediaSense looks like quite a tempting choice. But from the users’ perspective it only provides a very simple “Search and Play” web-interface - a password-protected web page with call recordings list and basic search capabilities. It is enough for small installations, but most of deployments need a 3rd party call recording solution that integrates with Cisco MediaSense and provides the more convenient user interface with additional features like access rights management, advanced search capabilities and so on.

Some of call recording software vendors added the Cisco MediaSense connector to their solutions. This allows using a 3rd party call recording app to manage Cisco MediaSense recordings and provide users with the rich-featured interface.

How to Extend CUCM (CallManager) Features

Cisco Unified Communications Manager (CallManager) is the leading IP PBX in the worldwide market. Only certified professionals can deal with its rich functionality. Nevertheless, dozens of software vendors develop products that empower CUCM (Cisco Unified Communications Manager) functionality with new features.

Aurus, the official Cisco Solution Partner, invites you to learn what new features the Aurus PhoneUP product brings to Cisco IP PBX (Cisco Unified Communications Manager or Cisco BE 6000/7000).

Enterprise Phone Directory for Cisco CallManager

The "Directory" module of the PhoneUP application bundle provides the enterprise phone directory service for employees, and is an alternative to built-in CUCM phone directory. The main differences between the "Directory" module and the out-of-the-box Cisco CallManager directory are:

CUCM"Directory" module
Number of directoriesOneUnlimited number with access control for groups of employees
Integration with external systemsADAD, LDAP, IBM Lotus Notes, CSV, XML, CUCM, SQL database
External contacts supportNoYes
Caller IDInternal numbers onlyAny phone number
Incoming call detailsName / Last Name / CompanyFlexible data that may contain an employee photo
Notification of missed calls via e-mailOnly with UnityYes
DTMF support NoYes
Personal directoriesOne (edited manually or imported from Outlook)Unlimited number of directories synchronized with external sources
Auto-redial featureNoYes


The "Directory" module is integrated with Cisco Jabber. Using the standard contact search field of Cisco Jabber not only you can find an employee, but also search for client, partner and any other contact imported from external datasource. Also, when you get a call from the contact (client for example) stored in the directory Cisco Jabber will show the client's name, status and any other information from the CRM system.

Phone Call Recording (CUCM)

Cisco offers its own solution, Cisco MediaSense for call recording that captures and stores audio, forked by Cisco IP phone bridge or CUBE (Cisco Unified Border Element). But MediaSense is a recording platform that only provides basic features to manage call recordings. Cisco officially recommends using 3rd party solutions developed by technology partners that provide additional functionality.

For example, the "Record" module of PhoneUP can be integrated with Cisco Mediasense to bring you extra-features not implemented in Mediasense:

  • flexible management of user access to call recordings;
  • rich search and filter tools;
  • call recording rules (for example, recording only external calls);
  • IP phone user interface to search and play the call recording;
  • playing the recording into the current phone call;
  • and much more.

Attendant Console

Cisco actively promotes Cisco Jabber, the enterprise collaboration tool. At the same time, some business units need a wider range of call control features including specific ones, for example:

  • top manager assistants need to monitor chief's phone lines and intercept calls during his absence;
  • reception staff and contact center need a visual control of the call queues not to miss client calls or VIP calls that should not be left unanswered;
  • top managers need an intuitive, time-saving interface allowing to perform basic call control actions with easy to use UI supporting drag-n-drop.

In these cases you should pay attention to the "Console" module.

Group paging via Cisco IP phones

Features of Cisco Unified Communications Manager (CUCM) and Cisco IP-phones, as well as API Cisco provides its technology partners, allow to use the IP telephony network for text and audio notifications to employee groups.

Cisco's collaboration product line doesn't include such a solution, and clients need to turn to 3rd party vendors. The "Paging" module of PhoneUP bundle supports both text and audio paging to Cisco IP phones as well as live broadcasting through speakerphones.

Features that improve the security of IP telephony network built on Cisco Unified Communications Manager (CUCM)

Cisco CallManager (CUCM) provides users with the Meet-Me conferencing feature – each conference has its phone number that needs to be dialed to join the meeting. But the "built-in" Meet-Me conferences do not provide the necessary security. Anyone who knows the number of conference room can dial it and join. To avoid this you can use the "Conference" module that works on top of CUCM conferencing feature and protects meetings with PIN.

The "Lock" module is used to lock Cisco IP phone while its owner is away to prevent abuses and frauds. In some ways this is similar to the "Extension Mobility" feature implemented in Cisco Unified Communications Manager, but is designed to improve the security. Unlike Extension Mobility a phone locked with PhoneUP:

  • stays registered to CUCM;
  • can receive incoming calls;
  • is allowed to make outgoing calls to a limited set of directions;
  • denies the access to the personal address book, call history, call recording, etc .;
  • gets locked and unlocked automatically when you log in/out the PC.

XML-services for Cisco IP phones

Cisco Systems provides technology partners with rich capabilities for development of custom XML-applications for Cisco IP phones - with which users can interact via the IP phone keypad and display. The "Inform" and "Hotel" modules of the PhoneUP bundle may be considered as examples of such applications.

Predictive vs Progressive – Outbound Dialers Test Results

We are now beta testing our brand new math algorithm for predictive dialer to be used in Aurus Outbound product. The algorithm was recently developed by our engineers in collaboration with the Institute of Mathematics and the first test results make a killer impression.

Here are some figures…

We performed 3 synthetic tests with the following input parameters:

  • client’s time to answer: varies from 15s to 25s;
  • The success rate (percentage of calls answered by live person): 80%;
  • the number of agents involved in the campaign: 50;
  • the campaign duration: 58 min;
  • call duration range:
    • test 1: 40-60s – to emulate campaigns with short call time, for example address verification, appointment reminders etc,
    • test 2: 60-120s – for campaigns like subscription renewals, mass mailing follow-ups, “welcome calls” and so on,
    • test 3: 500-600s – for sales campaigns, surveys, market research and so on.

Agent Occupancy

The agent occupancy calculated in the tests above:

Predictive vs Progressive – Agent Occupancy

As expected, the agent occupancy in progressive campaigns depends on the average call duration – the more the talk time is the less failed calls influence the total agent utilization. However, when using predictive dialer the agent occupancy is over 90% in all tests.

Abandonment Rate

Another important metric is the call abandonment rate which indicates the percentage of “nuisance” calls – the ones where the client answers but no agent is immediately available to talk to him.

In our tests the abandonment rates are:

Predictive Dialer Abandonment Rates

The highest average abandonment rate is achieved in the 3rd test because of the highest (500-600 sec) and the most spread out (100 sec) call duration.

Having high call duration variance we may get too high abandonment rate which is unacceptable due to regulations like Ofcom and FCC (Federal Communications Commission). This can be illustrated by 2 others tests:

  • the call duration is 400-600 (variance - 200s)
  • the call duration is 400-700 (variance - 300s).
Predictive Dialer Abandonment Rates (high variance)

To avoid this our new predictive algorithm allows to setup the max abandoned rate input parameter. So, when the abandonment rate of the active campaign gets closer to the max value specified, the algorithm reduces the number of calls.

Predictive Dialer in Low-Volume Campaigns

It has been argued that predictive approach is only effective when used in high-volume (30+ agents) and long-lasting campaigns to get enough statistics for proper prediction.

We performed a couple of tests with low-volume campaign parameters and higher variance:

  • the campaign duration: 10 min (in opposite to 58 min in the tests above);
  • the number of agents: 10;
  • call duration:
    • test 1: 60-120 sec
    • test 2: 60-180 sec
Predictive vs Progressive in Low-Volume Campaigns

As we can see the effectiveness of predictive algorithm in low-volume campaigns reduced by 10%, but still it provides extra 10% of agent utilization when comparing to progressive approach.

The new predictive algorithm will be included into the nearest release of Aurus Outbound (Jan 2016), so you’re welcome to try it.

Phone Auto Registration on CUCM

So, phone auto registration on CUCM. The topic is easy and most likely well-known.

A small prehistory. My colleague received a request to connect the phone for the new employee yesterday. The task is easy and repeated several times every day.

In our company auto registration on CUCM is always enabled. Yes, I know that Cisco does not recommend to keep it constantly enabled for security reasons, but so we have decided, because all the sockets in which you can plug the phone are in the closed area and outsiders do not have access to them.

My colleague, taking a new phone out of the box and turning it on to the network, instead of the expected signs 'Your current options' and numbers from the pool for auto registration, saw the following:
Registration Rejected: Security Error.

Then I began to research CUCM logs. And I saw the line in the SDL traces:

AddDevice returns "There are no free autoreg DN in the system free DN between 1010 and 1099".

It means that the auto registration process of CUCM unable to create a new DN within a predetermined range and a predetermined Partition. Why it could not do? Because these DN-s are already in the system! They can be viewed in the section Call Routing -> Directory Number.

The solution of the problem is elementary – to change the range in auto registration settings or remove unnecessary DN-s. Because the auto registration is usually used in order to do not enter the MAC address manually. After auto registration the phone is configured manually.

And now a few words about how to configure the auto registration.

  • Go System -> Enterprise Parameters. Specify which protocol will be used for auto registration in the Enterprise Parameters Configuration section in the Auto Registration Phone Protocol parameter. SCCP is used by default.
  • Create a Partition for auto registration. Theoretically, you don't have to do it, but it would be more correct to create it. Generally Partitions and Calling Search Space is a very powerful tool in CUCM.
  • Configure Device pool (if it’s not configured).
  • Go Device -> Device Settings -> Device Defaults and then specify the default device pool for all used types of phones, for example, the one that is configured previously.
  • Select the server in System -> Cisco Unified CM, on which we enable auto registration. Specify the range of numbers, Partition, and External Phone Number Mask in Auto-registration Information section. The main thing is to disable Auto-registration Disabled on this Cisco Unified Communications Manager checkbox. So it is possible to set up multiple servers for auto registration. It is preferable to specify for them the different ranges of DN.
  • Check CM groups in System -> Cisco Unified CM Groups. Auto registration can be enabled on the one group only! If you want to enable it on the other group, then go to the group settings and select the Auto-registration Cisco Unified Communications Manager Group item.

All appropriate services should be enabled in Cisco Unified Serviceability for auto registration process; i.e. Cisco CallManager at least, on those nodes, on which auto registration is configured.

Now a little bit more information:

  • Do not try to create a DN for auto registration manually in advance! CUCM creates them itself! Otherwise, you will get the same mistake on the phone screen that my colleague got.
  • Auto registration can be configured on multiple servers, but! Only one group of servers may be available for auto registration. If the group consists of several servers with enabled auto registration, then keep in mind that an automatic transition to a different server will not be set if there's no range of DN-s. For example, there are two servers - cucm1 with DN server for auto registration from 1000 to 1049 and cucm2 with DN from 1050 to 1099. If cucm1 will be listed as the primary cucm server, then phones will be registered on it. Once the phone with DN 1049 will be registered, then next phone will receive Reject. To register phones on cucm2, they need to specify it as the primary cucm. Therefore it is better to configure the auto registration on the one server only.
  • If SIP is specified in Enterprise Parameters, as the default protocol for auto registration, when you try to automatically register SCCP-phone, it will start to update firmware on SIP! And it also works backwards - if the SCCP is specified as the default protocol, the SIP phone will update firmware on SCCP. If the phone knows the one protocol only (for example, CP-9951 or DX650 knows SIP only), it will be registered on SIP, even if the default protocol is Skinny.
  • If CUCM cluster is in the mixed mode (a mode that allows to include the encryption of voice traffic), then the auto registration will not work for security reasons.
  • And finally, Cisco Systems recommends using the auto registration only if you need to add less than 100 phones; if you need to add more, then use Bulk Administration Tool. For security reasons it is also not recommended to keep auto registration always enabled, you should enable it only as needed, so Cisco says.

That's all. I hope this article will be useful. If you have any questions, please, write them in the comments.

Implementing Unified Enterprise Directory in Heterogeneous UC Environment

Despite the fact that PhoneUP is designed for Cisco UCM its “Directory” module can be used to provide the unified enterprise phone directory with Caller ID support in heterogeneous multivendor communication infrastructure.

Here is the case study.

The holding with 15+ companies has a multivendor enterprise communications network with IP PBXs of different vendors (Cisco UCM, CME, Siemens, Asterisk etc) connected with SIP trunks:

Managing 15+ local directories were too labour-intensive and did not provide the unified contacts directory available for every employee of the holding.

The solution implemented includes:

  • Cisco Unified Communication Manager which proxies all the calls of the communications network;
  • PhoneUP “Directory” app integrated with new CUCM and all sources of employee details.

So, what are the benefits achieved?

1. Unified always up to date enterprise directory available for everyone.
PhoneUP Directory is synchronized with the employee database of each company. A set of built-in connectors allowed to integrate it with various datasources like AD, CUCM, HR software etc. The public web-interface is available for any employee and provides sort/filter/group features for fast contact search.

2. Caller ID for any IP endpoint.
Integrated with CUCM PhoneUP Directory supplements each call with the Caller ID string which is displayed on any SIP-endpoint with no matter to IP PBX that receives the call.

If you want to know more tech details about the project, contact us and we’ll share our experience with you.

Guide to Integrate Cisco MCU with Skype for Business. Part 3 – CUCM Configuration


The CUCM configuration consists of two parts: creating a trunk to VCS Control and a trunk the VIS.

In CUCM proceed to CM Administration->System->Security->SIP Trunk Security Profile, select "Non Secure SIP Trunk Profile", and click Copy.

SIP Trunk Security Profile Configuration

Enter the name for the new trunk, for example 'SIP Trunk Profile CUCM video', set the Incoming Port to 5065, check 'Accept unsolicited notification' and 'Accept replaces header', and click Save.

SIP Trunk Security Profile Configuration

Now proceed to Device-> Device Settings-> SIP Profile and configure the Standard SIP Profile For Cisco VCS as the screenshot shows. Depending on the CUCM version this profile may have different parameters.

Standard SIP Profile For Cisco VCS

Create a partition for VCS Control: Call Routing->Class of Control->Partition

Partition Information

And for S4B:

Partition Information

Create a Calling Search Space: Call Routing->Class of Control->Calling Search Space:

Calling Search Space

Create a new trunk: Device -> Trunk. Replace 'CUCM IP' with your VCS Control IP address.

After you save the trunk settings, click Reset.
Then proceed to VCS Control Configuration->Zones to create a new zone.
Replace 'CUCMIP' with your CUCM IP address.

Save the form, create a Dial Plan for calling S4B users. In this case, the domain name suffix is used as a pattern. This rule is configured in such way that if a user user1@test.com is dialed, the CUCM Video trunk is used. You can use a regular expression as a pattern.

Configuration->Dial Plans-> Search Rules

The trunk between the CUCM and VCS Control is configured, now configure the trunk between the CUCM and S4B.

Create a new Calling Search Space: Call Routing->Class of Control->Calling Search Space

Calling Search Space

Create a security profile: SIP System->Security->SIP Trunk Security Profile

SIP Trunk Security Profile

Create a SIP Profile: Device->Device Settings->SIP Profile

SIP Profile

SIP Profile

SIP Profile

After you save the form, click Reset.
Create a trunk to VIS: Device->Trunk, replace 'VIS IP' with the VIS IP address

Device Information

Create a pattern for sending calls to the S4B trunk. It is important to specify the IPv4 pattern: you should give the full domain name, for example, domain1.com, and also select the Route Partition and SIP Trunk.

Proceed to Call Routing->SIP Route Pattern and enter your SIP domain

That's it. It's time to test.

Guide to Integrate Cisco MCU with Skype for Business. Part 2 – the VIS role


You'll need a separate server to setup the VIS role. You can use either a VM or a physical server, depending on how many calls you are planning to handle simultaneously.

Launch the setup from the disc image: \Setup\amd64\setup.exe
Once the prerequisites have been installed, the Skype for Business Server Deployment Wizard will be launched. You should select the Install Administrative Tools option.

After the installation you should launch the Skype for Business Topology Builder and download the current topology:

Topology Builder

A new section called Skype for Business 2015 will appear in the Topology Builder. You should proceed to the Video Interop Server pools folder and define a new pool:

On the first screen, enter the domain name of the VIS or the pool (if necessary):

Create a new Video Interop Server pool

Select the Front End server:

Create a new Video Interop Server pool

On the next screen, select the Edge server. Then the trunk configuration wizard will be launched.
Enter the CUCM IP address or FQDN:

Define new Video gateway

If the VIS uses several IP addresses, you can choose a specific one:

Define new Video gateway

On the next screen, set the Listening port to 5060. Keep the TLS protocol (it will be changed later):

Define new Video gateway

In properties of the created VIS, enable TCP protocol:

Edit Properties

And then select the TCP protocol in the VIS properties:

Edit Properties

Publish the topology.

After the topology was successfully published, install the Local Configuration Store, VIS role, request and install the certificates and launch the services. I won't describe these steps in details; they don't have any parameters to configure. After the services are launched, open PowerShell and enter the following command with the trunk name changed:

New-CsVideoTrunkConfiguration -Identity "Service:VideoGateway:trunk name" -GatewaySendsRtcpForActiveCalls $false -GatewaySendsRtcpForCallsOnHold $false -EnableMediaEncryptionForSipOverTls $false

Now the VIS configuration is over. The TechNet guide from Microsoft suggests creating a Dial Plan and normalization rules. This is necessary for E.164 calls, but I'm going to call using the SIP Address.

Guide to Integrate Cisco MCU with Skype for Business. Part 1 – Prerequisites


This set of articles describes how to integrate Cisco MCU with Skype for Business and make available calls from MCU to S4B users. This is a guest post that we found very useful to our audience.

Let's start with the description of the infrastructure.

MCU1-MCUn – multipoint control units – the hardware to host video audio/video conferences. It is responsible for the connection and encoding. The connection means sending video/audio stream from one endpoint to all the others. Encoding means encoding and decoding video/audio stream between the endpoints.

E1-En – video endpoints: desk endpoints, room endpoint, IP phones, software clients.

VCS Control – provides video call and session control, endpoint registration, call routing. VCS stands for Video Control Server. This is a sip-server and a controller for H.323 zones. Also used for integration with third-party applications: IP PBX, Microsoft OCS, Lync 2010, Lync 2013 (an additional license is required). B2BUA for S4B support hasn't been announced yet.

VCS Express Way – server to connect with external video endpoints. It helps the remote clients to connect from outside the firewall.

CUCM – Call Manager – the Cisco IP PBX.

ME1 – Lync 2013 mediation server used for integration with third-party telephony.

Edge1 – Lync 2013 edge server used for connecting remote clients.

FE1 – front end Lync server used for registering clients, exchanging presence statuses and messages, creating audio and video conferences.

Ei and Li – Cisco and Lync clients respectively on the internet.

VCS Control supports B2BUA role for connecting to a Lync 2013 front end server, but the separate Microsoft Interoperability option key is required. It's also possible to install the Cisco CUCILync plug-in on the Lync clients, but in our case this won't be convenient, and separate licenses are also required.

In April 2015, Microsoft released the next Lync version called Skype for Business. It has the new Video Interop Server role that enables integrating third-party videoconferencing systems with S4B users. Jeff Schertz gives a very detailed description of the new topologies in his blog. Microsoft only supports integration with CUCM starting from the version 10.5, VCS Control support was not announced. MCU and Cisco Telepresence Server support wasn't announced as well, only calls from endpoints to S4B subscribers are supported. The endpoints should be registered on CUCM, and the MCU isn't actually used in this scenario. The list of endpoints is also very limited:

  • Cisco TelePresence Codecs (C40, C60, C90)
  • Cisco TelePresence MX Series (MX200, MX300)
  • Cisco TelePresence EX Series (EX60, EX90)
  • Cisco TelePresence SX Series (SX20)

In our case, the videoconferencing system is one of the crucial business software applications, and in addition to room endpoints we need other clients to connect to meetings.

We have decided not to upgrade all the Lync servers, but to upgrade the topology only and to add the VIS role. The Cisco-S4B topology would look as follows:

The only difference with the previous topology was the VIS role with the trunk to CUCM.

The basic integration aspects are the following:

  • only the calls from MCU to S4B are supported, not the other way around,
  • in Lync/S4B topology a separate server has to be deployed for the VIS,
  • trusted certificates are not required,
  • you won't be able to create a conference with an MCU participant on the S4B side; the meeting has to hosted on the MCU,
  • an S4B user won't be able to share the desktop send documents,
  • the CUCM version should be 10.5 or higher.

CUCM On-Board Conferencing Options Overview and Restrictions

Cisco Unified Communications Manager has several native conferencing options. All of them are quite simple, “getting started” implementations. If you need more, you have to switch to one of full-featured conferencing platform described, for example, here, on Cisco’s website.

But in this post we’re going to review only on-board options shipped with CUCM.

Ad-Hoc Conference

Ad-hoc (also referred to as “instant”) conference is an impromptu conference that is not scheduled before. A point-to-point call may be escalated to an ad-hoc conference using Cisco IP phone, Cisco Jabber, or some 3rd party CTI application like attendant console.

The originator of the conference may add / remove participants, no other conference control features are available.

Meet-Me Conference

Meet-Me (also referred to as “permanent”) conferencing suggests that a range of directory numbers are allocated for exclusive use of the conference. The meet-me conference begins when the host connects. After that anyone who calls the conference number joins the conference.

Limitations:

  • the host must use a Cisco endpoint to start the conference,
  • no scheduling tool is available,
  • no authentication is available ,
  • no conference control options.

Conference Now Feature

The Conference Now feature is available on CUCM 11 and higher and is going to replace the Meet-Me option. It allows user to create their personal meeting rooms (with DN associated) protected with PIN. Anyone who calls the host’s meeting number is asked for the PIN to join the conference. The conference starts when the host joins the meeting, till that everyone receive MOH (Music On Hold) provided by basic IVR implemented in CUCM 11.

Limitations:

  • no scheduling tool,
  • the PIN is managed by host and is not generated automatically,
  • no participants list is available for the host,
  • no conference control options.

Conference Bridges

All CUCM conferencing options use the conference bridge configured in CUCM.

Software conference bridge

The CUCM software conference bridge is available out of the box and only supports G.711 codec (ALaw & ULaw). If there is a codec mismatch between the calling device and the software conference bridge, a transcoder is needed.

The software conference bridge can handle up to 128 audio streams (48 if the Cisco IP Voice Media Streaming Application service runs on the same server as the Cisco CallManager service) and supports max 100 conferences per CUCM server.

Hardware conference bridges

To obtain the transcoding feature and increase the capacity of conferencing resources you need to switch to hardware conference bridge.

For example, Cisco 1700, Cisco 2600, Cisco 2600XM, Cisco 2800, Cisco 3600, Cisco 3700, and Cisco 3800 series voice gateway routers (DSP modules are required) provide conferencing and transcoding capabilities for Cisco Unified Communications Manager.

Cisco Jabber 11 – “And I admit, it's getting better…”

We suppose our readers don’t need to be told what Cisco Jabber is. This article is about the corporate environment it was introduced to, where it is extremely important to support TelePresence devices, work with VDI, let mobile users stay online, quickly create complicated meetings and conferences. And also to conform to a whole lot of rules and security policies.

In June 2015, Cisco Collaboration 11 was released, and Jabber, as a part of it, has changed for the better and acquired a lot of helpful features.

In brief:

  • Support of all main desktop and mobile operating systems except Linux;
  • Interface unification even for Cisco TelePresence devices;
  • Safe access for mobile users (an encrypted channel is created after Jabber launches);
  • A p2p analogue for VDI stations without excessive transfers from terminal to server;
  • Simple guest access for browser-only users.
Now let’s go into more details.

Supported devices

Cisco made Jabber client suitable almost for every device: Windows, OS X, iOS, Android, and also browsers and VDI thin clients. There’s no Linux and Windows Phone support yet. This variety provides maximum accessibility for users and allows them to use their favorite device for communications.

Licensing for a heterogeneous device park becomes easier and more intelligible.

After transition from Personal Communicator (Jabber’s predecessor) to Jabber the application design has become almost identical on all devices. You can see the same interface even on TelePresence terminals (personal and group ones) which provide high communication quality. That helps users to adjust and start using the services.

The features available in Cisco Jabber for Windows are:

  • Presence – real-time availability of employees within and outside the enterprise network
  • Instant messaging – including p2p chat, group chat, chat rooms
  • Phonebook – contains only AD and MS Outlook contacts, but you can integrate Cisco Jabber with CRM and any enterprise DB to make other contacts available in Jabber phonebook
  • Desktop sharing – the whole screen, not the certain app only
  • Conferencing – voice and web meetings
  • Integrated video – with media escalation
  • Security features – encryption, single sign-on, enterprise policy management

Mobile clients provide a bit less functionality.

UC outside the office

Only two or three years ago it wasn’t easy to provide mobile and remote employees with access to corporate communication services. There has always been a choice between using VPN connections and restricting functionality. It may seem easy to build a VPN tunnel, but in reality it created a lot of obstacles and issues: organizational (VPN and UC are usually managed by different departments), technical (encryption matters) and user problems. The last ones could nullify all the efforts to overcome the others, because it was simply unhandy to establish a VPN connection every time you leave your office. In any case, the solution turned out to be expensive and complicated.

After the Mobile and Remote Access (MRA) function was created, everything got better. The function name speaks for itself: it allows providing mobile and remote users with a secure access to UC services. The users can use Jabber anywhere without thinking about their location or changing any settings. All they have to do is to launch the application, and Jabber will find the required server by itself. What makes this function even more attractive is that it is completely free. Software for the edge servers that provide Jabber functioning outside a corporate network costs $0, and Jabber clients don’t require a license for internal calls. Perhaps this is one of the most useful and important functions, that is implemented today in every project where Jabber is used.

Guest access

In the end of 2013 Jabber Guest solution was introduced. It allows to simply send a link to a remote party or place it online. The remote subscriber can connect from a browser or a mobile device using this link, and an employee can use the accustomed means of communication. This function is very helpful for HR, communicating with natural persons and small companies, or recruiting experts from the outside.

Cloud and VDI

Jabber can be used together with Cisco WebEx cloud services and newly created Collaboration Meeting Rooms (CMR) Cloud service which also is based on WebEx Cloud. Joint usage of Jabber and these services provides an opportunity to use the client to take part in cloud arrangements and also initiate them with a single click. The last version of Jabber introduced an opportunity to start a WebEx or CMR session directly from the chat window without planning, inviting participants, etc.

There used to be a problem with VDI, because a workstation with an operating system would be situated in a data center, and the peripheral devices (monitor, web-camera, microphone, speakers) in the office would be connected to a thin client. This caused a significant delay in voice and video transmission to/from the data center. Standard video conferencing and UC applications can’t work in these circumstances. However, a special intermediate for Jabber, installed on a thin client, allows to overcome this limitation. Audio and video data is being transmitted directly between the thin client and a remote subscriber, avoiding the workstation in data center.

Cisco IP Phones End-of-Sale Matrix

For the past several years Cisco experimented a lot with its IP phone portfolio. There have been several IP phone series launched after the good old 7900 and some of them only lived for a couple of years.

BTW, even in the movies of 2015 Cisco still presents 7900 (not 7800 or 8800) IP phone, check "Spy" by Paul Feig.

So It was quite difficult to follow Cisco’s brave marketing guys and to puzzle out what to sell and what is too late to sell :-). It is finally settled. Cisco’s IP phone portfolio is:

  • 7800 series – cost-effective devices for common purposes,
  • 8800 series – HD video phones for the top brass.

I have not listed:

  • 3905 – I doubt that this low-cost SIP phone without XML-services, JTAPI and AXL-control is a truly Cisco product,
  • Cisco 8945, 9951, 9971 - the end of sale announcement has not arrived yet, but I think it is a matter of several months (you're welcome to argue with me:),
  • DX650 – though this device is a phone-looking one, still it’s a representative of the DX series that belongs to the collaboration species.

Forget all other IP phones, they're no longer available:

Cisco IP Phone ModelEnd-of-Sale Date
Cisco Unified SIP Phone 3900 Series
Cisco Unified SIP Phone 3905None Announced
Cisco Unified SIP Phone 3911July 23, 2010
Cisco Unified SIP Phone 3951July 23, 2010
Cisco Unified IP Phone 6900 Series
Cisco Unified IP Phone 6911July 30, 2014
Cisco Unified IP Phone 6921July 30, 2014
Cisco Unified IP Phone 6941July 30, 2014
Cisco Unified IP Phone 6945July 30, 2014
Cisco Unified IP Phone 6961July 30, 2014
Cisco Unified IP Phone 7900 Series
Cisco Unified IP Phones 7902November 29, 2006
Cisco Unified IP Phones 7905May 22, 2006
Cisco Unified IP Phones 7906July 23, 2010
Cisco Unified IP Phones 7911February 6, 2012
Cisco Unified IP Phones 7912May 27, 2007
Cisco Unified IP Phones 7914March 31, 2009
Cisco Unified IP Phones 7915February 1, 2016
Cisco Unified IP Phones 7920June 14, 2007
Cisco Unified IP Phones 7921January 30, 2012
Cisco Unified IP Phones 7926February 1, 2016
Cisco Unified IP Phones 7931July 30, 2014
Cisco Unified IP Phones 7935November 14, 2004
Cisco Unified IP Phones 7936July 23, 2010
Cisco Unified IP Phones 7937March 31, 2014
Cisco Unified IP Phones 7940July 23, 2010
Cisco Unified IP Phones 7941January 19, 2010
Cisco Unified IP Phones 7942February 1, 2016
Cisco Unified IP Phones 7960July 23, 2010
Cisco Unified IP Phones 7961August 1, 2008
Cisco Unified IP Phones 7962February 1, 2016
Cisco Unified IP Phones 7970August 1, 2008
Cisco Unified IP Phones 7971August 1, 2008
Cisco Unified IP Phones 7985September 24, 2010
Cisco Unified IP Phone 8900 Series
Cisco Unified IP Phone 8941May 31, 2014
Cisco Unified IP Phone 8945None Announced
Cisco Unified IP Phone 8961July 9, 2015
Cisco Unified IP Phone 9900 Series
Cisco Unified IP Phone 9951None Announced
Cisco Unified IP Phone 9971None Announced

Working with Cisco Unified RTMT

Cisco Unified RTMT (Real-Time Monitoring Tool) is used to monitor various CUCM parameters, Performance Counters, and to collect Traces.

Performance Counters contain simple information on the system and devices on the system, such as number of registered phones, number of active calls, number of available conference bridge resources etc.

RTMT requires a PC running Windows or Linux and uses HTTPS and TCP to monitor the Device Status, System Perfomance, Device discovery, CTI Applications in the CUCM cluster.

Not only the CUCM admin can work with RTMT: it’s enough to include any user in the standard Standard CCM Server Monitoring group.

RTMT offers a wide range of features but we won’t review all of them here. In everyday life we need a much smaller number of counters which we will list in the next section.

Useful Performance Counters

CountersPathDescription

General information on the system:

  • Memory Usage
  • CPU Usage
  • HDD Usage

System > System summaryThese parameters give an overview of the system status
The processes running on the serverSystem > Server > ProcessTo understand which process causes the high CP load

General information on CUCM:

  • Registered Phones
  • Call InProgress
  • Active MGCP Ports

Call Manager > Call Manager SummaryThe abrupt changes of these parameters may be a sign of some problem

Call processing activity:

  • Call Activity
  • Gateway Activity
  • Trunk Activity
  • Sip Activity

Call manager > Call ProcessThese graphs give an idea about the total number of calls and the gateway activity

Device information:

  • Phone
  • Gateway Devices
  • H.323 Devices
  • Media Resources
  • SIP Trunk

Call Manager > Device

The very useful information that provides and the detailed parameters of each device.


For example – device models, firmware versions, IP addresses, user association etc.
Conference Bridge resources

Stand Alone Cluster -> node name -> Cisco HW Conference Bridge Device

Stand Alone Cluster -> node name -> Cisco SW Conference Bridge Device

  • HWConferenceActive – the number of active conferences
  • ResourceActive – the number conference participants
  • ResourceAvailable - the number of available resources

Gives an idea about the Conference Bridge activity, but not for each conference

Alerts

RTMT supports Alerts, which are triggered under certain conditions.

RTMT includes the set of pre-installed Alerts (System > Tools > Alert > Alert Central) which provide a great benefit in terms of a quick inspection of the system.

If you see "alarm" in this list it certainly makes sense to check what caused them.

In addition to pre-installed ones, you can create your own Custom Alerts.

Let's create the Alert, which is triggered when the resources of the Hardware Conference Bridge are over. This one is useful to monitor the availability of CUCM conferencing features Meet-Me, Ad-Hoc and Conference Now (implemented in CUCM 11).

We will use the ResourceAvailable Counter mentioned in the table above.

So, to create Alert:

1. Open the appropriate counter, select it, then right-click on it and choose Set Alert / Properties
2. Select the alarm level and enter its description
3. Set the triggering condition - "Under 1".
4. The next screen allows to set up the Alert frequency. In order to keep e-mail box from being hammered we will choose no more than once per hour.
5. Next step is to configure the e-mail address for notification
6. Do not forget to configure e-mail server properties:
System > Tools > Alert > Config Email Server

That’s it.

Syslog Viewer

Syslog Viewer is the analogue of Windows Event Viewer. If something is wrong with the system it’s one of the first interface to look at.

System > Tools > Syslog Viewer

Syslog Viewer allows you to view the messages from the following logs:

  • System Logs - everything that concerns hardware and OS.
  • Application Logs – CUCM logs
  • Security Logs - user login attempts.

Trace & Log Central

Trace & Log Central collects and displays various traces and log files:

  • CUCM SDL and SDI traces
  • SDI (System Diagnostic Interface) are used for log analysis
  • SDL (Signal Distribution Layer) are mainly used when opening cases in the Cisco Technical Assistance Center (TAC).
  • CUCM application logs (for example, BAT logs)
  • System logs

Trace & Log Central works in the following modes:

  • Remote Browse - displays files directly from remote servers.
  • Collect Files – collects traces and downloads them to the PC with RTMT installed.
  • Query wizard – work with trace files containing the query string.
  • Schedule Collection - scheduled trace collection
  • Local Browse - view traces collected on the local drive
  • Collect Erash Dump
  • Real time Trace - trace view in the real-time

The Trace & Log Central can collect tons of data. You can use the following tools to simplify the SDI files analysis.

Performance Monitor and Data Logging

As already mentioned, Performance monitor contains a lot of different counters.

We have already learned to configure Alert to be triggered on the certain Counter by the right-clicking on the counter.

In addition, we can setup the counter logging – right click on the counter and select

  • Start Counter Logging

Once the logging is configured you’ll be able to view logs with Performance Log Viewer.


How We Improved Our CUCM (CallManager) Phone Directory

Hi, I’m Kirill Basikhin, international key account manager from Aurus. Here, at Aurus, we develop a bundle of applications for Cisco Unified Communications Manager. And, yes, we do use our products, because they help us work faster, smarter and easily.

This post is not going to be a promotional one, I’ll just describe the way we setup the enterprise CUCM directory with our product. Each paragraph below is a real-life daily use-case.

The important feature used in all cases below is that our phone directory is integrated with CRM, so every contact I create in CRM automatically appears in the enterprise CUCM directory with phone numbers, manager (me or one of my colleagues) name, city, products purchased (or interested in).

Incoming Calls from my Clients Get Routed Directly to Me

We’ve got UCCX installed that receives any incoming call. A simple UCCX script sends the caller’s phone number to the CUCM directory software (PhoneUP Directory). The phone directory searches its database for the client number provided and sends the response to UCCX containing the phone number of manager (me), responsible for this client. UCCX then just forwards the call to me.

So, every time my client calls Aurus he reaches me automatically. Cool? Yep!

What if the Caller is Unknown?

If UCCX does not receive the phone number to transfer the call to, it routes it to the reception (actually one of the marketing managers, we’re not a huge company). The girl receiving the incoming call gets a CAD (yeh, we still use the old-school Cisco Agent Desktop) popup with the list of employees to whom calls from the calling party were transferred most often (PhoneUP Operator).

So when my aunt from Germany calls Aurus again (she doesn’t call my mobile, its expensive) the girl receiving the call gets a list with my name only (cause my aunt called previously and asked for me). Then she just clicks my name to forward the call.

How do I Handle Calls from my Clients

When the call reaches me, my Cisco IP phone shows the client name, the city and the product(s) purchased (remember, the CUCM phone directory is synchronized with our CRM).

So I can greet the client, saying “Hi John, Kirill speaking. I can’t believe you finally tested PhoneUP!”.

After all I’m a sales man and every smile on my client’s face will finally turn to another penny in my pocket.

How do I Call my Client

Our Cisco UCM phone directory provides the search interface on Cisco IP phone, but typing the client name using the IP phone keypad makes me wanna die (though several my clients do use it!). I usually make calls in 2 ways:

  • when I work with client card in CRM, I just click the client’s phone number to call him; this is the simple click2call feature but what is REALLY useful is that our click2call supports DTMF – even if the phone number is stored unformatted (like “+1 (408) 526-7209 ext.. 4576”) the CUCM directory software calls the PSTN number, waits for the answer and then dials the DTMF;
  • when I just want to call some person, I push “Ctrl-Q” to activate the “PhoneUP Agent” and use it to search the contact and make a call, the DTMF also works.

My colleagues use Cisco Jabber and its phonebook is also integrated with CRM, but I’m old and I use the old-fashioned IM client.

How do I Lunch


When I’m quitting for the lunch, I just lock my PC. What happens then is that my Cisco IP phone automatically locks its keypad (PhoneUP Lock feature) and activates the “Forward All” mode.

So, all calls from my clients are forwarded to my mobile.

When back to my workplace I unlock my PC and my Cisco IP phone goes to the normal mode.

How do I Manage Missed Calls

At the end of working day I do not setup the Forward All, cause most of my clients do not bother themselves about the time shift.

When I’m back to the office the next day, my Cisco IP phone shows the list of missed calls (XML-service provided by PhoneUP Directory).

What is important, this list contains names of clients called. So I know who called me and I can check the CRM before calling back.

How to Improve the Enterprise Security with Cisco UC Applications

Secured Meet-Me conferences

The Meet-Me conferencing functionality is provided by Cisco Unified Communications Manager in such a way that it's enough to dial-in to the conference to join it. Unless you deployed the latest CUCM v11 you can’t secure your Meet-Me conferences.

The "Conference" module is developed to close this gap protecting the Meet-Me conferences:

  • by PIN – you need to know the PIN to join the meeting;
  • or by Caller ID – your phone number must be included into the predefined group for you to join the meeting.

In addition the "Conference" module provides the meeting scheduler functionality (web-calendar or MS Outlook plugin) and conference control tool.

Locking Cisco IP phone

The "Lock" module restricts access to IP phone functions while his owner is away. The phone may be locked either manually or automatically when user's PC is locked or turned off. When locked, the IP phone:

  • denies the access to IP phone services (personal phone directory, information services, calls history and the list of missed calls, recorded calls archive and etc.);
  • allows only emergency calls to be made;
  • forwards all incoming calls to user's mobile.

To unlock the IP phone its owner must unlock the PC or enter the PIN using the IP phone keypad.

Extension Mobility automatic authentication

Mobile employees working in different locations use the Extension Mobility functionality for authentication on IP phones and loading their profile (phone number, settings, etc.). To authenticate the employee has to enter his User ID and PIN, which he should always remember.

A more convenient way is to use automatic authentication - when an employee logs in to PC his Extension Mobility profile is loaded automatically to the IP phone associated with this working place. When an employee leaves this location the current configuration of the device is replaced by the logout profile.

Special call control features

The "Forced Connection" feature enables top managers to get in touch with an employee even when the employee's phone is busy. When activated, the current call is put on hold and the employee gets connected to his manager.

"Monitor", "Whisper", and "Barge" features are useful, for example, in the commercial department:

  • the team supervisor can silently listen to agents' calls with customers or others to ensure the high quality of service or sales is delivered;
  • using the "Whisper" feature he is able to privately coach the agent without the customer hearing what he says;
  • when monitoring the call a supervisor may join it to switch the call to a conference, where all three parties can hear each other.

Cisco IP Phone: Lacking Features

Employee, for the first time getting Cisco IP Phone, discovers all the delights of the enterprise IP telephony described in numerous articles by Cisco Systems and its partners.

Indeed, the high call quality, audio / video conferencing tools and other collaboration services (voice mail, presence indication) make enterprise communications more convenient and efficient.

However, your Cisco IP phone can be supplemented with additional features Cisco doesn't provide, which will increase the ROI of your new enterprise communications network.

Let's start.

Phone directory and Caller ID info

The alternative solution to the out of the box CUCM phone directory allows you to synchronize all company contacts (employees, clients, partners and so on) into the one, always up to date enterprise directory, that provides users with fast search, Caller ID, click to call, call control and other features.

When receiving an incoming call the display of your Cisco IP phone shows the detailed Caller ID info even when the call has come from mobile, PSTN etc.

The list of missed calls contains not just phone numbers, but also the caller info – contact or company name. This allows user to identify the really important missed calls and call them back on time.

These features of Cisco IP phone are provided by the "Directory" module of the PhoneUP bundle.

Cisco IP phone for enterprise paging

The "Paging" module allows using Cisco IP phones for group paging to enterprise employees.

The ability to send text and audio messages to the group of Cisco IP phones allows you to use your IP telephony network for employee notifications. Unlike email and IM, the message sent to IP phone won't be overlooked due to the sound alarm played by the IP phone.

Cisco IP phones can also be used for emergency announcements. With just one button you can put all phone calls on hold and broadcast your message through speakerphones with the max volume.

Pre-recorded text and audio messages can be sent manually or on schedule. The paging may also be triggered by a third-party system (for example alarm system, manufacturing process monitoring tool etc) no notify the group of employees about the incident occurred.

Special call control features

The "Priority" module of the PhoneUP suite provides several special features for managers.

The Forced Connection feature allows top manager to contact any employee even if his phone line is busy – the current call is put on hold and the employee gets connected to the manager.

Silent Monitoring is another useful feature, which helps evaluating the quality of customer service. The supervisors' interface shows the client names sales managers are talking to and allows to listen to any conversation.

Using the Whisper feature the supervisor is able to connect to any call and talk to the agent without making the client aware of the supervisors' presence. With the Barge feature the supervisor is able to add himself to the sales managers' call.

Images from video cameras on the Cisco IP phone display

Even if your Cisco IP phone doesn't support video, its display can still show video frames grabbed from the camera. For example, with just one push of a button the security officer will see who is at the door before opening it, any employee will access the video from the parking lot, the technologist will monitor the manufacturing area from anywhere in the enterprise, etc.

Frequently used info on the Cisco IP phone display

Cisco IP phones are able to display any data from the enterprise software in the real-time mode. For example:

  • exchange rates – for bank cahier,
  • KPI – for top managers,
  • agent performance data – for contact center supervisor.

The benefit of using the IP phone for this purpose is that you only need to push one button to see the data without launching the software and navigating to the certain interface.

This opportunity is provided by the "Inform" module of the PhoneUP bundle.

Cisco IP Phone as an interface to enterprise software

In some cases IP phone can be used to provide the user interface to 3rd party enterprise app. This is useful when the PC is unavailable, but the user interface is simple enough to be run on the IP phone display.

For example, employees can use Cisco IP phone to maintain records of the working time - by pressing a few buttons the employee registers the start / end of the work, and the entered data is transferred to the enterprise software.

Another example - the employee who issues goods needs to enter the order number to verify its status and configuration, confirm the issuance and print necessary documents – these operations don't require a PC, the IP phone with a large display will be enough.

System Requirements

The PhoneUP bundle integrates with Cisco Unified Communications Manager (CallManager) providing Cisco IP phones with all the features described above.

Supported IP PBX and IP phones:

IP-PBX Cisco:

  • Cisco Unified Communications Manager (CUCM) 6.X, 7.X, 8.X, 9.X,10.X;
  • Cisco BE 6000 / 7000.

Cisco IP phones and other endpoints:

  • Cisco 6900 Series (6911, 6921, 6941, 6945, 6961);
  • Cisco 7800 Series (7821, 7841, 7861);
  • Cisco 7900 Series (7906, 7911, 7914, 7915, 7916, 7921, 7925, 7931, 7937, 7941, 7942, 7945, 7961, 7962, 7965, 7970, 7971, 7975);
  • Cisco 8900 Series (8941, 8945, 8961);
  • Cisco 9900 Series (Cisco Unified IP Phone 9971, Cisco Unified IP Phone 9951);
  • Cisco IP Communicator;
  • Cisco Jabber for Windows.

CUCM Troubleshooting: Availability Issues

< In this article we discuss some issues of the CUCM environment troubleshooting.

This time we will consider the aspects of CUCM availability.

So, your CUCM responds slowly or doesn’t respond at all. Why?

CUCM does not respond to endpoint requests

When the Primary CUCM slows down or even dies IP phones and/or gateways lose the registration. When taking the receiver off the hook the tone appears with delay or does not appear at all.

The most likely reasons for this are:

  • The CUCM server hung on the OS level and requires a reboot.
  • The Cisco Call Manager service hung. Also, there may be problems with the Cisco TFTP Server service responsible for the phone configuration loading. Check the status of both services (Serviceability > Tools > Control Center> Feature Services). Causes of the problems can be found in System logs .
  • High CPU load of the CUCM server. Check the CPU Usage to understand what process should be blamed.
  • A memory leak - you need to check the memory usage.

CUCM System logs

CUCM is an appliance based on Linux, and it does not provide a regular access to a full Linux console, therefore System log can only be viewed through RTMT.

We need a Syslog Viewer - the analogue of Windows Event Viewer. If something is wrong with the system it’s one of the first interfaces to look at.

System > Tools > Syslog Viewer

Syslog Viewer allows you to view the messages from the following logs:

  • System Logs – everything that concerns hardware and OS
  • Application Logs – CUCM logs
  • Security Logs – user login attempts etc.

Read more about working with RTMT here: Working with Cisco Unified RTMT

If you have problems with the Cisco Call Manager service, then the following messages can appear.

When the connection with the service is lost:

The Cisco CallManager service terminated unexpectedly. It has done this one time. The following corrective action will be taken in 60000 ms. Restart the service.

Timeout 3000 milliseconds waiting for Cisco CallManager service to connect.

If you have problems with the launch:

The service did not respond to the start or control request in a timely fashion.

High CPU

Cisco Call Manager service may stop responding because of a system resources (processor or memory) overloading.

Most often it occurs at a high CPU load.

We can monitor the CPU load in two ways:

  • CPU monitoring in CLI.
    The average CPU load can be seen by executing:
    show stats io
    show perf query class Processor

    CPU load by processes:
    show perf query counter Process "% CPU Time"
    show process load
  • CPU monitoring in RTMT
    This can be checked in the general information on the system:
    System > System summary

CUCM Administration page is not displayed

If the CUCM admin page (https:///ccmadmin) does not open:

  • First try to clear the browser’s cache
  • Check the network settings, try to ping the CUCM IP
  • If the CUCM is accessed by name, check the DNS, and whether the name resolves correctly
  • Make sure the Cisco Tomcat service is running
  • Check Firewall and Access Lists settings
  • Check the CPU load on the CUCM node

Checking Cisco Tomcat service

Use CLI to check the status of the service:

utils service list

Launch it if necessary:

utils service start Cisco Tomcat

Slow Server response

The slow server response may cause: the delay to receive the dial tone, delays in opening the admin/user web-interfaces, delays in dialing.

The possible reasons are:

  • The CUCM server and the switch have different Speed / Duplex.
    Check the settings on the server and the switch. Try to set Auto for both.
  • High CPU load or Memory leak. Check the CPU usage.
  • Also, the wrong Dial plan may cause delays in dialing.

Network Settings

The CUCM network settings may be checked with the CLI command:

show network eth0

You can change the value of the duplex or speed in CUCM by executing:

set network nic eth0

To view the switch network settings execute:

show interface fa 1/0