This will be sent from the server when the client is no longer connected to the conference. This can occur for a variety of reasons, including the client being kicked from the conference, the client not being admitted into the conference, or the conference ending.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-09 UTC."],[],[],null,["# meet::SessionStatus Struct Reference\n\nmeet::SessionStatus\n===================\n\n| **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features. \n|\n| **To use the Meet Media API to access real-time media from a conference, the Google Cloud project, OAuth principal, and all participants in the conference must be enrolled in the Developer Preview Program.**\n\n\n`#include \u003csession_control_resource.h\u003e`\n\nThis is a singleton resource containing the status of the media session.\n\nSummary\n-------\n\n| ### Public types ||\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------|\n| [ConferenceConnectionState](#structmeet_1_1_session_status_1a8bf13597b265baa6f9349c0e6b5ea754)`{` ` `[kWaiting](#structmeet_1_1_session_status_1a8bf13597b265baa6f9349c0e6b5ea754aefa0879125e85c2990e0e6002747b04c)`,` ` `[kJoined](#structmeet_1_1_session_status_1a8bf13597b265baa6f9349c0e6b5ea754a148fbaeaccc3ce0b316198d4fc2f0bbd)`,` ` `[kDisconnected](#structmeet_1_1_session_status_1a8bf13597b265baa6f9349c0e6b5ea754af469e2a5b05d423dd49764004270f117) `}` | enum |\n| [MeetingDisconnectReason](#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864a)`{` ` `[kClientLeft](#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864aa2512db0d756675a5a322afeff4532c26)`,` ` `[kUserStopped](#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864aaf3b1e6840e2ad28b03b6908549e8e0d9)`,` ` `[kConferenceEnded](#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864aad7468faece365c65d105b291925ee94d)`,` ` `[kSessionUnhealthy](#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864aa13b365be0a8ca09e66392207c635a177) `}` | enum |\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [connection_state](#structmeet_1_1_session_status_1ac85363e91a7492990eac0c7f2a7c748b)` = ConferenceConnectionState::kUnknown` | [ConferenceConnectionState](/workspace/meet/media-api/reference/cpp/struct/meet/session-status#structmeet_1_1_session_status_1a8bf13597b265baa6f9349c0e6b5ea754) |\n| [disconnect_reason](#structmeet_1_1_session_status_1ae81c6e4b5ffb2a628cc1fed072f5348f)` = std::nullopt` | `std::optional\u003c `[MeetingDisconnectReason](/workspace/meet/media-api/reference/cpp/struct/meet/session-status#structmeet_1_1_session_status_1adf5fbdd68b438bc69c35cdc0dfbd864a)` \u003e` |\n\nPublic types\n------------\n\n### ConferenceConnectionState\n\n```c++\n meet::SessionStatus::ConferenceConnectionState\n``` \n\n| Properties ||\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `kDisconnected` | Session is not connected to the conference. This will be sent from the server when the client is no longer connected to the conference. This can occur for a variety of reasons, including the client being kicked from the conference, the client not being admitted into the conference, or the conference ending. |\n| `kJoined` | Session has fully joined the conference. |\n| `kWaiting` | Session is waiting to be admitted into the conference. The client may never observe this state if it was admitted or rejected quickly. |\n\n### MeetingDisconnectReason\n\n```c++\n meet::SessionStatus::MeetingDisconnectReason\n``` \n\n| Properties ||\n|---------------------|--------------------------------------------------------------------|\n| `kClientLeft` | The Media API client sent a leave request. |\n| `kConferenceEnded` | The conference ended. |\n| `kSessionUnhealthy` | Something else went wrong with the session. |\n| `kUserStopped` | A conference participant explicitly stopped the Media API session. |\n\nPublic attributes\n-----------------\n\n### connection_state\n\n```c++\nConferenceConnectionState meet::SessionStatus::connection_state =\n ConferenceConnectionState::kUnknown\n``` \n\n### disconnect_reason\n\n```c++\nstd::optional\u003c MeetingDisconnectReason \u003e meet::SessionStatus::disconnect_reason = std::nullopt\n```"]]