# Troubleshooting browser softphone audio in cloud contact centers

Canonical: https://warmtransfer.net/knowledge/browser-softphone-audio-troubleshooting

Last verified: 2026-09-30

Troubleshooting browser softphone audio in cloud contact centers requires diagnosing issues across workstation audio devices, browser media permissions, and real-time network paths[^2]. In Amazon Connect, call audio is recorded at the service, meaning degradation audible in a recording indicates an issue before reaching the service, whereas a clean recording alongside an audio complaint points to issues on the path to the listener[^25].

## Triage and Problem Scoping

AWS advises isolating the scope of an audio fault by examining the affected user population[^28]. A single affected agent points to issues with that specific workstation and headset[^28]. Several agents affected within one location indicate local network problems or a pushed software update[^28]. Agents experiencing failures across multiple locations point to organization-level network modifications or automated browser and operating system updates[^28].

For Amazon Connect, AWS attributes complete two-way audio absence (when not occurring immediately following a reboot) to Contact Control Panel (CCP) setup, microphone access restrictions, or blocked ports[^19]. One-way audio is attributed to network address translation (NAT) or another application taking exclusive control of the microphone or speaker[^21][^22]. When using Windows 11 with Chrome or Edge, AWS documents total audio failure on the first call following a system reboot due to the network interface card restarting[^35]. The documented fix is setting the startup type to Automatic for qWAVE, ndisuio.sys, dmwAppushSvc, SstpSvc, and RasMan[^35]. Workstation checks also involve confirming if an issue seen on a custom CCP reproduces on the default CCP interface[^4].

AWS lists four agent-side diagnostics to run in order: the Endpoint Test Utility, QualityMetrics from the contact record, the CCP logs, and Amazon CloudWatch[^30]. AWS branches subsequent actions based on these diagnostics, treating abnormal metrics as network issues and normal metrics as workstation issues[^2].

## Browser Permissions and Audio Devices

WebRTC browser softphones depend on valid media device access through the `getUserMedia` API[^49][^50]. MDN documents that `getUserMedia` rejects with `NotAllowedError` when the page lacks a secure context, access is denied globally or per-site, or Permissions Policy blocks the source[^49]. It rejects with `NotFoundError` if no track satisfies the constraints, and with `NotReadableError` if permissions are present but an operating system, browser, or page-level hardware error prevents device access[^50].

In Amazon Connect, the CCP displays a red banner stating "Microphone is not accessible" when microphone access fails, which AWS notes can lead to missed calls[^16]. The CCP can connect to the microphone only when permission is granted for the active session, with this permission kept in browser memory[^17]. In Firefox, AWS notes that the CCP tab must remain in focus for audio and microphone streams to pass, and out-of-focus tabs can result in missed calls[^8].

For Genesys Cloud embedded clients in Chrome, audio failing completely is attributed to microphone access failure and is resolved by enabling "Pop WebRTC Phone window" under Menu, More, Settings, WebRTC[^44]. In Firefox, repeated microphone prompts are prevented by choosing "Remember this decision" before clicking Allow[^45]. For fluctuating microphone volume in Chrome, Genesys advises disabling Automatic Mic Gain under Advanced Mic Settings, which also control Echo Cancellation and Noise Suppression[^46]. Genesys notes its in-client WebRTC test checks only the microphone, directing further checks to the separate Genesys Cloud WebRTC Diagnostics app[^47].

Twilio recommends initiating `getUserMedia` early to request permissions and read device labels, terminating tracks immediately after, and explicitly assigning microphones using `device.audio.setInputDevice()`[^55]. The Twilio Voice SDK triggers a `constant-audio-input-level` warning when microphone input is static for 20 seconds, which Twilio states usually indicates a muted microphone[^54].

Audio hardware configuration can also introduce noise[^11]. AWS notes that if an audio device does not support up to 48 kHz but the browser asserts a 48 kHz sample rate, a humming sound may occur in the outgoing audio—an issue observed with Firefox but not Chrome[^11]. This is verified by checking for 48000 Hz under `about:support` (Media) in Firefox or `chrome://media-internals` (Audio) in Chrome during an active call, resolving mismatches via operating system sound settings or headset replacement[^12]. AWS states the CCP functions with all headset types and recommends USB headsets[^10].

