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.
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
Related API
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 constant | Value | Description |
---|---|---|
PLNK_DISCONNECT_SOURCE_CALLEE | 1 | A callee in a 1-to-1 call |
PLNK_DISCONNECT_SOURCE_CALLER | 2 | A caller in a 1-to-1 call |
PLNK_DISCONNECT_SOURCE_PARTICIPANT | 3 | A participant in a group call |
PLNK_DISCONNECT_SOURCE_CLOUD_SERVER | 4 | LINE Planet Cloud server |
PLNK_DISCONNECT_SOURCE_APP_SERVER | 5 | Application 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 constant | Disconnect reason |
---|---|
PLNK_DISCONNECT_REASON_NORMAL | NORMAL |
PLNK_DISCONNECT_REASON_DECLINE | DECLINE |
PLNK_DISCONNECT_REASON_CELL_CALL | CELL_CALL |
PLNK_DISCONNECT_REASON_INTERNAL_ERROR | INTERNAL_ERROR |
PLNK_DISCONNECT_REASON_USER_ERROR | USER_ERROR |
PLNK_DISCONNECT_REASON_INTERNAL_KIT_ERROR | INTERNAL_KIT_ERROR |
PLNK_DISCONNECT_REASON_AUDIO_TX_NO_SRC | AUDIO_TX_NO_SRC |
PLNK_DISCONNECT_REASON_CANCEL | CANCEL |
PLNK_DISCONNECT_REASON_BUSY | BUSY |
PLNK_DISCONNECT_REASON_NO_ANSWER | NOANSWER |
PLNK_DISCONNECT_REASON_ALREADY_GOT_A_CALL | ALREADY_GOT_A_CALL |
PLNK_DISCONNECT_REASON_MULTIDEV_IN_USE | MULTIDEV_IN_USE |
PLNK_DISCONNECT_REASON_MULTIDEV_ANSWER | MULTIDEV_ANSWER |
PLNK_DISCONNECT_REASON_MULTIDEV_DECLINE | MULTIDEV_DECLINE |
PLNK_DISCONNECT_REASON_MAX_CALL_TIME_EXCEEDED | MAX_CALL_TIME_EXCEEDED |
PLNK_DISCONNECT_REASON_NETWORK_UNSTABLE | NETWORK_UNSTABLE |
PLNK_DISCONNECT_REASON_PUSH_ERROR | PUSH_ERROR |
PLNK_DISCONNECT_REASON_AUTH_ERROR | AUTH_ERROR |
PLNK_DISCONNECT_REASON_RELEASED_CALL | RELEASED_CALL |
PLNK_DISCONNECT_REASON_SERVER_INTERNAL_ERROR | SERVER_INTERNAL_ERROR |
PLNK_DISCONNECT_REASON_UNAVAILABLE_NETWORK | UNAVAILABLE_NETWORK |
PLNK_DISCONNECT_REASON_APP_DESTROY | APP_DESTROY |
PLNK_DISCONNECT_REASON_SYSTEM_SLEEP | SYSTEM_SLEEP |
PLNK_DISCONNECT_REASON_SYSTEM_LOGOFF | SYSTEM_LOGOFF |
PLNK_DISCONNECT_REASON_MTU_EXCEEDED | MTU_EXCEEDED |
PLNK_DISCONNECT_REASON_APP_SERVER_DATA_ERROR | APP_SERVER_DATA_ERROR |
PLNK_DISCONNECT_REASON_DESKTOP_SCREEN_LOCKED | DESKTOP_SCREEN_LOCKED |
PLNK_DISCONNECT_REASON_ROOM_IS_FULL | ROOM_IS_FULL |
PLNK_DISCONNECT_REASON_ALONE_KICK_OUT | ALONE_KICK_OUT |
PLNK_DISCONNECT_REASON_WRONG_ROOM_ATTR | WRONG_ROOM_ATTR |
PLNK_DISCONNECT_REASON_REASON_ROOM_NOT_FOUND | ROOM_NOT_FOUND |
PLNK_DISCONNECT_REASON_ANOTHER_INSTANCE_TRY_TO_JOIN | ANOTHER_INSTANCE_TRY_TO_JOIN |
PLNK_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR | SERVICE_ACCESS_TOKEN_ERROR |
PLNK_DISCONNECT_REASON_SERVICE_INVALID_ID | SERVICE_INVALID_ID |
PLNK_DISCONNECT_REASON_SERVICE_MAINTENANCE | SERVICE_MAINTENANCE |
PLNK_DISCONNECT_REASON_SERVICE_BUSY | SERVICE_BUSY |
PLNK_DISCONNECT_REASON_SERVICE_INTERNAL_ERROR | SERVICE_INTERNAL_ERROR |
PLNK_DISCONNECT_REASON_SERVICE_HTTP_ERROR | SERVICE_HTTP_ERROR |
PLNK_DISCONNECT_REASON_SERVICE_HTTP_CONNECTION_TIME_OUT | SERVICE_HTTP_CONNECTION_TIME_OUT |
PLNK_DISCONNECT_REASON_SERVICE_HTTP_INVALID_PEER_CERT | SERVICE_HTTP_INVALID_PEER_CERT |
PLNK_DISCONNECT_REASON_SERVICE_HTTP_CONNECT_FAIL | SERVICE_HTTP_CONNECT_FAIL |
PLNK_DISCONNECT_REASON_SERVICE_HTTP_INVALID_URL | SERVICE_HTTP_INVALID_URL |
PLNK_DISCONNECT_REASON_SERVICE_INCOMPATIBLE_PLANETKIT_VER | SERVICE_INCOMPATIBLE_PLANETKIT_VER |
PLNK_DISCONNECT_REASON_SERVICE_TOO_MANY_REQUESTS | SERVICE_TOO_MANY_REQUESTS |