RICOH Live Streaming Access Token 外部仕様

本文書は RICOH Live Streaming がアプリケーションに要求する Access Token の仕様について記載する。

Access Token は client_id に対応する client_secret で HS256 で署名された JWT である。セキュリティ上 client_secret はアプリケーションのユーザに漏れてはならないため、アプリケーションが保有するサーバで生成することを想定する。

シーケンス

シーケンス

JWT 仕様

  • ヘッダの"alg"属性および署名アルゴリズムは"HS256"のみ可
  • クレームセット(署名される JSON オブジェクト)は以下のオブジェクト、サブオブジェクトを含むこと。記載されていない属性が含まれていた場合無視される

オブジェクト

属性名               必須 説明
nbfintこのトークンの有効期限の開始時刻。Unixtime。RFC7519で定義されている。
exp - nbf <= 3600(exp と nbf の差は 1 時間以内)でなければならない
expintこのトークンの有効期限の終了時刻。Unixtime。RFC7519で定義されている
room_idIDString入室する Room の ID
room_specRoomSpec入室する Room の仕様。同時に同じ Room に入室する Connection は同じ RoomSpec が指定されていなければならない
connection_idIDString自 Connection の ID。同じ room_id の Room 内に同じ connection_id の Connection が既に存在していた場合、既に存在していた方の Connection は43603 SameConnectionIDJoined の ParameterErrorで退室処理される

サブオブジェクト

RoomSpec

属性名 必須 デフォルト説明
type"sfu" |
"sfu_large" |
"p2p" |
"p2p_turn"
-Room の種類を指定する。

・sfu
SFURoom 型接続
ある程度の人数での双方向会議向け

・sfu_large
SFURoom 型接続の 1 つ
sfu と比べて送信可能 Connection 数が減り、受信可能 Connection 数が大きく増える

・p2p
P2PRoom 型接続
・1 対 1 など少人数でのコミュニケーション向け

・p2p_turn
P2PRoom 型接続の 1 つ
p2p と比べて TURN サーバが利用可能できるため、接続できる可能性が向上する
max_connectionsint-50(sfu_large 以外) | 300(sfu_large 時)Room に入室できる最大 Connection 数。
sfu, p2p, p2p_turn 指定時は 1 以上 50 以下が指定可能(互換性維持のため数値上は 10000 まで指定可能だが、内部で 50 に丸められる)。
sfu_large 指定時は 1 以上 300 以下を指定する。
media_controlMediaControl-type="p2p" または "p2p_turn" の場合 : なし
type="sfu" の場合 : {"bitrate_reservation_mbps": 10}
メディア制御設定
classification_labelIDString-"default"課金分類ラベル(※)

※ 「利用量の内訳を取得するためのラベル」です。詳細は利用量の内訳を取得するにはを参照ください。

MediaControl

属性名       必須 デフォルト説明
bitrate_reservation_mbpsint-10Room ごとに利用可能な帯域幅の最大値を Mbps 単位で指定
Room の利用帯域幅は、すべての接続の送信と受信の合計値であり、各接続が利用する帯域は、合計が bitrate_reservation_mbps の設定内に収まるように調整される
1 以上 250 以下(250 を越える値を設定したい場合こちらからお問い合わせください)
利用シナリオに応じた値の見積り/決定方法については想定利用シーン別料金を参照

JSON で定義されている型定義に加えて TypeScript 由来と独自定義により以下の型を導入する。

TypeScript から導入する型

  • String Literal Type
  • Union Type

独自定義

  • int
    • 整数型
  • サブオブジェクト名が記載されている場合はそのサブオブジェクト

参考情報

TypeScript から導入する型

  • String Literal Type
    • 概要: 指定された特定の文字列リテラルのみ許可
    • 例: "sfu"
  • Union Type
    • 概要: | の右辺と左辺の両方の型を許可
    • 例: "sfu" | "p2p"

エラー

Access Token に入力不足や不備があった場合、RICOH Live Streaming Client SDK エラー仕様の ParameterErrorに記載されている対応エラーが発生する。