## Network Connectivity and Signaling

WebRTC media relies on STUN and TURN for Interactive Connectivity Establishment (ICE) candidate gathering[^13]. AWS describes the CCP querying a STUN server and opening a TURN channel to Amazon Connect's TURN service to obtain a media relay address before sending the SDP offer over a WebSocket connection[^13]. Under RFC 8656, TURN servers should be utilized only when direct communication paths cannot be established due to relay overhead[^51].

AWS CCP generates an `ice_collection_timeout` error when requests to softphone media endpoints on UDP port 3478 time out, preventing candidate collection and causing missed calls; the primary resolution is verifying outbound UDP 3478 on firewalls and NAT[^14]. The CCP error "Failed to establish softphone connection" occurs when the browser cannot form a media channel, frequently because the agent network blocks the TurnNLB domain or fails to resolve its DNS name[^31]. WarmTransfer's reading of the sources is that softphones working over direct internet connections but failing with `ice_collection_timeout` or "Failed to establish softphone connection" over VPNs are blocked from reaching UDP 3478 or resolving TURN endpoint DNS[^48]. The Twilio Voice JavaScript SDK emits `ice-connectivity-lost` when ICE drops to a disconnected state, requiring renegotiation[^56].

| Service | Media Ports / Endpoints | Signaling Ports / Endpoints |
| --- | --- | --- |
| Amazon Connect | UDP 3478 outbound to `TurnNlb-*.elb.{region}.amazonaws.com`[^32][^9] | TCP 443 and WebSockets[^9] |
| Twilio Voice SDK | UDP 10,000 to 60,000 toward `168.86.128.0/18`[^58] | TCP 443[^58] |

For stateless firewalls, AWS notes inbound rules must permit ephemeral return traffic: UDP ports 49152–65535 on Windows and 32768–61000 on Linux[^29]. Improperly configured NAT traversal can introduce one-way or no audio, and AWS recommends static NAT with keep-alives enabled[^18].

## Network Metrics and Diagnostic Thresholds

AWS's Amazon Connect Endpoint Test Utility validates browser WebRTC capabilities, media device access, latency across active Regions (or specific instances), and media stream port reachability[^7].

```
Latency Warning Thresholds:
- Amazon Connect Endpoint Test Utility: > 300 ms[^6]
- Twilio Voice SDK High RTT: > 400 ms in 3 of 5 samples[^60]
- Twilio Voice SDK Target: < 200 ms[^59]
```

Amazon Connect QualityMetrics, accessible via the `DescribeContact` API and Kinesis contact-record events (but omitted from the admin website and EventBridge events), tracks call quality[^24][^23]. It supplies a `QualityScore` ranging from 1.00 (poor) to 5.00 (high quality) alongside a `PotentialQualityIssues` list[^24]. Detected issue flags include `HighPacketLoss`, `HighRoundTripTime`, and `HighJitterBuffer`, while an empty list indicates no issues were detected[^24]. AWS identifies causes for `HighRoundTripTime` as constrained bandwidth, VPN applications, physical distance to the instance AWS Region, or routing audio inside virtual desktops rather than redirecting WebRTC[^27].

AWS considers CCP log values above 30 ms for `JitterBufferMillis` and above 300 ms for `RoundTripTime` to be abnormal[^3]. CCP logs do not persist through browser refreshes and are downloaded from CCP Settings as `agent-log.txt`[^15]. In CloudWatch, AWS marks a `ToInstancePacketLossRate` above 20% as an indicator of severe network degradation, though audio can degrade well below 20%[^5].

Twilio's Voice SDK establishes operational network targets of round-trip latency under 200 ms, jitter under 30 ms, and packet loss under 3%[^59]. The Twilio Voice SDK generates warning events when 3 of the last 5 samples exceed specific thresholds: `high-rtt` (> 400 ms), `high-jitter` (> 30 ms), `high-packet-loss` (> 1%), and `low-mos` (< 3.5)[^60]. It also triggers `low-bytes-received` and `low-bytes-sent` when byte counters remain at 0 for 3 consecutive seconds[^57].

