Symptoms:
The Vivox SDK status code 20000 ("XMPP unknown error") can occur in two different scenarios when failing to successfully mute a user.
Vivox Core SDK only: 20000 can also occur when issuing an add_session request using a channel URI with a domain that does not match the one you're connected too.
Cause:
Status code 20000 will occur if one of the following conditions is true when the mute request is processed:
- In all Vivox SDKs: The channel participant target of the mute operation is no longer in the channel.
- In Unity/Unreal SDK: You tried to mute a user in a text-only channel.
- In Core SDK: You tried to mute a user in a text-only channel using a
vx_mute_scope
other thanmute_scope_text
.
Vivox Core SDK only: Let's say you sign in user sip:.blindmelon-AppName-dev.jerky.@tla.vivox.com
, then try to connect them to voice channel sip:confctl-g-blindmelon-AppName-dev.testchannel@qat.vivox.com
. The vx_req_sessiongroup_add_session
request will fail with 20000 because of the mismatched domains.
Resolution:
- In all Vivox SDKs: When connected to channel for audio (or audio + text), your application should treat status code 20000 resulting from a channel participant mute request as a success: the target user is no longer in the channel, so their mute status is no longer relevant.
- In Unity/Unreal SDK: Muting users in a text-only channel is not possible.
- In Core SDK: When muting a user in a text-only channel, ensure you set the request field
vx_mute_scope scope
to a value ofmute_scope_text
.
Vivox Core SDK only: Users connected to one Vivox domain cannot join a channel hosted on another domain. Cases where this is attempted are typically accidental, resulting from a typo or incorrect variable usage.