# Troubleshooting UCCE peripheral gateways and CTI Server going offline

Canonical: https://warmtransfer.net/knowledge/ucce-peripheral-gateway-troubleshooting

Last verified: 2026-10-02

A Unified CCE Peripheral Gateway (PG) talks to the Router using Device Management Protocol, and its OPC process runs in lock-step with its duplex sibling through MDS[^30][^25]. Cisco identifies mismatched PG port assignments between the two servers of a duplex pair as a typical cause of a PG remaining isolated-enabled, and Finesse treats the CTI connection as lost when it misses 3 consecutive CTI Server heartbeats or its socket to the CTI Server fails[^18][^8].

## How the PG and CTI Server fit together

The PG talks to the Router (central controller) using Device Management Protocol, and messages to OPC pass through the MDS queue to keep the duplex sides in lock-step[^30]. The OPC computes and maintains agent state on the PG and reports it to the Router[^25]. The PIM is not a lock-step process and shares no data between sides, so for each peripheral either the side A or the side B PIM is active[^42]. The JTAPI Gateway connects to the Unified CM CTI Manager and links the PG to the Unified CM cluster[^19]. Only the side A or the side B CTI Server is active at a time, never both[^1].

An Agent PG connects to the Unified CM cluster through a single CTI Manager, so if that CTI Manager fails the PG cannot talk to the cluster[^34]. Cisco states that this is why it designs Agent PGs as a redundant pair[^34]. Agent PG side A signs in to the primary CTI Manager, and Agent PG side B signs in to the secondary CTI Manager on a different subscriber[^37]. Only one PG of the pair registers and monitors phones and CTI route points[^57]. The redundant PG runs in hot standby and signs in to its CTI Manager only to initialise the interface for failover[^57].

## Heartbeats and failure states

Duplexed UCCE sides exchange private-network heartbeats every 100 ms in both directions[^46]. If either side misses heartbeats for 5 times the heartbeat period, it assumes the private link or the peer has failed[^47]. Public-network heartbeats between each PG and the Central Controller run every 400 ms in both directions[^54].

When the private network fails, a Router that has device majority goes to the isolated-enabled state and keeps handling traffic[^17]. A Router without device majority goes to the isolated-disabled state and stops processing traffic[^16]. During a private network failure, the pair-disabled Router side tells its enabled PGs to contact the other Router over the public network to test that side's status[^58]. When the public path to one Router is lost, PGs realign their data stream to their local Router, which forwards the data to the other Router over the private network[^33].

## Ports to check

UCCE PG port numbers shift by 40 per ICM instance, so the port for instance n equals the instance-0 port plus 40 times n[^44]. PG port ranges follow installation order on the host rather than the PG number[^14]. If PG2 is installed before PG1 on a server, PG2's processes take the 43xxx range and PG1 is given the 45xxx range[^14].

Every port in the table below except the JTAPI row is the instance-0 value, to which 40 times the instance number is added[^35][^36][^26][^38][^55][^2].

| Function | TCP port | Source |
|---|---|---|
| PG1 MDS private network (side A and B), low / medium / high | 43004 / 43016 / 43005 |[^35] |
| PG2 MDS private network (side A and B), low / medium / high | 45004 / 45016 / 45005 |[^36] |
| OPC state transfer, PG1 / PG2 | 43023 / 45023 |[^26] |
| PG Agent Test Other Side, PG1 / PG2 | 43006 / 45006 |[^38] |
| Router DMP public-low reached by PGs, side A / side B | 40002 / 41002 |[^55] |
| Unsecured GED-188 CTI Server, side A / side B | 42027 / 43027 |[^2] |
| CTI/QBE and JTAPI, PG to Unified CM CTI Manager | 2748 |[^20] |

## Diagnosing a duplex PG that stays isolated-enabled

Cisco identifies mismatched PG port assignments between the two servers of a duplex pair as a typical cause of a PG remaining in the isolated-enabled state, especially after a fresh install or upgrade[^18]. Cisco attributes these mismatches to existing ICM installations, or remnants of them, on the servers[^45]. The ICM instance number is stored in the registry under the customer instance's CurrentVersion key[^15]. That instance number must match on both PGs of a pair, and a mismatch prevents the pair from forming duplex[^15]. The PG DMP system ID must also be the same on both PGs for the pair to form duplex[^4].