## Bandwidth and Client Requirements

AWS minimum workstation requirements for the CCP alone list 54 Kbps up and down for a 1:1 audio call, 2 GB RAM, and a 2 GHz processor[^1]. Twilio's Voice SDK network requirements specify 40 kbps uplink and downlink for Opus, or 100 kbps for PCMU[^53]. Cisco's Webex Contact Center Desktop system requirements give a minimum recommended network bandwidth of 512 kbps[^38]. Cisco's Webex Contact Center Desktop system requirements state that WebRTC supports Google Chrome, Microsoft Edge, and Mozilla Firefox, and that Virtual Desktop Infrastructure does not support WebRTC[^43]. Cisco states that Webex Contact Center Desktop mode uses WebRTC to terminate calls and media directly in the Agent Desktop, with Cisco background noise removal built into the browser experience in that mode[^37].

AWS advises that remote agents can encounter audio problems due to network instability, packet loss, or latency, which become compounded when VPN access is mandated[^26]. AWS notes that encrypted VPN tunnels introduce latency and overhead that degrade audio quality[^34]. AWS strongly recommends that WebRTC media bypass VPNs and accelerator hops via direct exchange[^20]. When diagnosing network issues, AWS recommends testing audio without the VPN, or ensuring split tunneling is active for real-time traffic[^33]. AWS also recommends using wired Ethernet connections over Wi-Fi to avoid wireless interference, congestion, packet loss, and jitter[^36].

## Applicability

Applies to: Amazon Web Services Amazon Connect, Twilio Voice SDKs, Twilio Voice SDK, Twilio Voice JavaScript SDK, Genesys Cloud embedded clients, Genesys Cloud, Cisco Webex Contact Center Desktop, Cisco Webex Contact Center Agent Desktop, browser-neutral Web platform Media Capture API, and IETF TURN. Deployments: multi-tenant, browser, and protocol. Sources checked 2026-09-30. Windows 11 system reboot audio behavior applies specifically to Chrome and Edge[^35].

## What remains uncertain

Webex Contact Center Desktop WebRTC port lists, jitter, latency, and packet loss limits, as well as any Cisco media test tool, are not covered by the sources below. Whether each vendor offers TURN over TCP or TLS 443 when UDP is blocked is not covered by the sources below. Chrome and Edge enterprise policies and site settings that pre-grant or block microphone access are not covered by the sources below. Amazon Connect audio optimization for cloud desktops and the VDIPlatform parameter are not covered by the sources below. The contents of the Genesys Cloud WebRTC Diagnostics app and the main troubleshooting article are not covered by the sources below. Browser softphone audio troubleshooting procedures for other contact center platforms are not covered by the sources below. Operating system microphone privacy settings on Windows and macOS that block browser capture are not covered by the sources below. Resolving conflicting Webex Contact Center browser minimum versions between separate Cisco articles is not covered by the sources below.

## Sources

