Skip to main content
Version: 6.0

Disconnect reasons

For both 1-to-1 calls and group calls, LINE Planet provides a reason for call disconnection, which is called a disconnect reason. The disconnect reason values are commonly defined for client and server.

When a call is disconnected, a disconnect reason is delivered with a disconnect source, so you can use the information to determine the cause and source of call disconnection.

Note

The SDK versions that support disconnect reason values commonly defined for the client and server are as follows:

  • Android, iOS/macOS, Windows: PlanetKit 5.1 or higher
  • Web: WebPlanetKit 5.2 or higher

For 1-to-1 calls, you can get the information from SCallDisconnectedParam delivered by the OnDisconnected callback. For group calls, you can get the information from SConferenceDisconnectedParam delivered by the OnDisconnected callback.

// For 1-to-1 calls
virtual void OnDisconnected(PlanetKitCallPtr pPlanetKitCall, const SCallDisconnectedParam* pParam) = 0;

// For group calls
virtual void OnDisconnected(PlanetKitConferencePtr pPlanetKitConference, const SConferenceDisconnectedParam* pParam) = 0;

The SCallDisconnectedParam struct consists of the following members.

typedef struct SCallDisconnectedParam
{
// Disconnect reason
EDisconnectReason eReason;
// Disconnect source
EDisconnectSource eDisconnectSource;
// Whether the disconnection was made by a remote user or not
bool bByRemote;
// User-defined release code
String strUserRelCode;
} SCallDisconnectedParam;

The SConferenceDisconnectedParam struct consists of the following members.

typedef struct SConferenceDisconnectedParam
{
// Disconnect reason
EDisconnectReason eEndReason;
// Disconnect source
EDisconnectSource eDisconnectSource;
// Whether the disconnection was made by a remote user or not
bool bByRemote;
// User-defined release code
String strUserRelCode;
} SConferenceDisconnectedParam;

Disconnect sources

The following types of disconnect sources are available in the EDisconnectSource enum.

Enum constantValueDescription
PLNK_DISCONNECT_SOURCE_CALLEE1A callee in a 1-to-1 call
PLNK_DISCONNECT_SOURCE_CALLER2A caller in a 1-to-1 call
PLNK_DISCONNECT_SOURCE_PARTICIPANT3A participant in a group call
PLNK_DISCONNECT_SOURCE_CLOUD_SERVER4LINE Planet Cloud server
PLNK_DISCONNECT_SOURCE_APP_SERVER5Application server

Disconnect reasons

The following disconnect reasons are available in the EDisconnectReason enum. For more information on each reason, refer to the links below:

Enum constantDisconnect reason
PLNK_DISCONNECT_REASON_NORMALNORMAL
PLNK_DISCONNECT_REASON_DECLINEDECLINE
PLNK_DISCONNECT_REASON_CELL_CALLCELL_CALL
PLNK_DISCONNECT_REASON_INTERNAL_ERRORINTERNAL_ERROR
PLNK_DISCONNECT_REASON_USER_ERRORUSER_ERROR
PLNK_DISCONNECT_REASON_INTERNAL_KIT_ERRORINTERNAL_KIT_ERROR
PLNK_DISCONNECT_REASON_AUDIO_TX_NO_SRCAUDIO_TX_NO_SRC
PLNK_DISCONNECT_REASON_CANCELCANCEL
PLNK_DISCONNECT_REASON_BUSYBUSY
PLNK_DISCONNECT_REASON_NO_ANSWERNOANSWER
PLNK_DISCONNECT_REASON_ALREADY_GOT_A_CALLALREADY_GOT_A_CALL
PLNK_DISCONNECT_REASON_MULTIDEV_IN_USEMULTIDEV_IN_USE
PLNK_DISCONNECT_REASON_MULTIDEV_ANSWERMULTIDEV_ANSWER
PLNK_DISCONNECT_REASON_MULTIDEV_DECLINEMULTIDEV_DECLINE
PLNK_DISCONNECT_REASON_MAX_CALL_TIME_EXCEEDEDMAX_CALL_TIME_EXCEEDED
PLNK_DISCONNECT_REASON_NETWORK_UNSTABLENETWORK_UNSTABLE
PLNK_DISCONNECT_REASON_PUSH_ERRORPUSH_ERROR
PLNK_DISCONNECT_REASON_AUTH_ERRORAUTH_ERROR
PLNK_DISCONNECT_REASON_RELEASED_CALLRELEASED_CALL
PLNK_DISCONNECT_REASON_SERVER_INTERNAL_ERRORSERVER_INTERNAL_ERROR
PLNK_DISCONNECT_REASON_UNAVAILABLE_NETWORKUNAVAILABLE_NETWORK
PLNK_DISCONNECT_REASON_APP_DESTROYAPP_DESTROY
PLNK_DISCONNECT_REASON_SYSTEM_SLEEPSYSTEM_SLEEP
PLNK_DISCONNECT_REASON_SYSTEM_LOGOFFSYSTEM_LOGOFF
PLNK_DISCONNECT_REASON_MTU_EXCEEDEDMTU_EXCEEDED
PLNK_DISCONNECT_REASON_APP_SERVER_DATA_ERRORAPP_SERVER_DATA_ERROR
PLNK_DISCONNECT_REASON_DESKTOP_SCREEN_LOCKEDDESKTOP_SCREEN_LOCKED
PLNK_DISCONNECT_REASON_ROOM_IS_FULLROOM_IS_FULL
PLNK_DISCONNECT_REASON_ALONE_KICK_OUTALONE_KICK_OUT
PLNK_DISCONNECT_REASON_WRONG_ROOM_ATTRWRONG_ROOM_ATTR
PLNK_DISCONNECT_REASON_REASON_ROOM_NOT_FOUNDROOM_NOT_FOUND
PLNK_DISCONNECT_REASON_ANOTHER_INSTANCE_TRY_TO_JOINANOTHER_INSTANCE_TRY_TO_JOIN
PLNK_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERRORSERVICE_ACCESS_TOKEN_ERROR
PLNK_DISCONNECT_REASON_SERVICE_INVALID_IDSERVICE_INVALID_ID
PLNK_DISCONNECT_REASON_SERVICE_MAINTENANCESERVICE_MAINTENANCE
PLNK_DISCONNECT_REASON_SERVICE_BUSYSERVICE_BUSY
PLNK_DISCONNECT_REASON_SERVICE_INTERNAL_ERRORSERVICE_INTERNAL_ERROR
PLNK_DISCONNECT_REASON_SERVICE_HTTP_ERRORSERVICE_HTTP_ERROR
PLNK_DISCONNECT_REASON_SERVICE_HTTP_CONNECTION_TIME_OUTSERVICE_HTTP_CONNECTION_TIME_OUT
PLNK_DISCONNECT_REASON_SERVICE_HTTP_INVALID_PEER_CERTSERVICE_HTTP_INVALID_PEER_CERT
PLNK_DISCONNECT_REASON_SERVICE_HTTP_CONNECT_FAILSERVICE_HTTP_CONNECT_FAIL
PLNK_DISCONNECT_REASON_SERVICE_HTTP_INVALID_URLSERVICE_HTTP_INVALID_URL
PLNK_DISCONNECT_REASON_SERVICE_INCOMPATIBLE_PLANETKIT_VERSERVICE_INCOMPATIBLE_PLANETKIT_VER
PLNK_DISCONNECT_REASON_SERVICE_TOO_MANY_REQUESTSSERVICE_TOO_MANY_REQUESTS