통화 종료 이유
LINE Planet에서는 1대1 통화와 그룹 통화에 대해 통화 종료의 이유를 제공하며, 이를 통화 종료 이유(disconnect reason)라고 합니다. 통화 종료 이유의 값은 클라이언트와 서버에 대해 공통으로 정의됩니다.
통화가 종료되면 통화 종료 이유가 통화 종료 소스와 함께 전달되므로 이 정보를 사용하여 통화 종료의 원인과 시작점을 확인할 수 있습니다.
Note
클라이언트와 서버에 공통으로 정의된 통화 종료 이유 값을 지원하는 SDK 버전은 다음과 같습니다.
- Android, iOS/macOS, Windows: PlanetKit 5.1 이상
- Web: WebPlanetKit 5.2 이상
관련 API
1대1 통화의 경우 OnDisconnected
콜백이 전달하는 SCallDisconnectedParam
에서 정보를 얻을 수 있습니다. 그룹 통화의 경우 OnDisconnected
콜백이 전달하는 SConferenceDisconnectedParam
에서 정보를 얻을 수 있습니다.
// 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;
SCallDisconnectedParam
구조체는 다음 멤버들로 구성됩니다.
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;
SConferenceDisconnectedParam
구조체는 다음 멤버들로 구성됩니다.
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;
통화 종료 소스
EDisconnectSource
enum에는 다음과 같은 유형의 통화 종료 소스가 있습니다.
Enum 상수 | 값 | 설명 |
---|---|---|
PLNK_DISCONNECT_SOURCE_CALLEE | 1 | 1대1 통화 착신자 |
PLNK_DISCONNECT_SOURCE_CALLER | 2 | 1대1 통화 발신자 |
PLNK_DISCONNECT_SOURCE_PARTICIPANT | 3 | 그룹 통화 참여자 |
PLNK_DISCONNECT_SOURCE_CLOUD_SERVER | 4 | LINE Planet Cloud 서버 |
PLNK_DISCONNECT_SOURCE_APP_SERVER | 5 | 애플리케이션 서버 |
통화 종료 이유
EDisconnectReason
enum에서 제공하는 통화 종료 이유는 다음과 같습니다. 통화 종료 이유별로 더 상세한 정보를 확인하려면 아래 링크를 참조하세요.
Enum 상수 | 통화 종료 이유 |
---|---|
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 |