WarmTransfer's reading of the sources is that, for a duplex PG that will not leave isolated-enabled after install or upgrade, checking that the instance number, DMP system ID and MDS/OPC ports match on both sides is a cheaper first step than log analysis[^59].

## Diagnosing a new PIM that stays idle

When a new PIM is added to a duplex PG while services are still active on one side, the new PIM can stay idle on both PGs and never try to connect to its peripheral[^41]. This happens because duplex synchronization copies the still-running partner's in-memory configuration back over the edited side, disabling the PIM the partner does not know about[^39].

Cisco's fix has these steps[^40]:

- Stop services on both PGs[^40].
- Remove the newly added PIMs[^40].
- Re-add the PIMs on both PGs while services are stopped[^40].
- Start services in either order and confirm the PIMs go active[^40].

Cisco requires that any change to PG configuration is made while services are stopped on both PGs of the duplex pair[^29].

## Inspecting live PG and CTI Server processes

OPCTest is started on the PG with `opctest /cust <instance> /node <PG node name>`, and its `status` command shows the health and state of the PG[^28].

In procmon attached to the PIM, `dperiph` shows the PIM status and how long it has been in its current state[^49]. In the same session, `la` lists configured agents with their current status and `lc` lists the active calls on the PIM[^52].

In procmon attached to the JTAPI Gateway, `jli` lists every monitored device and its registration state, and `jdi` dumps one device's details[^50]. In the same session, `jtapiver` reports the JTAPI client version and `jrever` reports the JRE version[^51].

In procmon attached to the CTI Server (ctisvr), `clients` lists all connected CTI clients, and `dclient` shows a client's connection status, IP address and port[^48].

## Collecting traces and logs

PG process logs live under `C:\icm\<instance>\<PG name>\logfiles`, and CTI Server logs live under `C:\icm\<instance>\<CG name>\logfiles`[^31]. PG process logs are extracted with dumplog, for example `dumplog opc /bt 09:00 /et 09:30 /ms /o`[^5]. In that command, `/bt` and `/et` set the begin and end time, `/ms` adds milliseconds, and `/o` writes to the default output file[^5].

CTI Server tracing is raised by setting EMSTraceMask to f8 under the CG's `EMS\CurrentVersion\library\Processes\ctisvr` registry key[^3]. Unified CM PIM and VRU PIM tracing is enabled in procmon with commands such as `trace tp* /on`, `trace precall /on`, `trace *event /on` and `trace csta* /on`, and is reset with `trace * /off`[^43].

From UCCE 8.0, the Unified System CLI command `show tech-support absdatetime <start> <end> redirect dir <path>` gathers logs from Router, Logger, PG and CVP servers in one pass[^56].

## What Finesse shows when the CTI Server goes offline

Finesse treats the CTI connection as lost when it misses 3 consecutive CTI Server heartbeats at a 5-second interval, or when its socket to the CTI Server fails[^8]. While CTI failover is in progress, Finesse is OUT_OF_SERVICE, sends no events, and answers client requests with 503 Service Unavailable[^11]. In duplex mode, Finesse alternates between the configured side A and side B CTI servers until a connection succeeds[^7]. Finesse CTI failover requires Unified CCE in duplex mode and the side B CTI host and port set in the Finesse administration console[^6].

After reconnecting and returning to IN_SERVICE, Finesse publishes the last call-control, call-data and agent states to all clients[^13]. Events for a call that started and ended entirely during failover are not published[^13].

With Agent PG 12.5(1) or later, Cisco puts CTI Server/Agent PG failover as seen by Finesse at roughly 35 to 75 seconds, excluding server recovery time[^9]. With Agent PG 12.0(1) or 11.6(1), Cisco puts CTI failover at roughly 75 to 120 seconds[^10]. With those older Agent PG releases, Finesse takes up to 40 seconds longer to detect CTI failover than with Agent PG 12.5(1) or later[^10]. Agent PG maintenance mode lets Finesse reconnect to the alternate PG without interrupting sign-in, state changes or calls[^32].

