Skip to main content

할 수 있는 일

게이트웨이 오류 코드를 SDK 오류 클래스로 받아요. 전부 공통 베이스(TelloError / TelloException)를 상속하고, 게이트웨이 코드를 code 필드에 담고 있어요.
분기는 code로 하고 메시지로는 하지 마세요. 메시지는 언제든 다시 쓰일 수 있는 표시용 문자열이에요.
명령 단위 오류는 소켓을 닫지 않고 error 이벤트 구독자에게도 전달돼요. 통화를 끝낸 오류라면 waitClosed가 그 오류를 다시 던져요.

명령 검증 · 세션 상태

createCall 거부: 계정 정책

전부 CallRefusedError예요. 통화가 만들어지기 전에 거부되므로 call.createdcallId도 과금도 없어요. 앞의 세 가지는 계정 소유자가 조치할 수 있어요.

createCall 거부: 서비스측 상태

전부 CallProviderError예요. 호출자가 원인을 만들지 않았고 고칠 수도 없어요.
게이트웨이는 이 거부들을 재시도하지 않아요. 거부는 한 번 전달되고 연결은 바로 다시 createCall을 낼 수 있는 상태가 돼요. 재시도 정책은 여러분 몫이고, 나중에 성공할 수 있는 것은 concurrentLimitExceeded · callProviderDraining · callProviderUnavailable 세 가지뿐이에요.

연결 종료

4401·1001 말고 다른 코드로 닫혀도, 통화가 진행 중이었다면 ConnectionClosedError가 나요. 통화가 없는 상태의 종료는 오류가 아니에요. 하트비트 타임아웃으로 끊길 때는 close 프레임 없이 소켓이 종료돼요.

주의사항

  • 재연결·세션 재개 프로토콜이 없어요. 비정상 종료는 통화를 처음부터 다시 시작해요.
  • 언어별로 클래스 이름만 달라요. Java는 Error 대신 Exception을 써요 (ValidationException 등).

관련 문서