통화 종료 이유
LINE Planet에서는 1대1 통화와 그룹 통화에 대해 통화 종료의 이유를 제공하며, 이를 통화 종료 이유(disconnect reason)라고 합니다. 통화 종료 이유의 값은 클라이언트와 서버에 대해 공통으로 정의됩니다.
통화가 종료되면 통화 종료 이유가 통화 종료 소스와 함께 전달되므로 이 정보를 사용하여 통화 종료의 원인과 시작점을 확인할 수 있습니다.
Note
클라이언트와 서버에 공통으로 정의된 통화 종료 이유 값을 지원하는 SDK 버전은 다음과 같습니다.
- Android, iOS/macOS, Windows: PlanetKit 5.1 이상
- Web: WebPlanetKit 5.2 이상
관련 API
1대1 통화 또는 그룹 통화의 evtDisconnected
콜백이 전달하는 DisconnectedParam
에서 통화 종료의 이유와 소스 정보를 얻을 수 있습니다.
DisconnectedParam
은 다음 속성들로 구성됩니다.
속성 | 유형 | 설명 |
---|---|---|
source | DISCONNECT_SOURCE | 통화 종료의 시작점. 자세한 내용은 통화 종료 소스를 참조하세요. |
reason | DisconnectReason | 통화 종료 이유 개체 |
DisconnectReason
은 다음 속성들로 구성됩니다.
속성 | 유형 | 설명 |
---|---|---|
code | KIT_DISCONNECT_REASON | 통화 종료 이유의 코드입니다. 자세한 내용은 통화 종료 이유를 참조하세요. |
strCode | string | 통화 종료 이유 이름 |
통화 종료 소스
DISCONNECT_SOURCE
enum에는 다음과 같은 유형의 통화 종료 소스가 있습니다.
Enum 상수 | 값 | 설명 |
---|---|---|
CALLEE | callee | 1대1 통화 착신자 |
CALLER | caller | 1대1 통화 발신자 |
PARTICIPANT | participant | 그룹 통화 참여자 |
CLOUD_SERVER | cloud_server | LINE Planet Cloud 서버 |
APP_SERVER | app_server | 애플리케이션 서버 |
통화 종료 이유
KIT_DISCONNECT_REASON
enum은 두 가지 유형의 통화 종료 이유를 제공합니다. 하나는 WebPlanetKit과 네이티브 PlanetKit에 공통인 통화 종료 이유이고, 다른 하나는 WebPlanetKit에만 해당되는 통화 종료 이유입니다.
WebPlanetKit과 네이티브 PlanetKit 공통 통화 종료 이유
다음 통화 종료 이유는 WebPlanetKit과 네이티브 PlanetKit에 공통으로 존재합니다. 각 이유에 대한 자세한 내용은 아래 링크를 참조하세요.
Enum 상수 | 통화 종료 이유 |
---|---|
PLANETKIT_DISCONNECT_REASON_NORMAL | NORMAL |
PLANETKIT_DISCONNECT_REASON_DECLINE | DECLINE |
PLANETKIT_DISCONNECT_REASON_CELL_CALL | CELL_CALL |
PLANETKIT_DISCONNECT_REASON_INTERNAL_ERROR | INTERNAL_ERROR |
PLANETKIT_DISCONNECT_REASON_USER_ERROR | USER_ERROR |
PLANETKIT_DISCONNECT_REASON_INTERNAL_KIT_ERROR | INTERNAL_KIT_ERROR |
PLANETKIT_DISCONNECT_REASON_AUDIO_TX_NO_SRC | AUDIO_TX_NO_SRC |
PLANETKIT_DISCONNECT_REASON_CANCEL | CANCEL |
PLANETKIT_DISCONNECT_REASON_BUSY | BUSY |
PLANETKIT_DISCONNECT_REASON_NOANSWER | NOANSWER |
PLANETKIT_DISCONNECT_REASON_ALREADY_GOT_A_CALL | ALREADY_GOT_A_CALL |
PLANETKIT_DISCONNECT_REASON_MULTIDEV_IN_USE | MULTIDEV_IN_USE |
PLANETKIT_DISCONNECT_REASON_MULTIDEV_ANSWER | MULTIDEV_ANSWER |
PLANETKIT_DISCONNECT_REASON_MULTIDEV_DECLINE | MULTIDEV_DECLINE |
PLANETKIT_DISCONNECT_REASON_MAX_CALL_TIME_EXCEEDED | MAX_CALL_TIME_EXCEEDED |
PLANETKIT_DISCONNECT_REASON_NETWORK_UNSTABLE | NETWORK_UNSTABLE |
PLANETKIT_DISCONNECT_REASON_PUSH_ERROR | PUSH_ERROR |
PLANETKIT_DISCONNECT_REASON_AUTH_ERROR | AUTH_ERROR |
PLANETKIT_DISCONNECT_REASON_RELEASED_CALL | RELEASED_CALL |
PLANETKIT_DISCONNECT_REASON_SERVER_INTERNAL_ERROR | SERVER_INTERNAL_ERROR |
PLANETKIT_DISCONNECT_REASON_UNAVAILABLE_NETWORK | UNAVAILABLE_NETWORK |
PLANETKIT_DISCONNECT_REASON_APP_DESTROY | APP_DESTROY |
PLANETKIT_DISCONNECT_REASON_SYSTEM_SLEEP | SYSTEM_SLEEP |
PLANETKIT_DISCONNECT_REASON_SYSTEM_LOGOFF | SYSTEM_LOGOFF |
PLANETKIT_DISCONNECT_REASON_MTU_EXCEEDED | MTU_EXCEEDED |
PLANETKIT_DISCONNECT_REASON_ROOM_IS_FULL | ROOM_IS_FULL |
PLANETKIT_DISCONNECT_REASON_ALONE_KICK_OUT | ALONE_KICK_OUT |
PLANETKIT_DISCONNECT_REASON_REASON_ROOM_NOT_FOUND | ROOM_NOT_FOUND |
PLANETKIT_DISCONNECT_REASON_SERVICE_ACCESS_TOKEN_ERROR | SERVICE_ACCESS_TOKEN_ERROR |
PLANETKIT_DISCONNECT_REASON_SERVICE_INVALID_ID | SERVICE_INVALID_ID |
PLANETKIT_DISCONNECT_REASON_SERVICE_MAINTENANCE | SERVICE_MAINTENANCE |
PLANETKIT_DISCONNECT_REASON_SERVICE_BUSY | SERVICE_BUSY |
PLANETKIT_DISCONNECT_REASON_SERVICE_INTERNAL_ERROR | SERVICE_INTERNAL_ERROR |
PLANETKIT_DISCONNECT_REASON_SERVICE_HTTP_ERROR | SERVICE_HTTP_ERROR |
PLANETKIT_DISCONNECT_REASON_SERVICE_HTTP_CONNECTION_TIME_OUT | SERVICE_HTTP_CONNECTION_TIME_OUT |
PLANETKIT_DISCONNECT_REASON_SERVICE_INCOMPATIBLE_PLANETKIT_VER | SERVICE_INCOMPATIBLE_PLANETKIT_VER |
PLANETKIT_DISCONNECT_REASON_SERVICE_TOO_MANY_REQUESTS | SERVICE_TOO_MANY_REQUESTS |
WebPlanetKit에만 해당되는 통화 종료 이유
다음 통화 종료 이유는 WebPlanetKit에서만 사용할 수 있습니다.
Enum 상수 | 값 | 통화 유형 | 통화 종료 소스 | 설명 |
---|---|---|---|---|
PLANETKIT_DISCONNECT_REASON_WEB_RTC_ABORT | 1601 | 둘 다 | CALLER , PARTICIPANT | 사용자와 운영 체제 모두 하드웨어 장치에 대한 액세스 권한을 부여했지만, 장치를 사용할 수 없게 만드는 문제가 발생했습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_NOT_ALLOWED | 1602 | 둘 다 | CALLER , PARTICIPANT | 브라우저에서 장치에 대한 액세스가 허용되지 않습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_NOT_FOUND | 1603 | 둘 다 | CALLER , PARTICIPANT | 주어진 제약 조건을 충족하는 지정된 유형의 미디어 트랙을 찾을 수 없습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_NOT_READABLE | 1604 | 둘 다 | CALLER , PARTICIPANT | 사용자가 일치하는 장치를 사용할 수 있는 권한을 부여했지만 하드웨어 오류가 발생하여 장치에 액세스할 수 없습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_OVERCONSTRAINED | 1605 | 둘 다 | CALLER , PARTICIPANT | 지정된 제약 조건 때문에 요청된 기준을 충족하는 후보 장치가 없습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_SECURITY_ERROR | 1606 | 둘 다 | CALLER , PARTICIPANT | getUserMedia() 가 호출된 Document에서는 사용자 미디어 지원이 비활성화되었습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_RTC_TYPE_ERROR | 1607 | 둘 다 | CALLER , PARTICIPANT | getUserMedia() 의 잘못된 제약 때문에 연결이 끊어졌습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_NO_MEDIA_PACKET | 1608 | 둘 다 | CLOUD_SERVER | 서버가 그룹 통화 중에 미디어 패킷을 수신하지 않았기 때문에 통화 연결을 끊었습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_CALL_CONNECT_FAIL_BY_SERVER | 1609 | 둘 다 | CALLER , PARTICIPANT | 서버 장애로 인해 LINE Web Planet 서버에 접속하지 못했습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_CALL_CONNECT_FAIL_BY_CLIENT | 1610 | 둘 다 | CALLER , PARTICIPANT | 클라이언트 타임아웃으로 인해 LINE Web Planet 서버에 접속하지 못했습니다. |
PLANETKIT_DISCONNECT_REASON_WEB_SIGNALING_UNEXPECTED_DISCONNECTED | 1611 | 둘 다 | CALLER , PARTICIPANT | LINE Web Planet 서버와의 연결이 예기치 않게 끊어졌거나 클라이언트의 WebSocket에 문제가 있습니다. |