통화 종료 이유
LINE Planet에서는 1대1 통화와 그룹 통화에 대해 통화 종료의 이유를 제공하며, 이를 통화 종료 이유(disconnect reason)라고 합니다. 통화 종료 이유의 값은 클라이언트와 서버에 대해 공통으로 정의됩니다.
통화가 종료되면 통화 종료 이유가 통화 종료 소스와 함께 전달되므로 이 정보를 사용하여 통화 종료의 원인과 시작점을 확인할 수 있습니다.
Note
클라이언트와 서버에 공통으로 정의된 통화 종료 이유 값을 지원하는 SDK 버전은 다음과 같습니다.
- Android, iOS/macOS, Windows: PlanetKit 5.1 이상
- Web: WebPlanetKit 5.2 이상
관련 API
1대1 통화 또는 그룹 통화의 onDisconnected
콜백이 전달하는 PlanetKitDisconnectedParam
에서 위 정보를 얻을 수 있습니다.
// For 1-to-1 calls
fun onDisconnected(call: PlanetKitCall, param: PlanetKitDisconnectedParam)
// For group calls
fun onDisconnected(conference: PlanetKitConference, param: PlanetKitDisconnectedParam)
PlanetKitDisconnectedParam
클래스는 다음 속성들로 구성됩니다.
data class PlanetKitDisconnectedParam(
// Disconnect reason
val reason: PlanetKitDisconnectReason,
// Disconnect source
val source: PlanetKitDisconnectSource,
// Whether the disconnection was made by a remote user or not
val byRemote: Boolean,
// User-defined release code
val userCode: String?
)
통화 종료 소스
PlanetKitDisconnectSource
enum 클래스에는 다음과 같은 유형의 통화 종료 소스가 있습니다.
Enum 상수 | 값 | 설명 |
---|---|---|
CALLEE | 1 | 1대1 통화 착신자 |
CALLER | 2 | 1대1 통화 발신자 |
PARTICIPANT | 3 | 그룹 통화 참여자 |
CLOUD_SERVER | 4 | LINE Planet Cloud 서버 |
APP_SERVER | 5 | 애플리케이션 서버 |
통화 종료 이유
PlanetKitDisconnectReason
enum 클래스에서 제공하는 통화 종료 이유는 다음과 같습니다. 통화 종료 이유별로 더 상세한 정보를 확인하려면 아래 링크를 참조하세요.
Enum 상수 | 통화 종료 이유 |
---|---|
NORMAL | NORMAL |
DECLINE | DECLINE |
CELL_CALL | CELL_CALL |
INTERNAL_ERROR | INTERNAL_ERROR |
USER_ERROR | USER_ERROR |
INTERNAL_KIT_ERROR | INTERNAL_KIT_ERROR |
AUDIO_TX_NO_SRC | AUDIO_TX_NO_SRC |
CANCEL | CANCEL |
BUSY | BUSY |
NO_ANSWER | NOANSWER |
ALREADY_GOT_A_CALL | ALREADY_GOT_A_CALL |
MULTIDEV_IN_USE | MULTIDEV_IN_USE |
MULTIDEV_ANSWER | MULTIDEV_ANSWER |
MULTIDEV_DECLINE | MULTIDEV_DECLINE |
MAX_CALL_TIME_EXCEEDED | MAX_CALL_TIME_EXCEEDED |
NETWORK_UNSTABLE | NETWORK_UNSTABLE |
PUSH_ERROR | PUSH_ERROR |
AUTH_ERROR | AUTH_ERROR |
RELEASED_CALL | RELEASED_CALL |
SERVER_INTERNAL_ERROR | SERVER_INTERNAL_ERROR |
UNAVAILABLE_NETWORK | UNAVAILABLE_NETWORK |
APP_DESTROY | APP_DESTROY |
SYSTEM_SLEEP | SYSTEM_SLEEP |
SYSTEM_LOGOFF | SYSTEM_LOGOFF |
MTU_EXCEEDED | MTU_EXCEEDED |
APP_SERVER_DATA_ERROR | APP_SERVER_DATA_ERROR |
DESKTOP_SCREEN_LOCKED | DESKTOP_SCREEN_LOCKED |
ROOM_IS_FULL | ROOM_IS_FULL |
ALONE_KICK_OUT | ALONE_KICK_OUT |
WRONG_ROOM_ATTRIBUTE | WRONG_ROOM_ATTR |
REASON_ROOM_NOT_FOUND | ROOM_NOT_FOUND |
ANOTHER_INSTANCE_TRY_TO_JOIN | ANOTHER_INSTANCE_TRY_TO_JOIN |
SERVICE_ACCESS_TOKEN_ERROR | SERVICE_ACCESS_TOKEN_ERROR |
SERVICE_INVALID_ID | SERVICE_INVALID_ID |
SERVICE_MAINTENANCE | SERVICE_MAINTENANCE |
SERVICE_BUSY | SERVICE_BUSY |
SERVICE_INTERNAL_ERROR | SERVICE_INTERNAL_ERROR |
SERVICE_HTTP_ERROR | SERVICE_HTTP_ERROR |
SERVICE_HTTP_CONNECTION_TIME_OUT | SERVICE_HTTP_CONNECTION_TIME_OUT |
SERVICE_HTTP_INVALID_PEER_CERT | SERVICE_HTTP_INVALID_PEER_CERT |
SERVICE_HTTP_CONNECT_FAIL | SERVICE_HTTP_CONNECT_FAIL |
SERVICE_HTTP_INVALID_URL | SERVICE_HTTP_INVALID_URL |
SERVICE_INCOMPATIBLE_PLANETKIT_VER | SERVICE_INCOMPATIBLE_PLANETKIT_VER |
SERVICE_TOO_MANY_REQUESTS | SERVICE_TOO_MANY_REQUESTS |