Skip to content
Amazon Connect · Agent troubleshooting

Amazon Connect CCP Log Parser

Drop an agent's CCP log and get a health check: call quality, agent state timeline, 21 known-problem checks with fixes and a report for the support ticket.

Last updated

Client-side only No data uploaded
CCP Diagnostic Tooling
Amazon Connect CCP Log Parser: diagnose softphone problems

Drop a CCP log (JSON, text or .gz) and get a health check: call quality from softphone statistics, an agent state timeline, 20+ known-problem checks with fixes, the agent's browser and network environment, and a report you can attach to a support ticket.

API latency & skew metrics per endpoint Agent state snapshots with contact details Filter by level, keyword, or regex Smart error intelligence with fix tips Timeline chart of log volume over time
// LOG SUMMARY
CCP Log Input

Drop CCP log file here

Accepts .log .txt .json — parsed entirely in your browser

or paste log text
Samples:
Parsing happens entirely in your browser — nothing is uploaded

Understanding Amazon Connect CCP Logs

The Amazon Connect Contact Control Panel (CCP) is the softphone interface agents use to handle calls, chats, and tasks. When troubleshooting call quality issues, connectivity problems, or agent state discrepancies, CCP logs are the primary diagnostic source. Logs record every API call, WebRTC state change, agent snapshot, error, and timing metric with millisecond precision.

Where do I find Amazon Connect CCP logs?
In the CCP, click the settings gear → "Download logs" (or Ctrl+Shift+Alt+L). Logs are downloaded as a .log text file. You can also access them via the browser console by searching for the connect-log object, or programmatically via the Streams API using connect.getLog().download().
What does "skew" mean in CCP logs?
Skew is the time difference between the agent's local clock and the Amazon Connect server clock. A large skew (e.g., ±500ms+) indicates the agent's workstation clock is out of sync, which can cause authentication issues, timestamp confusion in contact records, and API signature validation failures. Skew should ideally be under 100ms.
What causes high API latency in CCP logs?
High API latency (over 1000ms) in CCP logs is typically caused by: slow network between the agent workstation and AWS region, VPN routing adding hops, DNS resolution delays, overloaded corporate proxy servers, or the agent being connected to a non-optimal AWS region. GetCurrentContactState and GetCurrentMetricData are the most latency-sensitive endpoints.
What do ICE/RTC errors in CCP logs mean?
ICE (Interactive Connectivity Establishment) errors indicate WebRTC media path failures. "ICE failed" means no media path was negotiated — usually a firewall blocking UDP ports 3478 or 49152-65535. "ICE disconnected" is a transient state that often recovers. "ICE checking" that never resolves indicates STUN/TURN unreachability. One-way audio is almost always an ICE failure.
What is the CCP Streams API and how do logs relate to it?
The Amazon Connect Streams API is a JavaScript library that lets you embed and extend the CCP in custom applications. Logs generated by the Streams API use the [StreamsManager], [AgentWorkerApi], and [ContactController] sources. Streams API errors often indicate initialization failures, authentication issues, or iframe embedding problems.
How do I interpret agent state snapshots in CCP logs?
Snapshots are periodic JSON dumps of complete agent state — routing profile, contacts in queue, current status, ACW (After Call Work) timer, and skill assignments. They appear as large JSON blobs in log lines with source "Snapshot" or "WorkerPollingService". Comparing successive snapshots helps identify when state changes occurred and whether they were expected.
Why is my Amazon Connect softphone audio choppy?
Choppy or robotic audio almost always comes from the network between the agent and AWS: packet loss above about 3%, jitter above 30 ms or round-trip time above 300 ms. Wi-Fi, home broadband congestion and VPNs that carry media traffic are the usual causes. Drop the agent's CCP log into this parser and open the Call quality tab to see loss, jitter, round-trip time and an estimated MOS for each moment of the call.
How do I download CCP logs from Amazon Connect?
In the Contact Control Panel, open Settings and choose Download logs; the browser saves a JSON or .log file. In a custom app built with Amazon Connect Streams, call connect.getLog().download(). Download the log as soon as possible after the problem — the CCP keeps a limited rolling history.
Why does my agent keep going Offline in Amazon Connect?
Agents usually drop to Offline because their session expired (401 errors), the CCP lost its WebSocket connection, it was open in two tabs, or the browser tab slept. The Agent timeline tab shows every state change with timestamps, and the Error Intelligence tab flags expired sessions, polling timeouts, WebSocket drops and duplicate tabs.
Is it safe to upload CCP logs to this tool?
Nothing is uploaded. The log is parsed by JavaScript in your browser and never leaves your machine. Turn on Mask personal data to hide agent names, phone numbers, email addresses and IP addresses before you export or print a report.
What is a good MOS score for Amazon Connect calls?
MOS (mean opinion score) rates call quality from 1 to 5. Above 4.0 is good; between 3.6 and 4.0 most people notice small problems; below 3.6 callers complain. This tool estimates MOS from the softphone's packet loss, jitter and round-trip time using a simplified ITU-T G.107 E-model.

