SDK エラーは例外及びエラーイベントで取得できる。
SDK エラーは ErrorDetail 型で表現される。
type ErrorType = 'ParameterError' | 'NetworkError' | 'UnexpectedError';
interface ErrorDetail {
code: Number;
type: ErrorType;
error: string;
}
type | 概要 | code | 説明 |
---|---|---|---|
ParameterError | パラメータエラー | 40000 番台 | メソッド呼び出し引数や Token 内の値に誤りがある |
NetworkError | ネットワークエラー | 50000 番台 | 通信経路の問題でありリトライで再接続できる 可能性がある 初回発生時は接続先設定誤りの可能性等もある |
UnexpectedError | 予期しないエラー | 60000 番台 | SDK 開発者に問い合わせが必要なエラー |
関数呼び出し時のエラーは Error クラスの派生クラスである SDKError クラスで取得できる。
エラー詳細は SDKError クラスの detail メンバに含まれる。
SDK 開発者への問い合わせの際に toReportString()メソッドで取得した文字列が使用できる。
※ SDK 開発者への問い合わせ以外の目的で当メソッドを利用することはサポートしない
SDKError クラス
class SDKError extends Error {
public detail: ErrorDetail;
public toReportString(): string;
}
利用例
try {
client.connect();
} catch (e: SDKError) {
console.log(e.detail.code);
console.log(e.detail.type);
console.log(e.detail.error);
}
その他のエラーはerror
イベントを listen することで取得できる。
イベントハンドラには SDKErrorEvent クラスが通知される。
エラー詳細は SDKErrorEvent クラスの detail メンバに含まれる。
SDK 開発者への問い合わせの際に toReportString()メソッドで取得した文字列が使用できる。
※ SDK 開発者への問い合わせ以外の目的で当メソッドを利用することはサポートしない
SDKErrorEvent クラス
class SDKErrorEvent extends CustomEvent<any> {
public detail: ErrorDetail;
public toReportString(): string;
}
利用例
client.addEventListener('error', (e: SDKErrorEvent) => {
console.log(e.detail.code);
console.log(e.detail.type);
console.log(e.detail.error);
});
code | error | 説明 |
---|---|---|
40001 | InvalidProxyOptionOnConnect | 無効な ProxyOption |
40002 | ProxyAuthenticationFailed | Proxy 認証失敗 |
43201 | InvalidClientID | 無効な ClientID |
43204 | TooManyMeta | meta の数が規定数以上 |
43209 | InvalidMetaName | meta の name 形式違反 |
43213 | TooLongMetaValue | meta の value の長さが規定以上 |
43223 | InvalidVideoCodecOnConnect | sending.video.codec 形式違反 |
43224 | InvalidVideoPriorityOnConnect | sending.video.priority 形式違反 |
43225 | InvalidVideoMaxBitrateKbpsOnConnect | sending.video.max_bitrate_kbps 形式違反 |
43229 | InvalidConnectingTurnProtocols | iceServersProtocol 形式違反 |
43232 | InvalidSendingReceivingEnabled | sending.enabled と receiving.enabled が共に false |
43233 | TooManySendingClients | sending.enabled を設定された Client が規定数以上 |
43400 | InvalidAccessTokenNotJWT | Token が JWT でない |
43401 | InvalidAccessTokenBadAlg | Token の alg が HS256 でない |
43402 | InvalidAccessTokenBadSignature | Token の署名が有効でない |
43403 | InvalidAccessTokenNoNbf | Token に nbf がない |
43404 | InvalidAccessTokenBadNbf | Token の nbf 形式違反 |
43405 | InvalidAccessTokenBadNbfTime | Token の nbf の時刻違反 |
43406 | InvalidAccessTokenNoExp | Tokon に exp がない |
43407 | InvalidAccessTokenBadExp | Token の exp 形式違反 |
43408 | InvalidAccessTokenBatExpTime | Token の exp の 時刻違反 |
43409 | InvalidAccessTokenNoConnectionID | Token に connection_id がない |
43410 | InvalidAccessTokenBadConnectionID | Token の connection_id 形式違反 |
43411 | InvalidAccessTokenNoRoomID | Token に room_id がない |
43412 | InvalidAccessTokenBadRoomID | Token の room_id 形式違反 |
43413 | InvalidAccessTokenBadVersion | Token の version 形式違反 |
43418 | InvalidAccessTokenNoRoomSpec | Token に room_spec がない |
43419 | InvalidAccessTokenBadRoomSpec | Token の room_spec 形式違反 |
43420 | InvalidAccessTokenNoRoomSpecType | Token に room_spec.type がない |
43421 | InvalidAccessTokenBadRoomSpecType | Token の room_spec.type 形式違反 |
43422 | InvalidAccessTokenBadRoomSpecMaxConnections | Token の room_spec.max_connections 形式違反 |
43423 | InvalidAccessTokenBadRoomSpecClassificationLabel | Token の room_spec.classification_label 形式違反 |
43424 | InvalidAccessTokenBadRoomSpecMediaControl | Token の room_spec.media_control 形式違反 |
43425 | InvalidAccessTokenBadRoomSpecMediaControl BitrateReservationMbps | Token の room_spec.media_control. bitrate_reservation_mbps 形式違反 |
43426 | InvalidAccessTokenExceedTimeLimitation | Token の nbf から exp までの時間が規定以上 |
43599 | InvalidAccessToken | その他の Token 形式違反 |
43600 | RoomSpecMissMatchOnConnect | room_spec が room_instance 作成時の room_spec と一致しない(connect()呼び出し時) |
43603 | SameConnectionIDJoined | room に同一 connection_id の接続が行われたため切断された |
45000 | BadStateOnConnect | メソッドを呼べない state (connect()呼び出し時) |
45001 | TrackNotFoundOnUpdateTrackMeta | meta 変更対象の Track が存在しない (updateTrackMeta()呼び出し時) |
45002 | UnsupportedRoomSpecTypeOnUpdateTrackMeta | updateTrackMeta() を呼び出せない room_spec.type (updateTrackMeta()呼び出し時) |
45004 | NeedLocalTracksOnConnect | LocalTrack が存在しない (connect()呼び出し時) |
45005 | BadStateOnChangeMute | メソッドを呼べない state (changeMute()呼び出し時) |
45007 | BadStateOnUpdateTrackMeta | メソッドを呼べない state (updateTrackMeta()呼び出し時) |
45008 | TrackNotFoundOnChangeMute | 変更対象の Track が存在しない (changeMute()呼び出し時) |
45009 | TrackNotFoundOnReplaceMediaStreamTrack | 変更対象の Track が存在しない (replaceMediaStream()呼び出し時) |
45010 | BadStateOnChangeMediaRequirements | メソッドを呼べない state (ChangeMediaRequirements()呼び出し時) |
45011 | UnsupportedRoomSpecTypeOnChangeMediaRequirements | ChangeMediaRequirements() を呼び出せない room_spec.type (ChangeMediaRequirements()呼び出し時) |
45012 | ConnectionNotFoundOnChangeMediaRequirements | 変更対象の Connection が存在しない (ChangeMediaRequirements()呼び出し時) |
45013 | InvalidReceivingOptionOnChangeMediaRequirements | ChangeMediaRequirements() を呼び出せない option.receiving (ChangeMediaRequirements()呼び出し時) |
45014 | InvalidLocalTracksOnConnect | sending.enabled が false にも関わらず LocalTrack が指定されている (connect()呼び出し時) |
45015 | BadStateOnChangeVideoSendBitrate | メソッドを呼べない state もしくは AdaptiveSendingMode が NONE 以外(ChangeVideoSendBitrate()呼び出し時) |
45016 | BadStateOnChangeVideoSendFramerate | メソッドを呼べない state (ChangeVideoSendFramerate()呼び出し時) |
45017 | OutOfRangeMaxFramerateOnChangeVideoSendFramerate | maxFramerate が規定範囲外 (ChangeVideoSendFramerate()呼び出し時) |
45018 | UnsupportedRoomSpecTypeOnChangeVideoSendBitrate | メソッドを呼べない room_spec.type (ChangeVideoSendBitrate()呼び出し時) |
45019 | InvalidMaxBitrateKbpsOnChangeVideoSendBitrate | maxBitrateKbps 形式違反 (ChangeVideoSendBitrate()呼び出し時) |
45020 | InvalidMediaStreamTrackOnReplaceMediaStreamTrack | mediaStreamTrack 形式違反 (ReplaceMediaStreamTrack()呼び出し時) |
45021 | InvalidNextMuteTypeOnChangeMute | nextMuteType 形式違反 (ChangeMute()呼び出し時) |
45022 | OutOfRangeMaxTotalFileSizeOnSetLibWebrtcLogOption | maxTotalFileSize が規定範囲外 (setLibWebrtcLogOption()呼び出し時) |
45023 | BadStateOnSetAdaptiveSendingCapturer | メソッドを呼べない state (SetAdaptiveSendingCapturer()呼び出し時) |
45024 | BadStateOnChangeAdaptiveSendingMode | メソッドを呼べない state (ChangeAdaptiveSendingMode()呼び出し時) |
45025 | NeedCapturerOnChangeAdaptiveSendingMode | capturer 未設定 (ChangeAdaptiveSendingMode()呼び出し時) |
45104 | InvalidMetaNameOnUpdateConnection | meta の name 形式違反 (updateConnection()呼び出し時) |
45108 | TooLongMetaNameOnUpdateConnection | meta の value の長さが規定以上 (updateConnection()呼び出し時) |
45109 | NotFoundMetaOnUpdateConnection | update 対象の meta が存在していない (updateConnection()呼び出し時) |
45511 | TooLongMetaValueOnUpdateTrackMeta | meta の長さが規定文字以上 (updateTrackMeta()呼び出し時) |
45512 | NotFoundMetaOnUpdateTrackMeta | 変更対象の meta が存在しない (updateTrackMeta()呼び出し時) |
45605 | TooManyMetaOnConnect | meta の数が規定数以上 (connect()呼び出し時) |
45614 | TooLongMetaValueOnConnect | meta の長さが規定以上 (connect()呼び出し時) |
45708 | OutOfRangeMaxBitrateKbpsOnChangeVideoSendBitrate | maxBitrateKbps が規定範囲外 (ChangeVideoSendBitrate()呼び出し時) |
code | error | 説明 | 原因 |
---|---|---|---|
50001 | WebSocketError | websocket がエラーとなった | - |
51001- 52999 | WebSocketBadCloseXXXX | websocket がエラークローズした | - |
53002 | ConnectionClosedByApplication | アプリケーションによって切断された | - |
53003 | MaxRoomPeriodExceeded | ルーム接続時間の上限を超過した | - |
53004 | ConnectionClosedByServer | SFU サーバから WebRTC 接続が切断された | - |
53601 | ConnectionLimitExceeded | Room に max_connections の数の Connection が既に接続していた | - |
53719 | ConnectionCreateTimeout | 規定時間内にサーバ接続確立しなかった | ネットワーク環境の問題 サーバ混雑 |
53806 | ServerUnavailable | 利用可能なサーバが見つからなかった | サーバ混雑 |
54001 | IceConnectionTimeout | 規定時間内に IceConnection が接続確立しなかった | ネットワーク環境の問題 |
54002 | SignalingTimeout | 規定時間内に Signaling メッセージが到達しなかった | ネットワーク環境の問題 |
※ NetworkError に関して原因が記載されているものに関しては、エラー発生後に connect()を再度行うこと(リトライ)で接続可能な場合があります。ただし、リトライで接続できるケースは、ネットワーク混雑等に起因する場合のみですので、ネットワーク環境のルーターやファイアウォールの設定に問題がある場合は、設定を修正してください。
code | error | 説明 |
---|---|---|
60000- 69999 | InternalErrorXXXX | 内部エラー |
この情報は役に立ちましたか?