Skip to main content
Version: 5.5

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

You can get the information from PlanetKitDisconnectedParam delivered by the didDisconnect callback for 1-to-1 calls or group calls.

// For 1-to-1 calls
func didDisconnect(_ call: PlanetKitCall, disconnected: PlanetKitDisconnectedParam)

// For group calls
func didDisconnect(_ conference: PlanetKitConference, disconnected: PlanetKitDisconnectedParam)

The PlanetKitDisconnectedParam class consists of the following properties.

public class PlanetKitDisconnectedParam: NSObject {
// Disconnect reason
@objc public let reason: PlanetKitDisconnectReason
// Disconnect source
@objc public let source: PlanetKitDisconnectSource
// Whether the disconnection was made by a remote user or not
@objc public let byRemote: Bool
// User-defined release code
@objc public let userCode: String?
}

Disconnect sources

The following types of disconnect sources are available in the PlanetKitDisconnectSource enumeration.

Enumeration caseValueDescription
callee1A callee in a 1-to-1 call
caller2A caller in a 1-to-1 call
participant3A participant in a group call
cloudServer4LINE Planet Cloud server
appServer5Application server

Disconnect reasons

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

Enumeration caseDisconnect reason
normalNORMAL
declineDECLINE
cellCallCELL_CALL
internalErrorINTERNAL_ERROR
userErrorUSER_ERROR
internalKitErrorINTERNAL_KIT_ERROR
micNoSourceAUDIO_TX_NO_SRC
cancelCANCEL
busyBUSY
noAnswerNOANSWER
alreadyGotACallALREADY_GOT_A_CALL
multiDeviceInUseMULTIDEV_IN_USE
multiDeviceAnswerMULTIDEV_ANSWER
multiDeviceDeclineMULTIDEV_DECLINE
maxCallTimeExceededMAX_CALL_TIME_EXCEEDED
networkUnstableNETWORK_UNSTABLE
pushErrorPUSH_ERROR
authErrorAUTH_ERROR
releasedCallRELEASED_CALL
serverInternalErrorSERVER_INTERNAL_ERROR
unavailableNetworkUNAVAILABLE_NETWORK
appDestroyAPP_DESTROY
systemSleepSYSTEM_SLEEP
systemLogoffSYSTEM_LOGOFF
mtuExceededMTU_EXCEEDED
appServerDataErrorAPP_SERVER_DATA_ERROR
desktopScreenLockedDESKTOP_SCREEN_LOCKED
roomIsFullROOM_IS_FULL
aloneKickOutALONE_KICK_OUT
wrongRoomAttributeWRONG_ROOM_ATTR
roomNotFoundROOM_NOT_FOUND
anotherInstanceTryToJoinANOTHER_INSTANCE_TRY_TO_JOIN
serviceAccessTokenErrorSERVICE_ACCESS_TOKEN_ERROR
serviceInvalidIDSERVICE_INVALID_ID
serviceMaintenanceSERVICE_MAINTENANCE
serviceBusySERVICE_BUSY
serviceInternalErrorSERVICE_INTERNAL_ERROR
serviceHttpErrorSERVICE_HTTP_ERROR
serviceHttpConnectionTimeOutSERVICE_HTTP_CONNECTION_TIME_OUT
serviceHttpInvalidPeerCertSERVICE_HTTP_INVALID_PEER_CERT
serviceHttpConnectFailSERVICE_HTTP_CONNECT_FAIL
serviceHttpInvalidUrlSERVICE_HTTP_INVALID_URL
serviceIncompatiblePlanetKitVerSERVICE_INCOMPATIBLE_PLANETKIT_VER
serviceTooManyRequestsSERVICE_TOO_MANY_REQUESTS