[^1]: AWS's minimum workstation requirements for the CCP alone list 54 Kbps up and down for a 1:1 audio call, 2 GB RAM and a 2 GHz processor. Source: [Agent headset and workstation requirements for using the Contact Control Panel (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html), Section 'Workstation minimum requirements'. Checked 2026-09-30.
[^2]: AWS's procedure branches on the collected metrics: abnormal metrics are treated as a network issue and the absence of abnormal metrics as a workstation issue. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 4: Collect diagnostic data, 'Then branch on what you found'. Checked 2026-09-30.
[^3]: AWS's audio-quality procedure treats a CCP-log JitterBufferMillis above 30 ms and a RoundTripTime above 300 ms as abnormal. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 4: Collect diagnostic data, item 3 'CCP logs'. Checked 2026-09-30.
[^4]: AWS's workstation checks include testing whether an issue seen on a custom CCP also reproduces on the default CCP. Source: [Troubleshoot an agent's workstation for call quality and disconnect problems](https://docs.aws.amazon.com/connect/latest/adminguide/agent-ts.html), Bullet group 'To investigate issues with your custom Contact Control Panel (CCP)'. Checked 2026-09-30.
[^5]: AWS names a CloudWatch ToInstancePacketLossRate above 20% as the marker of a severe network issue and says audio quality can degrade at packet loss well below 20%. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 4: Collect diagnostic data, item 4 'Amazon CloudWatch'. Checked 2026-09-30.
[^6]: AWS says the average latency reported by the Endpoint Test Utility should not exceed 300 ms and that latency above this might cause audio quality issues. Source: [Troubleshoot your network for call quality and disconnect problems](https://docs.aws.amazon.com/connect/latest/adminguide/network-ts.html), Section 'Run the Endpoint Test Utility', first bullet. Checked 2026-09-30.
[^7]: The Amazon Connect Endpoint Test Utility validates that the browser supports WebRTC, determines whether the browser has access to media devices, runs latency tests to all active Regions and optionally to a given instance, and validates connectivity across the ports required for media streams. Source: [Validate connectivity to Connect Customer with the Endpoint Test Utility](https://docs.aws.amazon.com/connect/latest/adminguide/check-connectivity-tool.html), Intro list 'performs the following checks'. Checked 2026-09-30.
[^8]: AWS states that Firefox requires the CCP tab to be in focus for microphone and audio to pass, and that missed calls can occur when the CCP tab is not in focus. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Section 'CCP browser microphone access', second bullet and 'How to fix'. Checked 2026-09-30.
[^9]: AWS says firewalls, proxies and NAT in the agent path must allow UDP 3478 for media, TCP 443, and WebSocket traffic for the Amazon Connect softphone. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 5: Resolve agent-side issues, 'Network (path 3)', Firewall/proxy/NAT bullet. Checked 2026-09-30.
[^10]: AWS states that the CCP is compatible with all types of headsets and recommends a USB headset for the best experience. Source: [Agent headset and workstation requirements for using the Contact Control Panel (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html), Section 'Headset requirements'. Checked 2026-09-30.
[^11]: AWS states that if the agent's audio device does not support up to 48 kHz while the browser asserts a 48 kHz sample rate, an audible humming sound might be present in the agent's outgoing audio, and that this has been seen with Firefox but not with Chrome. Source: [Humming sound in the agent's audio device: Verify the headset and browser sample rates](https://docs.aws.amazon.com/connect/latest/adminguide/verify-sample-rate.html), Intro paragraph under the page title. Checked 2026-09-30.
[^12]: AWS's check for the humming symptom is to confirm, during a call, that input and output sample rates read 48000 under Media in Firefox about:support or on the Audio tab of chrome://media-internals, and to change the operating system sound settings or switch headsets if they do not. Source: [Humming sound in the agent's audio device: Verify the headset and browser sample rates](https://docs.aws.amazon.com/connect/latest/adminguide/verify-sample-rate.html), Sections 'Verify Firefox sample rate' and 'Verify Chrome sample rate'. Checked 2026-09-30.
[^13]: AWS describes the CCP as gathering ICE candidates by querying a STUN server and creating a TURN channel to Amazon Connect's TURN service to obtain a media relay address, then sending the SDP offer over a WebSocket signaling channel. Source: [How Contact Control Panel (CCP) uses WebRTC](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-uses-webrtc.html), Section 'How STUN, TURN and ICE work together', step 2. Checked 2026-09-30.
[^14]: AWS describes the CCP ice_collection_timeout error as occurring when a request to the softphone media endpoint on port 3478 over UDP times out and the CCP cannot collect ICE candidates, which results in missed calls; the first listed fix is to check that firewall or NAT settings allow outbound UDP 3478. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Section 'CCP WebRTC issues' and its 'How to fix'. Checked 2026-09-30.
[^15]: AWS states that CCP logs do not persist through browser refreshes; they are downloaded from the CCP through Settings, Download logs, as agent-log.txt. Source: [Download and review Connect Customer Contact Control Panel (CCP) logs](https://docs.aws.amazon.com/connect/latest/adminguide/download-ccp-logs.html), Section 'Download CCP logs'; Note under 'Review CCP logs using Connect Customer CCP Log Parser' step 3. Checked 2026-09-30.
[^16]: When the Amazon Connect CCP cannot access the agent's microphone it shows a red banner titled 'Microphone is not accessible', and AWS says this condition can cause missed calls. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Error message list, 'Microphone is not accessible'; section 'CCP browser microphone access'. Checked 2026-09-30.
[^17]: AWS states that the CCP can connect to the agent's microphone only when permission has been granted for the current session, and that the permission is stored in the browser's memory. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Section 'CCP browser microphone access', first bullet. Checked 2026-09-30.
[^18]: AWS states that NAT traversal can cause one-way or no audio if not properly configured, and advises static NAT where possible with keep-alives enabled. Source: [Troubleshoot your network for call quality and disconnect problems](https://docs.aws.amazon.com/connect/latest/adminguide/network-ts.html), Section 'Investigate network components and devices', NAT devices bullet. Checked 2026-09-30.
[^19]: AWS's audio-quality triage table attributes no audio in both directions (when not following a reboot) to Contact Control Panel setup, microphone access, or ports. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 1: Identify the symptom, table row 'No audio in both directions'. Checked 2026-09-30.
[^20]: AWS strongly recommends that media traffic between the agent workstation and AWS be exchanged directly and not traverse VPNs or other network accelerator hops. Source: [How Contact Control Panel (CCP) uses WebRTC](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-uses-webrtc.html), Section 'Best practices', first bullet. Checked 2026-09-30.
[^21]: AWS's audio-quality triage table attributes one-way audio to exclusive microphone or speaker control by another application, or to network address translation. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 1: Identify the symptom, table row 'One party can't hear the other (one-way audio)'. Checked 2026-09-30.
[^22]: AWS states that when an agent can hear the customer but the customer cannot hear the agent, the cause might be an application taking exclusive control of the agent's microphone or speaker. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Section 'One-way audio from customers'. Checked 2026-09-30.
[^23]: AWS states that QualityMetrics is returned by the DescribeContact API and in Kinesis contact-record events, and is not available when viewing the contact record in the admin website nor in EventBridge events. Source: [Troubleshoot audio quality issues by using QualityMetrics in the contact record](https://docs.aws.amazon.com/connect/latest/adminguide/sop-audio-qa.html), Section 'Where to find QualityMetrics'. Checked 2026-09-30.
[^24]: Amazon Connect QualityMetrics carries a QualityScore from 1.00 (poor) to 5.00 (high quality) and a PotentialQualityIssues list whose values include HighPacketLoss, HighRoundTripTime and HighJitterBuffer; an empty list suggests no audio quality issue was detected. Source: [Troubleshoot audio quality issues by using QualityMetrics in the contact record](https://docs.aws.amazon.com/connect/latest/adminguide/sop-audio-qa.html), Section 'Use QualityMetrics'. Checked 2026-09-30.
[^25]: AWS states that Amazon Connect records a call at the service, so degradation that is audible in the recording happened before the audio reached the service, and a clean recording with a complaint means the degradation happened on the path to the listener. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 3: Localize the problem using the call path. Checked 2026-09-30.
[^26]: AWS says remote agents might experience issues from an unstable connection, packet loss or high latency on their local network, and that this is compounded if a VPN is required to access resources. Source: [Set up your network to use the Connect Customer Contact Control Panel (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-networking.html), Section 'Agents using Connect Customer remotely'. Checked 2026-09-30.
[^27]: AWS lists as causes of HighRoundTripTime a low-bandwidth or constrained network, software such as VPN applications, physical distance between the agent and the instance's AWS Region, and routing audio through a virtualized desktop instead of redirecting the WebRTC session to the workstation. Source: [Troubleshoot audio quality issues by using QualityMetrics in the contact record](https://docs.aws.amazon.com/connect/latest/adminguide/sop-audio-qa.html), Section 'Use QualityMetrics', HighRoundTripTime causes. Checked 2026-09-30.
[^28]: AWS advises scoping an audio problem by population: a single affected agent points to that agent's workstation and headset, several agents in one location point to the local network or a pushed software update, and agents across locations point to an organization-level network change or a browser or OS auto-update. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 2: Determine the scope. Checked 2026-09-30.
[^29]: For stateless firewalls AWS additionally requires allowing inbound traffic to the browser's ephemeral port range: 49152-65535 UDP on Windows and 32768-61000 on Linux. Source: [Set up your network to use the Connect Customer Contact Control Panel (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-networking.html), Section 'Stateless firewalls', table. Checked 2026-09-30.
[^30]: AWS lists four agent-side diagnostics to run in order: the Endpoint Test Utility, QualityMetrics from the contact record, the CCP logs, and Amazon CloudWatch. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 4: Collect diagnostic data, numbered list. Checked 2026-09-30.
[^31]: AWS attributes the CCP error 'Failed to establish softphone connection' to the browser being unable to establish a media channel, often because the agent network blocks the TurnNLB domain or cannot resolve its DNS name. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Error message list, 'Failed to establish softphone connection'. Checked 2026-09-30.
[^32]: AWS's recommended domain allowlist for the CCP includes TurnNlb-*.elb.{region}.amazonaws.com on UDP port 3478, outbound, for send and receive traffic. Source: [Set up your network to use the Connect Customer Contact Control Panel (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-networking.html), Section 'Option 1 (recommended)', allowlist table row 'TurnNlb-*.elb.{region}.amazonaws.com'. Checked 2026-09-30.
[^33]: For a suspected network cause, AWS says to test whether the issue reproduces without the VPN and, if a VPN is required, whether split tunneling is enabled for real-time traffic. Source: [Troubleshoot audio quality issues in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshoot-audio-quality.html), Step 5: Resolve agent-side issues, 'Network (path 3)', VPN bullet. Checked 2026-09-30.
[^34]: AWS states that encrypted VPN tunnels add overhead and latency that degrade audio. Source: [Troubleshoot your network for call quality and disconnect problems](https://docs.aws.amazon.com/connect/latest/adminguide/network-ts.html), Section 'Investigate network components and devices', VPNs bullet. Checked 2026-09-30.
[^35]: AWS documents complete audio failure on the first call after a Windows 11 reboot in Chrome and Edge, attributes it to the network interface card restarting, and gives as the resolution changing the startup type of qWAVE, ndisuio.sys, dmwAppushSvc, SstpSvc and RasMan from Manual to Automatic. Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Section 'CCP audio issues on first call after system reboot when using Windows 11'. Checked 2026-09-30.
[^36]: AWS advises using fixed Ethernet rather than Wi-Fi wherever possible and describes wireless connections as prone to interference and congestion that lead to jitter and packet loss. Source: [Troubleshoot your network for call quality and disconnect problems](https://docs.aws.amazon.com/connect/latest/adminguide/network-ts.html), Sections 'Get started' and 'Investigate network components and devices', Wi-Fi bullet. Checked 2026-09-30.
[^37]: Cisco states that Webex Contact Center Desktop mode uses WebRTC to terminate calls and media directly in the Agent Desktop, with Cisco background noise removal built into the browser experience in that mode. Source: [Manage your calls in Agent Desktop](https://help.webex.com/en-us/article/mmcf7p/Manage-your-calls-in-Agent-Desktop), Section 'Background Noise Removal (BNR) for Desktop Mode'. Checked 2026-09-30.
[^38]: Cisco's Webex Contact Center Desktop system requirements give a minimum recommended network bandwidth of 512 kbps. Source: [System requirements for Webex Contact Center Desktop](https://help.webex.com/en-us/article/besrkt/System-requirements-for-Webex-Contact-Center), Section 'Bandwidth requirements'. Checked 2026-09-30.
[^39]: In Webex Contact Center Agent Desktop the 'Desktop' telephony option uses WebRTC as the calling capability, and an agent who selects it without browser permissions may see a message asking them to enable access through browser settings or contact their administrator. Source: [Sign in to Agent Desktop](https://help.webex.com/en-us/article/n6lmci8/Sign-in-to-Agent-Desktop), Telephony option list, 'Desktop' entry (heading not relayed). Checked 2026-09-30.
[^40]: Cisco states that Webex Contact Center Agent Desktop does not support headset control actions for WebRTC-based calls. Source: [Sign in to Agent Desktop](https://help.webex.com/en-us/article/n6lmci8/Sign-in-to-Agent-Desktop), Telephony option list, 'Desktop' entry note (heading not relayed). Checked 2026-09-30.
[^41]: Cisco's 'Troubleshoot Webex Contact Center Agent Desktop' article dated February 24, 2025 lists browser support from Chrome 76.0.3809, Firefox ESR 68 and Edge Chromium 79 (disputed). Source: [Troubleshoot Webex Contact Center Agent Desktop](https://help.webex.com/article/WBX9000037385), Section 'Browser Requirements'. Checked 2026-09-30.
[^42]: Cisco's Webex Contact Center Desktop system requirements article dated September 1, 2026 lists minimum browser versions of Chrome 144, Microsoft Edge 144 and Firefox 140 (disputed). Source: [System requirements for Webex Contact Center Desktop](https://help.webex.com/en-us/article/besrkt/System-requirements-for-Webex-Contact-Center), Section 'Minimum system requirements'. Checked 2026-09-30.
[^43]: Cisco's Webex Contact Center Desktop system requirements state that WebRTC supports Google Chrome, Microsoft Edge and Mozilla Firefox, and that Virtual Desktop Infrastructure does not support WebRTC. Source: [System requirements for Webex Contact Center Desktop](https://help.webex.com/en-us/article/besrkt/System-requirements-for-Webex-Contact-Center), Section 'Minimum system requirements'. Checked 2026-09-30.
[^44]: For Genesys Cloud embedded clients in Chrome, Genesys attributes audio that does not work at all to the WebRTC phone being unable to access the computer's microphone, and resolves it by selecting 'Pop WebRTC Phone window' under Menu, More, Settings, WebRTC. Source: [Audio issues with WebRTC phones](https://help.genesys.cloud/articles/audio-issues-with-webrtc-phones/), Issue 'Your audio does not work at all'. Checked 2026-09-30.
[^45]: For Genesys Cloud embedded clients in Firefox, Genesys says the browser keeps prompting for microphone access unless the user selects 'Remember this decision' and clicks Allow. Source: [Audio issues with WebRTC phones](https://help.genesys.cloud/articles/audio-issues-with-webrtc-phones/), Issue 'You are repeatedly prompted to allow your microphone'. Checked 2026-09-30.
[^46]: For non-optimal audio quality in Chrome, Genesys points embedded-client users to Advanced Mic Settings, which expose Automatic Mic Gain, Echo Cancellation and Noise Suppression, and says to clear Automatic Mic Gain when microphone volume fluctuates. Source: [Audio issues with WebRTC phones](https://help.genesys.cloud/articles/audio-issues-with-webrtc-phones/), Issue 'Your audio quality is not optimal'. Checked 2026-09-30.
[^47]: Genesys states that the in-client WebRTC phone settings test checks only for the microphone, and that additional troubleshooting opens the separate Genesys Cloud WebRTC Diagnostics app. Source: [Test your WebRTC phone settings](https://help.genesys.cloud/articles/test-your-webrtc-phone-settings/), Section 'Test your WebRTC phone settings'. Checked 2026-09-30.
[^48]: A softphone that connects on a direct internet path but shows Amazon Connect's 'Failed to establish softphone connection' or ice_collection_timeout error when the agent is on a VPN or restrictive network is most likely being denied UDP 3478 or DNS resolution for the TURN endpoint on that path (inferred). Source: [Contact Control Panel (CCP) Issues](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html), Error message list 'Failed to establish softphone connection'; section 'CCP WebRTC issues'. Checked 2026-09-30.
[^49]: MDN documents that getUserMedia rejects with NotAllowedError when the page is not in a secure context, when the user has denied access for the site, the session or globally, or when Permissions Policy does not allow the input source. Source: [MediaDevices: getUserMedia() method](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia), Section 'Exceptions', term 'NotAllowedError DOMException'. Checked 2026-09-30.
[^50]: MDN documents that getUserMedia rejects with NotFoundError when no media track of the requested type satisfies the constraints, and with NotReadableError when permission was granted but a hardware error at the operating system, browser or page level prevented access to the device. Source: [MediaDevices: getUserMedia() method](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia), Section 'Exceptions', terms 'NotFoundError DOMException' and 'NotReadableError DOMException'. Checked 2026-09-30.
[^51]: RFC 8656 advises using a TURN server only when a direct communication path cannot be found, noting that relaying is costly to the TURN server's provider. Source: [RFC 8656 — Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)](https://www.rfc-editor.org/rfc/rfc8656.txt), Section 1 (Introduction). Checked 2026-09-30.
[^52]: RFC 8656 defines four transports between a TURN client and server (UDP, TCP, TLS over TCP and DTLS over UDP) and specifies that TURN always uses UDP between the server and the peer. Source: [RFC 8656 — Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)](https://www.rfc-editor.org/rfc/rfc8656.txt), Section 3.1 (Transports) (section number as relayed). Checked 2026-09-30.
[^53]: Twilio's Voice SDK network requirements give 40 kbps uplink and downlink for Opus and 100 kbps for PCMU. Source: [Voice SDKs Network Connectivity Requirements](https://www.twilio.com/docs/voice/sdks/network-connectivity-requirements), Section 'Network bandwidth requirements'. Checked 2026-09-30.
[^54]: The Twilio Voice SDK raises constant-audio-input-level when the microphone input level is unchanged for 20 seconds, and Twilio says such audio warnings usually indicate that the microphone has been muted. Source: [Voice Insights SDK Events Reference (call quality events)](https://www.twilio.com/docs/voice/voice-insights/api/call/details-sdk-call-quality-events), Audio warnings table, row constant-audio-input-level. Checked 2026-09-30.
[^55]: Twilio recommends calling getUserMedia early to request device permission and populate device labels, stopping the tracks immediately afterwards, and selecting a specific microphone with device.audio.setInputDevice(). Source: [Voice JavaScript SDK: Best Practices](https://www.twilio.com/docs/voice/sdks/javascript/best-practices), Section 'Working with microphones and getUserMedia'. Checked 2026-09-30.
[^56]: The Twilio Voice JavaScript SDK raises ice-connectivity-lost when ICE transitions to the disconnected state, meaning the previously selected ICE connection was lost and renegotiation is required. Source: [Voice Insights SDK Events Reference (call quality events)](https://www.twilio.com/docs/voice/voice-insights/api/call/details-sdk-call-quality-events), Network warnings table, row ice-connectivity-lost. Checked 2026-09-30.
[^57]: The Twilio Voice JavaScript SDK raises low-bytes-received or low-bytes-sent when bytes received or sent equal zero for three consecutive seconds. Source: [Voice Insights SDK Events Reference (call quality events)](https://www.twilio.com/docs/voice/voice-insights/api/call/details-sdk-call-quality-events), Network warnings table, rows low-bytes-received and low-bytes-sent. Checked 2026-09-30.
[^58]: Twilio's Voice SDK network requirements list media as UDP on ports 10,000 to 60,000 toward 168.86.128.0/18 and signaling as TCP on port 443. Source: [Voice SDKs Network Connectivity Requirements](https://www.twilio.com/docs/voice/sdks/network-connectivity-requirements), Sections 'Voice Media Server connectivity requirements' and 'Signalling connectivity requirements'. Checked 2026-09-30.
[^59]: Twilio's Voice SDK network requirements give target thresholds of round-trip latency under 200 ms, jitter under 30 ms and packet loss under 3%. Source: [Voice SDKs Network Connectivity Requirements](https://www.twilio.com/docs/voice/sdks/network-connectivity-requirements), Section 'Network bandwidth requirements' (heading placement inferred from the relayed heading list). Checked 2026-09-30.
[^60]: The Twilio Voice SDK raises network warnings when, in 3 of the last 5 samples, round trip time exceeds 400 ms (high-rtt), jitter exceeds 30 ms (high-jitter), packet loss exceeds 1% (high-packet-loss), or mean opinion score falls below 3.5 (low-mos). Source: [Voice Insights SDK Events Reference (call quality events)](https://www.twilio.com/docs/voice/voice-insights/api/call/details-sdk-call-quality-events), Network warnings table, rows high-rtt, low-mos, high-jitter, high-packet-loss. Checked 2026-09-30.
