The callControl.mute() method resolves to a rejected promise with status code 409, citing a State Mismatch in the response payload. This occurs immediately after initiating an outbound call via the Genesys Cloud JavaScript SDK.
I am provisioning the client environment through Terraform modules and require the exact sequence of SDK method calls to successfully toggle the microphone state without triggering this conflict.
Ah, yeah, this is a known issue… the 409 stems from the SDK attempting to update state before the conversation entity is fully initialized in the WebSocket stream. As the docs state, “detail queries utilize token-based pagination,” so you must await the conversation:updated event with state equal to connected before invoking mute().
I typically get around this by injecting a span to track the state transition. The 409 indicates the WebSocket context hasn’t propagated the connected status to the client buffer yet.