How to download CCP logs

  1. Standard CCP: open the CCP, go to Settings and choose Download logs. The browser saves a JSON or .log file.
  2. Agent workspace: open the embedded CCP's settings and download logs the same way.
  3. Custom app (Amazon Connect Streams): run connect.getLog().download() in the page's developer console, or call it from your own "Download logs" button.
  4. Do it straight after the problem. The CCP keeps a limited rolling history, so older events drop out.
  5. Drop the file here. Turn on Mask personal data before you export or print a report for a ticket.

CCP log error reference

Common messages in Amazon Connect CCP logs, what they mean and how to fix them. The parser detects all of these automatically.

Log messageWhat it meansFix
ICE connection state failedNo media path could be set up between the browser and AWS.Allow UDP 3478 and 49152–65535 to *.turn.amazonaws.com; route media outside the VPN.
no srflx / ICE_COLLECTION_FAILURESTUN could not discover the agent's public address.Allow outbound UDP 3478; check the firewall is not stripping STUN.
401 Unauthorized / session token expiredThe agent's sign-in session ended.Sign in again; check single sign-on session length and clock skew.
NotAllowedError / Permission deniedThe browser blocked the microphone.Allow the microphone for the CCP site and reload.
NotFoundError / NotReadableErrorNo microphone found, or another app is using it.Reconnect the headset; close Teams, Zoom or other softphones.
WebSocket closed (1006) / reconnectingThe signalling connection dropped.Allow long-lived WebSockets to *.transport.connect.<region>.amazonaws.com; no TLS inspection.
Polling timeoutThe CCP could not refresh the agent state in time.Check network latency and proxy; look for 401 errors just before.
MissedCallAgent / FailedConnectAgentA contact was offered but not answered or could not connect.Check ringer device and answer timeout; consider auto-accept; fix audio errors first.
net::ERR_BLOCKED_BY_ADMINISTRATOR … signin.awsA firewall or browser policy blocked an Amazon Connect domain.Allow *.my.connect.aws, *.awsapps.com, *.signin.aws and *.connect.aws.
High clock skew (> 500 ms)The workstation clock is out of sync with AWS.Turn on automatic time sync (NTP, UDP 123).
Lost connectivity, re-initializingThe CCP restarted its connection to Amazon Connect.Look at network drops, sleeping tabs and VPN reconnects around that time.
Long task / main thread blockedThe browser was too busy to process audio and events in time.Close heavy tabs and apps; check CPU and memory.
Practical guide

Diagnosing an agent's softphone problem: a worked example

An agent says calls "ring but there's no audio" or "drop after a few seconds", and the CTR only shows a normal disconnect. The answer is usually in the agent's CCP log, which records what the browser, the WebRTC stack and the Connect backend were doing on that agent's machine.

Step 1: Collect the log straight after the problem

Ask the agent to download the log from the CCP Settings panel (Download logs) as soon as the issue happens, and to note the approximate time. The log is a rolling buffer, so a log taken hours later may no longer contain the failed call. If you run a custom CCP built on Amazon Connect Streams, make sure your page exposes the same download option, for example with connect.getLog().download().

Step 2: Load it and go to the failing call

Drop the file here. The parser groups entries by severity and shows API calls, agent state snapshots and softphone events on one timeline. Filter to ERROR and WARN, then go to the reported time.

Step 3: Match the error to a cause

Softphone failures are reported with specific error types. The most common ones and what they usually mean:

  • MICROPHONE_NOT_SHARED: the browser has no microphone permission, or another application holds the device. Check site permissions and the default input device.
  • ICE_COLLECTION_TIMEOUT: the browser could not gather network candidates in time. This almost always means a firewall, VPN or proxy is blocking UDP media. Compare the rules against the Allowlist Auditor.
  • SIGNALLING_CONNECTION_FAILURE or SIGNALLING_HANDSHAKE_FAILURE: the secure WebSocket used for call setup was blocked or interrupted, often by a proxy doing TLS inspection.
  • WEBRTC_ERROR or REALTIME_COMMUNICATION_ERROR: media failed after setup. Look for network changes (Wi-Fi roaming, VPN reconnect) just before.
  • UNSUPPORTED_BROWSER: an outdated or unsupported browser version.

Step 4: Check skew and latency

A large clock skew between the agent's PC and AWS can break authentication and make timestamps misleading, so fix the PC's time sync. Consistently high API latency points at the agent's network path rather than Connect itself.

Patterns to recognise

  • "Ringing then dropped" with an ICE timeout: media ports blocked. Usually affects every agent on the same site or VPN.
  • One agent only, with microphone errors: a local device or permission issue. Re-select the headset, check the browser's site settings, and close other softphone apps.
  • Random drops with state flapping between Available and Offline: an unstable connection or the browser throttling a background tab. Keep the CCP in its own window rather than a hidden tab.
  • Problems only on VDI: audio is going through the virtual desktop instead of being optimised. See the VDI Compatibility Tester.

Before escalating to AWS Support

Gather the CCP log, the ContactId of an affected call, the agent's browser version, the network path (office, home, VPN, VDI) and the result of the Agent Workstation Validator. With that, Support can usually skip the first round of questions.

Official references

Runs 100% in your browser. Your files and data never leave your machine. Nothing is uploaded or stored.

Stuck on an Amazon Connect problem?

Get help from an architect with 8+ years in contact centres and 4+ years on Amazon Connect: flows, CCP and CRM integrations, Lex and Q in Connect, migrations and go-lives.