On CTI disconnection, Finesse moves agents to WORK on non-voice media routing domains to stop task routing[^21]. Unified CCE can keep those agents in WORK after reconnect, and the enableAutoWorkModeStateChange property defaults to true[^21].

We infer that an entire Finesse cluster going OUT_OF_SERVICE at once, while Unified CM phones keep working, points to the Agent PG CTI Server or the path to it rather than to Finesse itself[^12].

## Router errors tied to PG configuration

If the routing client's PG has no network VRU, the router log shows an error like `No NetworkVRU configured for peripheral for VRU capable call` when a Send to VRU or Run Ext Script node runs[^23]. For CVP comprehensive call flows, the network VRU must be Type 10 with a label for each routing client[^24]. The label length must match CVP's Maximum Length of DNIS setting[^24].

## See also

- [Cisco ucce](https://warmtransfer.net/knowledge/cisco-ucce)
- [Unified CM CTI and JTAPI integrations](https://warmtransfer.net/knowledge/cucm-cti-jtapi)
- [Troubleshooting Cisco Finesse agent sign-in](https://warmtransfer.net/knowledge/finesse-login-troubleshooting)
- [Troubleshooting UCCE calls that do not route to agents](https://warmtransfer.net/knowledge/ucce-calls-not-routing-troubleshooting)
- [Troubleshooting UCCE and CVP call failures](https://warmtransfer.net/knowledge/cvp-call-failures-troubleshooting)
- [Cisco Customer Voice Portal](https://warmtransfer.net/knowledge/cisco-cvp)

## Applicability

Applies to: Cisco Unified Contact Center Enterprise, Cisco Finesse, and Cisco Unified Customer Voice Portal. Deployments: on-premises. Sources checked 2026-10-02. The JTAPI Gateway is present only in Unified CCE deployments[^19]. Finesse failover timings differ between Agent PG 12.5(1) or later and Agent PG 12.0(1) or 11.6(1)[^9][^10]. Agent PG maintenance mode applies with Finesse 12.6(1) and Unified CCE 12.6(1)[^32]. Keeping agents in WORK on non-voice media routing domains after reconnect requires Unified CCE 12.5(1) or later[^21]. The Unified System CLI log collection command applies from UCCE 8.0[^56].

## What remains uncertain

Finesse republishes the last call-control, call-data and agent states after reconnecting, and maintenance mode avoids interrupting sign-in, state changes and calls[^13][^32]. Beyond those 2 cases, the effect of an unplanned Agent PG failover on calls in progress and agent sign-in is not covered by the sources below. The `jtapiver` command reports the JTAPI client version on the PG[^51]. How a JTAPI client version mismatch on the PG behaves after a Unified CM upgrade is not covered by the sources below. How to place an Agent PG into maintenance mode on the UCCE side is not covered by the sources below. The CTI Manager failure detection timer seen by the JTAPI Gateway is not covered by the sources below. Logout on Agent Disconnect (LOAD) behaviour and defaults are not covered by the sources below. The unsecured GED-188 CTI Server ports are documented[^2]. The secured CTI Server port and the TLS CTI connection for Finesse are not covered by the sources below. OPCTest status output field labels on 12.x and 15.x are not covered by the sources below. The documented `show tech-support` command applies from UCCE 8.0[^56]. Current Unified System CLI and Diagnostic Framework log collection syntax is not covered by the sources below.

## Sources

[^1]: Only the side A or the side B CTI Server is active at a time, never both. Source: [Serviceability Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Product Architecture](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/configuration/guide/ucce_b_serviceability-guide-for-cisco-unified-icm-contact-center-enterprise-release-15-0/product_architecture.html), Product Architecture; CTI Gateway (CTI Server). Checked 2026-10-02.
[^2]: The unsecured GED-188 CTI Server listens on TCP 42027 on side A and TCP 43027 on side B, each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 4 Unified CCE Port Utilization: CTI and CTI Object Server; GED-188 CTI Server rows. Checked 2026-10-02.
[^3]: CTI Server tracing is raised by setting EMSTraceMask to f8 under the CG's EMS\CurrentVersion\library\Processes\ctisvr registry key. Source: [Set and Collect UCCE Trace Logs](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/116165-trouble-ucce-trace-00.html), Setting traces; CTISVR. Checked 2026-10-02.
[^4]: The PG DMP system ID must be the same on both PGs of a duplex pair for the pair to form duplex. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), PG DMP system id. Checked 2026-10-02.
[^5]: PG process logs are extracted with dumplog, for example 'dumplog opc /bt 09:00 /et 09:30 /ms /o': /bt and /et set begin and end time, /ms adds milliseconds and /o writes to the default output file. Source: [Set and Collect UCCE Trace Logs](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/116165-trouble-ucce-trace-00.html), Collecting Logs; dumplog examples. Checked 2026-10-02.
[^6]: Finesse CTI failover requires Unified CCE in duplex mode and the side B CTI host and port set in the Finesse administration console. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover; prerequisites. Checked 2026-10-02.
[^7]: In duplex mode, after losing the CTI Server Finesse alternates between the configured side A and side B CTI servers until a connection succeeds. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover. Checked 2026-10-02.
[^8]: Finesse treats the CTI connection as lost when it misses three consecutive CTI Server heartbeats (5-second interval) or when its socket to the CTI Server fails. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover. Checked 2026-10-02.
[^9]: With Agent PG 12.5(1) or later, Cisco puts CTI Server/Agent PG failover as seen by Finesse at roughly 35 to 75 seconds, excluding server recovery time. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), Failover Planning; CTI Failover. Checked 2026-10-02.
[^10]: With Agent PG 12.0(1) or 11.6(1), Cisco puts CTI failover at roughly 75 to 120 seconds, and Finesse takes up to 40 seconds longer to detect CTI failover than with Agent PG 12.5(1) or later. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), Failover Planning; CTI Failover and Guidelines for Optimal Desktop Failover; Agent PG Configuration. Checked 2026-10-02.
[^11]: While CTI failover is in progress Finesse is OUT_OF_SERVICE, sends no events, and answers client requests with 503 Service Unavailable. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover. Checked 2026-10-02.
[^12]: An entire Finesse cluster going OUT_OF_SERVICE at once, while Unified CM phones keep working, points to the Agent PG CTI Server or the path to it rather than to Finesse itself (inferred). Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover. Checked 2026-10-02.
[^13]: After reconnecting and returning to IN_SERVICE, Finesse publishes the last call-control, call-data and agent states to all clients, but events for a call that started and ended entirely during failover are not published. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), CTI Failover. Checked 2026-10-02.
[^14]: PG port ranges follow installation order on the host rather than the PG number: if PG2 is installed before PG1 on a server, PG2's processes take the 43xxx range and PG1 is given the 45xxx range. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Port Index. Checked 2026-10-02.
[^15]: The ICM instance number, stored in the registry under the customer instance's CurrentVersion key, must match on both PGs of a pair; a mismatch prevents the pair from forming duplex. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Enterprise Instance Number. Checked 2026-10-02.
[^16]: When the private network fails, a Router without device majority goes to the isolated-disabled state and stops processing traffic. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Response to Private Network Failures. Checked 2026-10-02.
[^17]: When the private network fails, a Router that has device majority goes to the isolated-enabled state and keeps handling traffic. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Unified CCE Failovers During Network Failures; Response to Private Network Failures. Checked 2026-10-02.
[^18]: Cisco identifies mismatched PG port assignments between the two servers of a duplex PG pair as a typical cause of a PG remaining in the isolated-enabled state, especially after a fresh install or upgrade. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Introduction; Background Information. Checked 2026-10-02.
[^19]: The JTAPI Gateway, present only in Unified CCE deployments, connects to the Unified CM CTI Manager and links the PG to the Unified CM cluster. Source: [Serviceability Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Product Architecture](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/configuration/guide/ucce_b_serviceability-guide-for-cisco-unified-icm-contact-center-enterprise-release-15-0/product_architecture.html), Product Architecture; JTAPI Gateway. Checked 2026-10-02.
[^20]: The Cisco port utilization guide lists TCP 2748 for CTI/QBE and JTAPI communication between the PG and Unified CM CTI Manager. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 4; JTAPI row. Checked 2026-10-02.
[^21]: On CTI disconnection, Finesse moves agents to WORK on non-voice media routing domains to stop task routing, and Unified CCE 12.5(1) or later can keep them in WORK after reconnect; the enableAutoWorkModeStateChange property defaults to true. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), Prevent Non-Voice Task RONAs during CTI Reconnect. Checked 2026-10-02.
[^22]: The router resolves the network VRU through the dialed number's customer; the related router messages are 'Customer not found for dialed number', 'No network VRU is configured' and 'No label configured on network VRU'. Source: [CVP "Send to VRU" and "Run Ext Script" Failures](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-customer-voice-portal-901/116178-technote-cvp-00.html), Router log checks. Checked 2026-10-02.
[^23]: If the routing client's PG has no network VRU, the router log shows 'No NetworkVRU configured for peripheral for VRU capable call' when a Send to VRU or Run Ext Script node runs. Source: [CVP "Send to VRU" and "Run Ext Script" Failures](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-customer-voice-portal-901/116178-technote-cvp-00.html), Router log checks. Checked 2026-10-02.
[^24]: For CVP comprehensive call flows, the network VRU must be Type 10 with a label for each routing client, and the label length must match CVP's Maximum Length of DNIS setting. Source: [CVP "Send to VRU" and "Run Ext Script" Failures](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-customer-voice-portal-901/116178-technote-cvp-00.html), Network VRU configuration checklist. Checked 2026-10-02.
[^25]: The OPC computes and maintains agent state on the PG, reports it to the Router, and runs in lock-step with its duplex sibling through MDS. Source: [Serviceability Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Product Architecture](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/configuration/guide/ucce_b_serviceability-guide-for-cisco-unified-icm-contact-center-enterprise-release-15-0/product_architecture.html), Product Architecture; Open Peripheral Controller. Checked 2026-10-02.
[^26]: The OPC state-transfer port is TCP 43023 for PG1 and TCP 45023 for PG2, each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 1; State Xfer for OPC rows. Checked 2026-10-02.
[^27]: OPCTest status output includes PGAgent status, such as CONNECTED or IDLE, with the last state-change time and the times of connection to the side A and side B Routers. Source: [Using the OPCTest Command-Line Utility](https://www.cisco.com/c/en/us/support/docs/voice-unified-communications/icm-peripheral-gateway/20418-30.html), status command output. Checked 2026-10-02.
[^28]: OPCTest is started on the PG with 'opctest /cust <instance> /node <PG node name>', and its status command shows the health and state of the PG. Source: [Using the OPCTest Command-Line Utility](https://www.cisco.com/c/en/us/support/docs/voice-unified-communications/icm-peripheral-gateway/20418-30.html), Start OPCTest; status command. Checked 2026-10-02.
[^29]: Cisco requires that any change to PG configuration is made while services are stopped on both PGs of the duplex pair. Source: [UCCE PIM Failure when Added to PGs in Duplex Mode](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/117597-problemsolution-UCCE-00.html), Solution, note. Checked 2026-10-02.
[^30]: The PG talks to the Router (central controller) using Device Management Protocol, and messages to OPC pass through the MDS queue to keep duplex sides in lock-step. Source: [Serviceability Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Product Architecture](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/configuration/guide/ucce_b_serviceability-guide-for-cisco-unified-icm-contact-center-enterprise-release-15-0/product_architecture.html), Product Architecture; Peripheral Gateway. Checked 2026-10-02.
[^31]: PG process logs live under C:\icm\<instance>\<PG name>\logfiles and CTI Server logs under C:\icm\<instance>\<CG name>\logfiles. Source: [Set and Collect UCCE Trace Logs](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/116165-trouble-ucce-trace-00.html), Collecting Logs; log locations. Checked 2026-10-02.
[^32]: With Finesse 12.6(1) and Unified CCE 12.6(1), Agent PG maintenance mode lets Finesse reconnect to the alternate PG without interrupting sign-in, state changes or calls. Source: [Cisco Finesse Administration Guide, Release 15.0(1) - Cisco Finesse Failover Mechanisms](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/finesse/finesse_1501/admin/guide/cfin_b_150_cisco-finesse-administration-guide/cfin_m_150_cisco-finesse-failover-mechanisms.html), Maintenance Mode; Agent PG Maintenance Mode. Checked 2026-10-02.
[^33]: When the public path to one Router is lost, PGs realign their data stream to their local Router, which forwards data to the other Router over the private network. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Response to Public Network Failures. Checked 2026-10-02.
[^34]: An Agent PG connects to the Unified CM cluster through a single CTI Manager, so if that CTI Manager fails the PG cannot talk to the cluster; that is why Cisco designs Agent PGs as a redundant pair. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Unified Contact Center Enterprise Solution Design Considerations](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1501/rcct_m_ucce-solution-design-considerations_15_0.html), Agent Peripheral Gateway Design Considerations. Checked 2026-10-02.
[^35]: For PG1 (side A and B), the MDS private-network ports are TCP 43004 (low), 43016 (medium) and 43005 (high), each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 1 Unified CCE Port Utilization: Routers, PGs, Administration & Data Servers, and Loggers; ICM PG1 rows. Checked 2026-10-02.
[^36]: For PG2 (side A and B), the MDS private-network ports are TCP 45004 (low), 45016 (medium) and 45005 (high), each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 1; ICM PG2 rows. Checked 2026-10-02.
[^37]: Agent PG side A signs in to the primary CTI Manager and Agent PG side B signs in to the secondary CTI Manager on a different subscriber. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Unified Contact Center Enterprise Solution Design Considerations](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1501/rcct_m_ucce-solution-design-considerations_15_0.html), Agent Peripheral Gateway Design Considerations. Checked 2026-10-02.
[^38]: The PG Agent Test Other Side port is TCP 43006 for PG1 and TCP 45006 for PG2, each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 1; PG Agent Test Other Side rows. Checked 2026-10-02.
[^39]: The idle-PIM failure happens because duplex synchronization copies the still-running partner's in-memory configuration back over the edited side, disabling the PIM the partner does not know about. Source: [UCCE PIM Failure when Added to PGs in Duplex Mode](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/117597-problemsolution-UCCE-00.html), Cause. Checked 2026-10-02.
[^40]: Cisco's fix for an idle new PIM: stop services on both PGs, remove the newly added PIMs, re-add them on both PGs while services are stopped, then start services in either order and confirm the PIMs go active. Source: [UCCE PIM Failure when Added to PGs in Duplex Mode](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/117597-problemsolution-UCCE-00.html), Solution, steps 1-6. Checked 2026-10-02.
[^41]: When a new PIM is added to a duplex PG while services are still active on one side, the new PIM can stay idle on both PGs and never try to connect to its peripheral. Source: [UCCE PIM Failure when Added to PGs in Duplex Mode](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/117597-problemsolution-UCCE-00.html), Problem. Checked 2026-10-02.
[^42]: The PIM is not a lock-step process and shares no data between sides; for each peripheral either the side A or the side B PIM is active. Source: [Serviceability Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Product Architecture](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/configuration/guide/ucce_b_serviceability-guide-for-cisco-unified-icm-contact-center-enterprise-release-15-0/product_architecture.html), Product Architecture; Peripheral Interface Manager. Checked 2026-10-02.
[^43]: Unified CM PIM and VRU PIM tracing is enabled in procmon with commands such as 'trace tp* /on', 'trace precall /on', 'trace *event /on' and 'trace csta* /on', and reset with 'trace * /off'. Source: [Set and Collect UCCE Trace Logs](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/116165-trouble-ucce-trace-00.html), Setting traces; procmon. Checked 2026-10-02.
[^44]: UCCE PG port numbers shift by 40 per ICM instance: the port for instance n equals the instance-0 port plus 40 times n. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Port Ranges on Each PG Host Server. Checked 2026-10-02.
[^45]: Cisco attributes PG port mismatches between pairing servers to existing ICM installations, or remnants of them, on the servers. Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Background Information. Checked 2026-10-02.
[^46]: Duplexed UCCE sides exchange private-network heartbeats every 100 ms in both directions. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Network Design for Reference Design Compliant Solutions. Checked 2026-10-02.
[^47]: If either side misses heartbeats for five times the heartbeat period, it assumes the private link or peer has failed. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Network Design for Reference Design Compliant Solutions. Checked 2026-10-02.
[^48]: In procmon attached to the CTI Server (ctisvr), clients lists all connected CTI clients and dclient shows a client's connection status, IP address and port. Source: [Troubleshoot ICM with ProcMon Utility Commands for PG Processes](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200865-Troubleshoot-ICM-Using-ProcMon-Utility-C.html), Computer Telephony Integration Server. Checked 2026-10-02.
[^49]: In procmon attached to the PIM, the dperiph command shows the PIM status and how long it has been in its current state. Source: [Troubleshoot ICM with ProcMon Utility Commands for PG Processes](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200865-Troubleshoot-ICM-Using-ProcMon-Utility-C.html), Agent Peripheral Interface Manager. Checked 2026-10-02.
[^50]: In procmon attached to the JTAPI Gateway, jli lists every monitored device and its registration state, and jdi dumps one device's details. Source: [Troubleshoot ICM with ProcMon Utility Commands for PG Processes](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200865-Troubleshoot-ICM-Using-ProcMon-Utility-C.html), Java Gateway Process. Checked 2026-10-02.
[^51]: In procmon attached to the JTAPI Gateway, jtapiver reports the JTAPI client version and jrever reports the JRE version. Source: [Troubleshoot ICM with ProcMon Utility Commands for PG Processes](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200865-Troubleshoot-ICM-Using-ProcMon-Utility-C.html), Java Gateway Process. Checked 2026-10-02.
[^52]: In procmon attached to the PIM, la lists configured agents with their current status and lc lists the active calls on the PIM. Source: [Troubleshoot ICM with ProcMon Utility Commands for PG Processes](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200865-Troubleshoot-ICM-Using-ProcMon-Utility-C.html), Agent Peripheral Interface Manager. Checked 2026-10-02.
[^53]: In a split public-network failure where an agent's phone is registered on the far side of the Unified CM cluster, Unified CCE can no longer direct calls to the phone and automatically signs the agent out. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Response to Public Network Failures. Checked 2026-10-02.
[^54]: Public-network heartbeats between each PG and the Central Controller run every 400 ms in both directions. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Network Design for Reference Design Compliant Solutions. Checked 2026-10-02.
[^55]: PGs reach the Router's DMP public-low port on TCP 40002 for side A and TCP 41002 for side B, each plus 40 times the instance number. Source: [Port Utilization Guide for Cisco Unified Contact Center Solutions, Release 12.6(2) - Port Utilization in Contact Center Enterprise](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_2/configuration/guide/ucce_b_port_utilization_12_6_2/ucce_b_port-utilization_12_5_chapter_01.html), Table 1; Router DMP public rows. Checked 2026-10-02.
[^56]: From UCCE 8.0 the Unified System CLI command 'show tech-support absdatetime <start> <end> redirect dir <path>' gathers logs from Router, Logger, PG and CVP servers in one pass. Source: [Set and Collect UCCE Trace Logs](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/116165-trouble-ucce-trace-00.html), Using Diagnostic Framework/CLI. Checked 2026-10-02.
[^57]: Only one PG of the pair registers and monitors phones and CTI route points; the redundant PG runs in hot standby, signed in to its CTI Manager only to initialise the interface for failover. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 15.0(1) - Unified Contact Center Enterprise Solution Design Considerations](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_15_0_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1501/rcct_m_ucce-solution-design-considerations_15_0.html), Agent Peripheral Gateway Design Considerations. Checked 2026-10-02.
[^58]: During a private network failure, the pair-disabled Router side tells its enabled PGs to contact the other Router over the public network to test that side's status. Source: [Solution Design Guide for Cisco Unified Contact Center Enterprise, Release 12.6(1) - High Availability and Network Design](https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_12_6_1/design/guide/ucce_b_ucce_soldg-for-unified-cce-1261/high_availability_and_network_design.html), Response to Private Network Failures. Checked 2026-10-02.
[^59]: For a duplex PG that will not leave isolated-enabled after install or upgrade, checking that instance number, DMP system ID and MDS/OPC ports match on both sides is a cheaper first step than log analysis (inferred). Source: [Unified Contact Center Enterprise (UCCE) Peripheral Gateway (PG) TCP Port Range Assignment and duplex operations](https://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-contact-center-enterprise/200960-Unified-Contact-Center-Enterprise-UCCE.html), Conclusion; combined with Port Utilization Guide Table 1. Checked 2026-10-02.
