Introduction
This document describes how to troubleshoot Contact Center Enterprise (CCE) issues when any other service on Windows is utilizing an ICM port.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Cisco Unified Contact Center Enterprise (UCCE)
- Cisco Package Contact Center Enterprise (PCCE)
Components Used
The information in this document is based on these software and hardware versions:
Unified Contact Center Enterprise Version 12.6(1)
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Problem
There are times when you have to restart the ICM server for troubleshooting or maintenance windows and the components do not start properly.
The logs reveal other applications in Windows that use the ports that ICM needs.
This document provides troubleshooting tips that identify which process is interfering with the required port.
Solution
1) Examine the logs for the specific process that is having problems. The Tomcat process is used here, but the same applies to any other service.
When Tomcat initializes, it loads a port but there are times when Tomcat keeps crashing (as seen in the Tomcat Catalina logs).
0-Jan-2023 14:57:34.100 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [474902] milliseconds
20-Jan-2023 14:57:34.100 SEVERE [main] org.apache.catalina.core.StandardServer.await Failed to create server shutdown socket on address [localhost] and port [8005] (base port [8005] and offset [0])
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
As you can see from the trace, it points that the localhost at port 8005 address is already in use
2) Verify that the Port is Listening and if there is a Process ID already assigned by running the netstat command:
C:\netstat -ano | findstr <PORT>
Replace <PORT> with the port previously found on the traces or, if it is an specific ICM port, refer to the UCCE Port Utilization Guide depending on the version.
From the output you can determine that the Port 8005 in our example is Listening and the Process ID assigned is 3856.
3) Determine what process is using the port by using the process ID found on step 2 and run the tasklist command:
C:\>tasklist |findstr <PROCESS ID>
Replace Process ID with the number found on step 2.
This process is using the Port. Tomcat is using the Process ID 3856 which is also using the Port 8005.
4) Depending on the results of which process is using the port, you can use Microsoft Process Explorer to check what process or services are using that port