Quick question about managing WebRTC softphone settings via CX as Code pipelines. We are attempting to standardize the genesyscloud_webrtc resource across our dev and prod environments in AU-1 BYOC. The Terraform plan shows no drift, but the actual runtime behavior differs. Agents in Prod report audio latency spikes that are not present in Dev.
Environment:
- Genesys Cloud CLI v2.1.0
- Terraform Provider v1.42.0
- Region: AU-1 BYOC
- GitHub Actions runner: ubuntu-latest
We are using the following HCL to configure the WebRTC resource:
resource "genesyscloud_webrtc" "main" {
enabled = true
display_name = "Corporate WebRTC"
webrtc_config {
ice_servers {
urls = ["stuns:stun1.genesiscloud.com:443", "stuns:stun2.genesiscloud.com:443"]
username = null
credential = null
}
constraints {
audio {
echo_cancellation = true
noise_suppression = true
auto_gain_control = true
}
}
}
}
The CLI output confirms the resource is applied successfully:
$ genesyscloud webrtc list
Id: abc-123-def
Name: Corporate WebRTC
Enabled: true
However, when we query the API directly via /api/v2/users/{userId}/webrtc/status, the iceServers array in Prod contains additional turn servers that are not defined in our Terraform state. This suggests that the platform is overriding our configuration or that there is a caching issue in the BYOC tenant.
Reference: WebRTC Configuration Docs
Has anyone seen this behavior where the API returns different ICE servers than what is provisioned via CLI/Terraform? We need to ensure deterministic behavior for our automated audits. Any insights on how to force a refresh or verify the actual active configuration would be appreciated.