Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Core SDK

Vivox Core SDK

Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
      • Channel name criteria
      • Channel types
      • Echo channels
      • Positional channels
      • Volume differences
      • Channel identifiers for large scale games
      • Participant events
      • Channel webhooks
      • Join a channel
      • Leave a channel
      • Kick a user from a channel
      • Manage session groups
      • Audio injection
      • Methods for setting audio levels
      • Derumbler
      • Automatic connection recovery
        • Network connection state events
        • Network reconnect failure
        • Partial connection failure
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Partial connection failure

Learn how to handle media stream updated events.
Read time 1 minute
Last updated 8 months ago

In some cases, such as when an application is suspended in the background, the connection to Vivox services can be disrupted so that voice communication terminates without signing out the user. In that case, a
vx_evt_media_stream_updated
event will fire with a state of
session_media_disconnected
and a non-zero
status_code
.
Note
An event that indicates the media stream has disconnected is not guaranteed to occur before a reconnect failure and user sign out.
The following sample code is an example of how to handle media stream updated events.
void HandleMediaStreamUpdatedEvent(vx_evt_connection_state_changed &evt){    vx_session_media_state media_state = evt.state;    if (evt.state == session_media_connected)    {        printf("Connected to voice session %s\n", evt.session_handle);    }    else if (evt.state == session_media_disconnected)    {        if (evt.status_code != 0)        {            printf("Disconnected from voice session %s with status %d:%s\n", evt.session_handle, evt.status_code, vx_get_error_string(evt.status_code));            // Expect a session_removed event to follow.            // Wait to re-join the session until after the network connection is restored.        }        else        {            printf("Disconnected from voice session %s\n", evt.session_handle);        }    }}

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page