############## リリースノート ############## CHANGE 後方互換性のない変更 UPDATE 後方互換性がある変更 ADD 後方互換性がある追加 FIX バグ修正 .. * で箇条書きなのは未実装、- の場合は実装済み .. .. _v2023.3.0-canary: .. .. 2023.3.0-canary .. =================== .. クラスターリレー機能 .. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. .. **これは実験的機能です** .. .. クラスター利用時に、一定以上の接続になったタイミングで別ノードからの接続を許可する仕組みを追加しました。 .. .. * [ADD] sora.conf にクラスター利用時にどのノードからも特定のチャネルに接続できるリレー機能を利用する ``cluster_relay`` を追加しました .. .. - デフォルトで ``true`` が設定されています .. * [ADD] sora.conf にリレー機能を利用する際に、リダイレクトを利用するかどうかを指定する ``cluster_relay_redirect`` を追加しました .. .. - デフォルトで ``true`` が設定されています .. - ``true`` の場合は一定数の接続までは特定のノードに接続を集約し、それ以上の接続がある場合は別ノードにリダイレクトします .. - ``false`` を指定すると、可能な限りリダイレクトをせずにそのノードでリレーが行われます .. .. - そのノードに障害が発生していたり、同時接続数がライセンス満杯の場合はリダイレクトが発生します .. * [ADD] クラスターのノード間でのライセンスの同時接続数を共有する機能を追加しました .. .. - この機能は :ref:`max_nodes_license` のみで利用できます .. - 同時接続数が 100 の 3 ノードのクラスターで動作させた場合に、 .. 1 ノードが障害発生した場合は残りの 2 ノードが最大同時接続数が 150 に一時的に引き上げられます .. その後、障害が発生していたノードが復旧した歳には、最大同時接続数は 100 に戻ります .. 100 を超えている接続は切断されたりはしません .. _v2023.2.5: 2023.2.5 ======================== **ホットフィックスアップデート** :リリース: 2024-03-08 - [FIX] 録画機能で録画中、出力済の分割録画ファイルのファイルディスクリプタを掴み続ける問題を修正しました .. _v2023.2.5: 2023.2.4 ======================== **ホットフィックスアップデート** .. important:: このリリースはクラスターをご利用いただいているお客様にのみ提供しております。 :リリース: 2024-02-27 - [FIX] クラスター利用時にでリーダーノードがダウンした場合に、他のノードのセッションも終了してしまう問題を修正しました .. _v2023.2.3: 2023.2.3 ======================== **バグフィックスアップデート** :リリース: 2024-02-07 - [FIX] ``"multistream": false`` を指定して接続した場合に、配信/視聴ができない問題を修正しました - [FIX] セッションウェブフックが一部の HTTP サーバーで正常に処理できず、エラーになる問題を修正しました - [FIX] データチャネルの終了時にクライアント側でワーニングが出力される問題を修正しました .. _v2023.2.2: 2023.2.2 =================== **バグフィックスアップデート** :リリース: 2024-01-04 変更履歴 -------- - [FIX] ``sora.conf`` の :ref:`sora_conf-event_webhook_url` が未指定の状態で録画を開始した場合、セッションが破棄されない問題を修正しました - [FIX] ウェブフックで mTLS 利用時に、特定の条件下でクライアント証明書を送らなくなる問題を修正しました - ウェブフックで HTTPS を利用する場合は TLS 1.2 のみを利用するように変更しました - [FIX] ウェブフックで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました - [FIX] 統計エクスポーターで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました - [FIX] 音声ストリーミングで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました - [FIX] API ログの書き込みに失敗した場合でも、 API の処理を中断しないように修正しました - [FIX] :ref:`20220629.PurgeClusterNode` API の API ログ操作名が ``LeaveCluster`` となっていたのを ``PurgeClusterNode`` に修正しました - [FIX] クラスターに参加済のノードが、別クラスターに対する :ref:`20211215.JoinCluster` API を受け入れてしまう問題を修正しました - [FIX] 録画機能で大幅にパケットの到着が遅れている場合、分割録画に失敗することがある問題を修正しました .. _v2023.2.0: 2023.2.0 =================== **メジャーアップデート** :リリース: 2023-12-20 ハイライト ------------------ - セッション単位で録画する新しい録画機能を追加しました - 今までの録画機能は :doc:`レガシー録画機能 ` と名前を変更しました - レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます - レガシー録画機能は 2025 年 12 月リリース予定の Sora にて廃止されます - 詳細は :doc:`録画機能 (セッション単位) ` をご確認ください - 接続単位で録画をブロックできる機能を追加しました - 今まではチャネルに参加している全ての接続が録画されていましたが、新しい録画機能では接続単位で録画をブロックできるようになりました - 新しい録画機能でのみ利用できます - より大規模な配信を可能にする配信ワーカー機能を追加しました - 今まで音声や映像をクライアントに配信するワーカーは 1 つでしたが、配信するワーカーを複数にすることで、より多くのユーザーに配信することができるようになりました - データチャネルの負荷を下げるために SCTP パケットのチェックサム計算を省略する機能を追加しました - 利用するにはクライアント側もチェックサム計算を省略する機能に対応している必要があります - ウェブフックで IPv6 アドレスが利用できるようになりました - ウェブフックなどでルート CA 証明書に OS 組み込みのものを利用するようにしました 正式版 -------- - :doc:`セッションウェブフック ` が正式版になりました - :doc:`DataChannel 経由のシグナリング ` が正式版になりました - :doc:`メッセージング機能 ` が正式版になりました 廃止情報 -------- - ``sora.conf`` の ``legacy_log_format`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-legacy_log_format` をご確認ください - ``sora.conf`` の ``legacy_log_extension`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-legacy_log_extension` をご確認ください - ``sora.conf`` の ``legacy_webhook_audio_video_json_structure`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-legacy_webhook_audio_video_json_structure` をご確認ください 破壊的変更 --------------- - ``sora.conf`` の :ref:`sora_conf-signaling_notify_metadata` を ``false`` にした場合でもシグナリング通知の ``data`` が含まれるようになりました - ``sora.conf`` の以下の設定を全て ``false`` にした場合、シグナリング通知の ``data`` が含まれなくなりました - :ref:`sora_conf-signaling_notify_metadata` - :ref:`sora_conf-signaling_notify_client_id` - :ref:`sora_conf-signaling_notify_bundle_id` - :ref:`sora_conf-signaling_notify_connection_id` - :ref:`sora_conf-signaling_notify_connection_created_timestamp` - 実験的機能のクラスター機能利用時のセッションウェブフック :ref:`session-webhook-session.destroyed` に ``connections`` が含まれなくなりました - 実験的機能のクラスター機能のログを ``cluster.jsonl`` に出力するよう変更しました - 実験的機能のセッションウェブフック :ref:`session-webhook-audio-streaming.started` に ``max_connections`` と ``total_connections`` が含まれなくなりました - 実験的機能のセッションウェブフック :ref:`session-webhook-audio-streaming.started` に ``max_connections`` と ``total_connections`` が含まれなくなりました 変更履歴 -------- - [CHANGE] ウェブフックなどで利用するルート CA 証明書に OS 組み込みのものを利用するように変更しました - Ubuntu の場合は ``apt install ca-certificates`` でインストールされる証明書を利用します - RHEL の場合は ``dnf install ca-certificates`` でインストールされる証明書を利用します - 詳細は :ref:`webhook_os_cacerts` をご確認ください - [UPDATE] DataChannel を利用したメッセージングのみで接続する場合に ``role`` が ``sendrecv`` 以外でも接続ができるようになりました - [ADD] シグナリング ``"type": "offer"`` に ``channel_id`` と ``session_id`` を追加しました - [ADD] ``connection.jsonl`` の ``ice_connection_state`` に ICE コネクションステート ``checking`` と ``disconnected`` だった時間を追加しました - [ADD] Sora が利用している Erlang VM の設定を追加できる環境変数 ``SORA_ADDITIONAL_ERL_ARGS`` を追加しました - [ADD] 認証成功時の払い出しに検証用の RTP パケットロスシミュレーターの設定値、 ``rtp_packet_loss_simulator_incoming`` と ``rtp_packet_loss_simulator_outgoing`` が指定できるようになりました - [ADD] ``sora.jsonl`` と ``internal.jsonl`` に UUIDv4 を Base32 でエンコードしたユニークな ID を含めるようにしました - ``"id": "base32(uuidv4)"`` - [FIX] データチャネルで利用する SCTP のストリーム ID 採番を RFC 8832 に準拠させました - https://www.rfc-editor.org/rfc/rfc8832.html - [FIX] 録画機能で H.264 利用時に送られてくる分割ペイロードが壊れている場合は処理をスキップするように修正しました OBS WHIP ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** .. sora_client の統計情報は非公開なので、リリースノートに含めない - [ADD] OBS WHIP で User-Agent として送られてくる情報を sora_client としてウェブフックで送信するようにしました .. code-block:: javascript "sora_client": { "raw": "Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)", "type": "OBS-Studio", "version": "30.0.0", "environment": "environment":"Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)" }, - [ADD] OBS WHIP で AV1 が動作するようにしました - OBS WHIP で AV1 を配信する仕組みは |date| 現在、 OBS には組み込まれていません 転送フィルター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** 転送フィルターに ``version`` や ``metadata`` が指定できるようになりました。 ``version`` を指定することで、転送フィルターの更新 API が並列で実行されても期待した値に変更することができるようになりました。 - [ADD] 転送フィルターに ``version`` を設定できるようになりました - [ADD] 転送フィルターに ``metadata`` を設定できるようになりました - [ADD] 転送フィルター API :ref:`CreateChannelForwardingFilter` と :ref:`CreateConnectionForwardingFilter` に ``version`` を指定できるようになりました - [ADD] 転送フィルター API :ref:`CreateChannelForwardingFilter` と :ref:`UpdateChannelForwardingFilter` に ``metadata`` を指定できるようになりました - [ADD] 転送フィルター API :ref:`CreateConnectionForwardingFilter` と :ref:`UpdateConnectionForwardingFilter` に ``metadata`` を指定できるようになりました - [ADD] 転送フィルター API :ref:`UpdateChannelForwardingFilter` と :ref:`UpdateConnectionForwardingFilter` API に指定した ``expected_version`` が既存の ``version`` と一致していない場合は更新エラーになるようになりました - ``expected_version`` が既存のバージョンと一致した場合のみ ``desired_version`` で指定した値で ``version`` の値を更新します - [ADD] セッションウェブフックの戻り値に ``version`` と ``metadata`` を指定できるようになりました - [ADD] 認証成功の払い出し時に ``version`` と ``metadata`` を指定できるようになりました - [ADD] シグナリング時に ``version`` と ``metadata`` を指定できるようになりました セッション API ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] 指定したセッションを取得する :ref:`20231220.GetSession` API を追加しました - ``channel_id`` を指定してセッションを取得します - [ADD] セッション一覧を取得する :ref:`20231220.ListSessions` API を追加しました - 全てのセッション一覧を取得します 録画機能 ^^^^^^^^ - [ADD] ``sora.conf`` に単一録画ファイルと分割録画ファイルの両方を出力する機能を有効にするかどうかを指定する :ref:`sora_conf-recording_dual_output` を追加しました - デフォルトは ``true`` です - ``false`` に指定した場合は ``単一録画ファイルと分割録画ファイルの両方が出力`` のパターンを指定できなくなります - [ADD] ``sora.conf`` に録画期限の最大値を指定する :ref:`sora_conf-recording_max_expire_time` を追加しました - デフォルトは ``86400 s`` です - 設定できる最大値は ``86400 s`` です - レガシー録画機能では一括録画と一括&分割録画で ``expire_time`` が指定できます - 新しい録画機能(セッション単位)では一括録画、分割録画、一括&分割録画で ``expire_time`` が指定できます - [ADD] ``sora.conf`` に分割録画時の分割時間の最大値を指定する :ref:`sora_conf-recording_max_split_duration` を追加しました - デフォルトは ``86400 s`` です - 設定できる最大値は ``86400 s`` です - [ADD] ``sora.conf`` に一括録画を含む場合に録画期限の設定を要求する :ref:`sora_conf-recording_expire_time_required` を追加しました - **この設定は一括録画時に録画ファイルが大きくなりすぎるのを防ぐための設定です** - デフォルトは ``false`` です - この設定を ``true`` にした場合、一括録画を含む場合に ``expire_time`` が必須になります - この設定を ``true`` にした場合、レガシー録画機能では ``expire_time`` に ``0`` 以外の値を指定する必要があります - この設定を ``true`` にした場合、新しい録画機能(セッション単位)では ``expire_time`` の値を指定する必要があります - この設定を ``true`` にした場合でも分割録画のみの場合は ``expire_time`` は必須になりません 新しい録画機能 (セッション単位) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 今までの録画機能は :doc:`レガシー録画機能 ` と名前を変更しました。 レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます。 - [ADD] ``sora.conf`` にレガシー録画を有効にするかどうか指定する :ref:`sora_conf-legacy_recording` を追加しました - デフォルトは ``true`` です - ``false`` にした場合、レガシー録画機能が利用できなくなります - この設定は移行用の設定で、 2025 年 12 月リリース予定の Sora にて廃止されます。 - [ADD] セッションウェブフック ``session.created`` 時に ``"recording": true`` を指定することで録画を開始します - [ADD] セッションウェブフック ``session.created`` 時に ``"recording_expire_time"`` を指定することができるようになりました - セッション破棄時に録画は自動で終了します - セッション破棄前に期限が来た場合はそこで録画は終了します - [ADD] セッションウェブフック ``session.created`` 時に ``"recording_split_duration"`` を指定することができるようになりました - [ADD] セッションウェブフック ``session.created`` 時に ``"recording_split_only"`` を指定することができるようになりました - [ADD] セッションウェブフック ``session.created`` 時に ``"recording_metadata"`` を指定することができるようになりました - [ADD] セッションウェブフック ``recording.started`` を追加しました - [ADD] セッションウェブフック ``recording.report`` を追加しました - [ADD] 新しい録画用の :ref:`20231220.StartRecording` API を追加しました - セッション破棄時に自動で録画は終了します - ``expire_time`` がオプションになっています - ``expire_time`` デフォルトは未定義です - [ADD] 新しい録画用の :ref:`20231220.StopRecording` API を追加しました 詳細については :doc:`録画機能 (セッション単位) ` をご確認ください。 移行については :doc:`レガシー録画機能から新しい録画機能 (セッション単位) への移行 ` をご確認ください。 新しい録画機能 (セッション単位) における接続単位の録画ブロック機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** **この機能は新しい録画機能 (セッション単位) でのみ利用できます。レガシー録画機能では利用できません** - [ADD] 認証成功時に ``"recording_block": true`` を払い出すことで、その接続の録画をブロックし、録画ファイルの出力を拒否できるようになりました - これは録画が有効になっていない場合に払い出しても問題ありません - この値を途中で変更することはできません - [ADD] イベントウェブフック ``connection.{created, updated, destroyed}`` の ``data`` に ``"recording_block"`` の項目を追加しました - 認証成功時に ``"recording_block": true`` を払い出していれば ``true`` に、それ以外は ``false`` になります シグナリング通知メタデータ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``sora.conf`` で ``signaling_notify_metadata`` を ``false`` にした際の挙動を変更しました。 - [CHANGE] ``sora.conf`` の ``signaling_notify_metadata`` を ``false`` にした際でも ``data`` 項目が含まれるようになりました - ``data`` の ``metadata`` と ``authn_metadata`` と ``authz_metadata`` は含まれません - [CHANGE] ``sora.conf`` で以下の設定を全て ``false`` にした場合、シグナリング通知の ``data`` が含まれなくなりました - :ref:`sora_conf-signaling_notify_metadata` - :ref:`sora_conf-signaling_notify_client_id` - :ref:`sora_conf-signaling_notify_bundle_id` - :ref:`sora_conf-signaling_notify_connection_id` - :ref:`sora_conf-signaling_notify_connection_created_timestamp` - [FIX] ``sora.conf`` で ``signaling_notify_metadata`` を ``false`` にした際にも、シグナリング通知の ``data`` 項目の ``authn_metadata`` と ``authz_metadata`` が含まれてしまう問題を修正しました 外部への HTTP リクエストに HTTP ヘッダーを追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ウェブフックや統計エクスポーター、音声ストリーミングを利用した際の外部への HTTP リクエストに、 ``x-sora-`` prefix とは別に ``sora-`` prefix の HTTP ヘッダーを追加しました。 これは `RFC 6648 `_ による ``x-`` prefix の非推奨化に準拠するためです。 今後 ``x-sora-`` prefix は非推奨になります。 現時点で具体的な時期は決まっていませんが、将来的に 1 年以上の移行期間を設けて廃止する予定です。 - [ADD] セッションウェブフックに ``sora-session-webhook-type`` ヘッダーを追加しました - すでにある ``x-sora-session-webhook-type`` ヘッダーは将来的に廃止予定です - [ADD] イベントウェブフックに ``sora-event-webhook-type`` ヘッダーを追加しました - すでにある ``x-sora-event-webhook-type`` ヘッダーは将来的に廃止予定です - [ADD] 統計エクスポーターに ``sora-stats-exporter-type`` ヘッダーを追加しました - すでにある ``x-sora-stats-exporter-type`` ヘッダーは将来的に廃止予定です - [ADD] セッションウェブフックに ``sora-session-id`` ヘッダーを追加しました - [ADD] イベントウェブフックに ``sora-connection-id`` ヘッダーを追加しました - [ADD] イベントウェブフックに ``sora-session-id`` ヘッダーを追加しました ウェブフック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] セッションウェブフック ``audio-streaming.started`` に ``max_connections`` と ``total_connections`` が含まれなくなりました - [CHANGE] セッションウェブフック ``audio-streaming.stopped`` に ``max_connections`` と ``total_connections`` が含まれなくなりました - [CHANGE] クラスター機能利用時のセッションウェブフック ``session.destroyed`` に ``connections`` が含まれなくなりました - [ADD] ``sora.conf`` にウェブフックで IPv6 利用する :ref:`sora_conf-webhook_ipv6` を追加しました - デフォルトは ``false`` です - この設定を有効にしない限りウェブフックで IPv6 は利用できません - [ADD] ``sora.conf`` にイベントウェブフック ``connection.updated`` の送信間隔を変更する :ref:`sora_conf-connection_updated_webhook_interval` を追加しました - デフォルトは ``1 min`` です - 最小は ``1 min`` です - 最大は ``10 min`` です - 時間単位は ``min`` のみが指定できます - [ADD] ``sora.conf`` に 録画イベントウェブフック ``split-archive.available`` を送信しないようにする :ref:`sora_conf-ignore_split_archive_available_webhook` を追加しました - デフォルトは ``false`` です - [ADD] 接続イベントウェブフック ``connection.{created, updated, destroyed}`` に ICE コネクションステートが ``checking`` と ``disconnected`` だった時間の項目を追加しました - ``data.ice_connection_state.total_checking_duration_ms`` に ``checking`` だった合計時間(ミリ秒)が入ります - ``data.ice_connection_state.total_disconnected_duration_ms`` に ``disconnected`` だった合計時間(ミリ秒)が入ります - [ADD] 認証ウェブフックに ``spotlight_focus_rid`` と ``spotlight_unfocus_rid`` を追加しました - ``spotlight`` が ``true`` の時だけ追加されます - [ADD] 接続イベントウェブフック ``connection.{created, updated, destroyed}`` に ICE コネクションステートの ``checking`` と ``disconnected`` の時間を通知する項目を追加しました - ``ice_connection_state`` 項目を追加しました - ``ice_connection_state`` に ``total_checking_duration_ms`` に ``checking`` だった合計時間(ミリ秒)が入ります - ``ice_connection_state`` に ``total_disconnected_duration_ms`` に ``disconnected`` だった合計時間(ミリ秒)が入ります .. code-block:: javascript "data": { "ice_connection_state": { "total_checking_duration_ms": 0, "total-disconnected_duration_ms": 0 } } - [ADD] セッションウェブフック :ref:`session-webhook-session.updated` を追加しました - クラスターが有効時には ``connections`` は含まれません - 録画機能 (セッション単位) 有効時に ``recording`` 項目が含まれます - [ADD] セッションウェブフック ``session.destroyed`` に ``reason`` が含まれるようになりました - ``reason`` には以下が含まれます - ``normal`` - 正常終了 - ``terminated_api`` - :ref:`20230628.TerminateSession` API を利用した終了 - ``abort`` - 異常終了 - [ADD] ``sora.conf`` にセッションウェブフック :ref:`session-webhook-session.updated` を送信しないようにする :ref:`sora_conf-ignore_session_updated_webhook` を追加しました - デフォルトは ``false`` です - [ADD] ``sora.conf`` にセッションウェブフック :ref:`session-webhook-session.updated` の送信間隔を変更する :ref:`sora_conf-session_updated_webhook_interval` を追加しました - デフォルトは ``1 min`` です - 最小は ``1 min`` です - 最大は ``10 min`` です - 時間単位は ``min`` のみが指定できます - [FIX] 認証ウェブフックで ``simulcast_rid`` は ``spotlight`` が ``true`` の場合は追加しないようにしました - ``simulcast`` が ``true`` かつ ``spotlight`` が ``false`` の時だけ追加されます データチャネル ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] データチャネルの SCTP のパケットのチェックサム計算を省略する仕組みを追加しました - データチャネルは DTLS レイヤーでデータ保護が行われているため、 SCTP のチェックサムは追加の整合性を得ることができないため省略することができます - クライアント側もチェックサム計算を省略する機能に対応している必要があります - データチャネル利用時の CPU リソースがクライアント、SFU ともに節約されます - https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-sctp-zero-checksum - [ADD] SCTP のチェックサムを省略した回数の統計情報を追加しました - ``total_received_sctp_zero_checksum`` - ``total_sent_sctp_zero_checksum`` クラスター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** ``Sora 2023.1.x`` で構築されているクラスターは ``Sora 2023.2.x`` へローリングアップデートで移行できます。 .. warning:: 2023.2.x から 2023.1.x へのローリングアップデートは行えません。クラスターを再構築する必要があります。 - [CHANGE] クラスター関連のログは ``cluster.jsonl`` に出力するよう変更しました - [ADD] 最新のバージョンと 1 世代前のバージョンの Sora ノードが混在する状態でのクラスター運用ができるようになりました - 全てのクラスターに参加するノードが同じバージョンになるまでは 1 世代前のバージョンと混在できる仕組みを追加しました - ``Sora 2023.2.x`` と ``2023.1.x`` で、特定のノードのアップデートが難しい場合でも、先に他のノードをアップデートすることができるようになります - クラスターに 1 世代前のバージョンのノードが混在している場合、新しい接続は全て古いバージョンのクラスターの仕組みを利用します - 全てのノードが新しいバージョンのクラスターになったタイミングで、新しいバージョンのクラスターの仕組みを利用しはじめます 詳細については :doc:`クラスター機能 ` をご確認ください。 .. note:: :ref:`20221221.InitCluster` API でクラスターを初期化する際には、新旧バージョンは混在させないでください。また ``Sora 2023.2.x`` で構成されたクラスターに :ref:`20211215.JoinCluster` API で ``Sora 2023.1.x`` のノードを参加させることはできません。 配信ワーカー機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** 配信ワーカー機能は音声や映像を配信するワーカーを複数用意することで、 1 チャネルで高ビットレートの映像をより多くのクライアントに配信することができるようになります。 - [ADD] sora.conf に音声や映像の 1 配信に利用する配信ワーカー数を指定する :ref:`sora_conf-rtp_publish_worker_number` を追加しました - デフォルトの配信ワーカー数は 1 です - 同時に 100 クライアント以上へ配信する場合はまず 10 を設定することを推奨します - ワーカー数が 10 であれば 1 チャネル 1000 クライアント以上の配信ができるようになります - 最小は 1 で、最大は 500 です ワーカー数の設定を 10 以上で検討している場合はまずサポートにご相談ください。 詳細については :doc:`配信ワーカー機能 ` をご確認ください。 シグナリング通知メタデータ拡張機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** - [ADD] 認証成功時に、シグナリング通知メタデータ拡張の初期値を払い出す ``signaling_notify_metadata_ext`` を追加しました。 - sora.conf にて :ref:`sora_conf-signaling_notify_metadata_ext` を有効にしている必要があります - デフォルトは ``{}`` です 統計エクスポーター ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** - [ADD] ``sora.conf`` に統計エクスポーターをデフォルトで有効にするかどうかの :ref:`sora_conf-default_stats_exporter` を追加しました - デフォルトは ``true`` です - [ADD] 認証成功時の払い出しで接続単位で統計エクスポーターを有効にするかどうかを指定する ``stats_exporter`` を追加しました - ``false`` を設定した場合は ``stats_collector_url`` が指定されていたとしても統計情報がエクスポートされません H.265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **これは実験的機能です** |date| 現在、WebRTC H.265 のプロファイルに対応している WebRTC ライブラリはありません。 現在 `仕様策定中 `_ です。 - [ADD] H.265 サイマルキャストに対応しました - [ADD] ``sora.conf`` に H.265 のデフォルトレベル ID を指定する :ref:`sora_conf-default_h265_param_level_id` を追加しました - デフォルトは ``93`` (3.1) です - [ADD] 認証払い出し時に H.265 のデフォルトレベル ID を指定する ``video_h265_params`` を追加しました - ``"video_h265_params": {"level_id": 93}`` のように指定できます - level_id の値は 0 から 255 の間である必要があります - [ADD] シグナリング時に H.265 のデフォルトレベル ID を指定する ``h265_params`` を追加しました - ``"video": {"codec_type": "H265", "h265_params": {"level_id": 93}}`` のように指定できます - level_id の値は 0 から 255 の間である必要があります - [ADD] ``sora.conf`` に、シグナリング時に H.265 のパラメータ指定を許可するかどうか設定する :ref:`sora_conf-signaling_h265_params` を追加しました - デフォルトは ``false`` です .. _v2023.1.3: 2023.1.3 =================== **バグフィックスアップデート** :リリース: 2023-10-17 変更履歴 -------- - [FIX] 録画機能利用時、分割録画に失敗かつ分割録画ファイルが一つ以上生成されている場合に、終了処理に失敗する問題を修正しました - 終了中の失敗のため、録画処理自体には影響はありません - [FIX] サイマルキャスト機能の ``simulcast_encodings`` と ``spotlight_encodings`` の ``scalabilityMode`` のデフォルト値を ``L1T1`` に修正しました - AV1 サイマルキャスト利用時に ``L1T1`` 以外の ``scalabilityMode`` を利用すると録画ができない問題があります - [FIX] データチャネルを利用したメッセージング機能利用時に、パケロスが発生すると一定期間パケットを破棄してしまうことがある問題を修正しました - この問題は ``ordered`` が ``true`` で ``max_retransmits`` や ``max_packet_life_time`` が設定されている場合に発生します - [FIX] クラスター機能利用時に、ノードの起動・停止と新規チャネルへの接続が重なると接続に失敗することがある問題を修正しました - [FIX] ``sora.conf`` の ``default_simulcast_rid`` の設定値が設定に反映されない問題を修正しました - [FIX] 依存している OpenSSL を 3.1.3 にアップデートしました .. _v2023.1.2: 2023.1.2 =================== **バグフィックスアップデート** :リリース: 2023-08-10 変更履歴 -------- - [FIX] Safari 側の問題により Safari 14 系および Safari 15 系の一部で Sora に接続できない問題を修正しました - Safari 15.6 以降では問題が修正されていることを確認しています .. _v2023.1.1: 2023.1.1 =================== **バグフィックスアップデート** :リリース: 2023-07-14 変更履歴 -------- - [ADD] connection ログに ``ice_connection_state`` という ICE コネクション機能の統計情報を追加しました - サポートにて問題をより素早く解決しやすくするための追加です - [ADD] connection ログに ``network_status`` に不安定レベル毎の統計情報を追加しました - サポートにて問題をより素早く解決しやすくするための追加です - [ADD] :ref:`20170529.GetStatsConnection` API に ``ice_connection_state`` の統計情報を追加しました - [ADD] :ref:`20170529.GetStatsConnection` API に ``network_status`` にレベル毎の統計情報を追加しました - [FIX] CentOS 7 x86_64 利用時にセグメンテーション違反で Sora が落ちてしまう問題を修正しました - [FIX] DTLS 再ネゴシエーションの挙動を修正しました - [FIX] スポットライト機能利用時に OBS での WHIP が利用できない問題を修正しました - 新しく WHIP エンドポイント URL 指定時に ``spotlight=true`` を指定することで利用できるようにしました - ただし、音声がそのままでは配信されないため :ref:`20200807.FocusSpotlightFixed` API を利用して音声を配信する必要があります - [FIX] ICE コネクションステート機能で ``disconnected`` 時のクライアント状態確認の挙動を修正しました - [FIX] :ref:`20201124.PutSignalingNotifyMetadata` API の結果の誤字を修正しました - [FIX] :ref:`20211215.JoinCluster` API のエラー応答の誤字を修正しました .. _v2023.1.0: 2023.1.0 =================== **メジャーアップデート** :リリース: 2023-06-28 サポート期間変更 ---------------- - Sora 2023.1.0 より、サポート提供期間をメジャーアップデートがリリースされた日から **12 ヶ月後の月末最終日まで** に変更しました - 2023年 6 月リリースの Sora 2023.1.0 およびその後リリースされる可能性のある Sora 2023.1.x は、2024 年 6 月 30 日までサポート対象となります 詳細は :doc:`サポートライフサイクル ` をご確認ください。 ハイライト ------------------ - OBS で WebRTC を利用した配信を実現する WHIP に対応しました - 詳細は :doc:`OBS (WHIP) 機能 ` をご確認ください - VP9 / AV1 でのサイマルキャストに対応しました - 詳細は :ref:`vp9_av1_simulcast` をご確認ください - メディアストリームを柔軟に制御するための :doc:`転送フィルター機能 ` を追加しました - 音声ストリーミング機能に自動開始/停止機能を追加しました - 詳細は :ref:`audio-streaming-auto-start-stop` をご確認ください - IPv6 のみの環境での動作に対応しました - 詳細は :ref:`ipv6_only` をご確認ください 互換なしの変更情報 ------------------ - 移行用の設定である ``sora_conf-legacy_webhook_audio_video_json_structure`` の設定のデフォルトを ``false`` に変更しました - 詳細は :ref:`obsolete-sora-conf-legacy_webhook_audio_video_json_structure` をご確認ください - 移行用の設定である ``legacy_log_format`` の設定のデフォルトを ``false`` に変更しました - 詳細は :ref:`obsolete-sora-conf-legacy_log_format` をご確認ください - 移行用の設定である ``legacy_log_extension`` の設定のデフォルトを ``false`` に変更しました - 詳細は :ref:`obsolete-sora-conf-legacy_log_extension` をご確認ください 廃止情報 -------- - Ubuntu 18.04 向けパッケージのサポートを終了しました - 詳細は :ref:`obsolete-ubuntu-18.04` をご確認ください - ``sora.conf`` の ``split_archive_legacy_prefix`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-split_archive_legacy_prefix` をご確認ください - ``sora.conf`` の ``default_multistream`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-default_multistream` をご確認ください - ``sora.conf`` の ``dcsctp_heartbeat_interval`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-datachannel-sctp` をご確認ください - ``sora.conf`` の ``dcsctp_slow_start_tcp_style`` を廃止しました - 詳細は :ref:`obsolete-sora-conf-datachannel-sctp` をご確認ください 変更履歴 -------- - [CHANGE] データチャネル関連の設定である ``dcsctp_heartbeat_interval`` を廃止しました - [CHANGE] データチャネル関連の設定である ``dcsctp_slow_start_tcp_style`` を廃止しました - [CHANGE] サイマルキャスト利用時に ``"active": false`` を指定したストリームは、 ``~r0`` といった SDP が生成されます - r1 と r2 が false の場合は ``a=simulcast:recv r0;~r1;~r2`` のような SDP が生成されます - これは `RFC 8853: Using Simulcast in SDP and RTP Sessions `_ に準拠しています - [CHANGE] ``sora.conf`` のウェブフックの audio と video 項目のレガシーな入れ子構造を利用する ``sora_conf-legacy_webhook_audio_video_json_structure`` のデフォルト値を ``false`` に変更しました - これは移行用設定です - [CHANGE] ``sora.conf`` のログフォーマットのレガシー形式を維持する ``legacy_log_format`` のデフォルト値を ``false`` に変更しました - これは移行用設定です - [CHANGE] ``sora.conf`` の JSONL 形式で出力しているログのレガシー拡張子を ``.log`` に維持する ``legacy_log_extension`` のデフォルト値を ``false`` に変更しました - これは移行用設定です - [UPDATE] RHEL 9.2 に対応しました - [UPDATE] RHEL 8.8 に対応しました - [ADD] 録画イベントウェブフック ``recording.started`` に ``data.start_timestamp`` を追加しました - [ADD] 録画イベントウェブフック ``recording.started`` に ``data.split_duration`` を追加しました - [ADD] ``sora.conf`` に IPv6 アドレスのみを利用する :ref:`sora_conf-ipv6_only` の設定を追加しました - [ADD] クラスター機能が有効な際、セッションウェブフックに ``external_signaling_url`` 項目を追加しました - ``sora.conf`` の :ref:`sora_conf-external_signaling_url` に指定されている値がそのまま入ります - [ADD] モードが ``block_new_connection`` の場合は、接続に失敗する仕組みを追加しました - [ADD] イベントウェブフックにログの書き込みが成功したかどうかを示す ``log_written`` フラグを追加しました - イベントウェブフックログの書き込みが成功した場合は ``"log_written": true`` が含まれます - イベントウェブフックログの書き込みが失敗した場合は ``"log_written": false`` が含まれます - イベントウェブフックログには常に ``log_written`` が含まれます - [ADD] 録画機能で録画ファイル生成に失敗したファイル情報を ``recording.report`` ウェブフックやファイルに ``failed_archives`` という項目で追加しました - [ADD] 録画機能の ``recording.report`` イベントウェブフックに ``"file_written"`` フラグを追加しました - ``report-*.json`` ファイルの書き込みに成功した場合 ``"file_written": true`` が含まれます - ``report-*.json`` ファイルの書き込みに失敗した場合 ``"file_written": false`` が含まれます - ``report-*.json`` ファイルには常に ``file_written`` が含まれます - [ADD] 認証ウェブフックに ``id`` を追加しました - [FIX] IPv6 のみの環境で Firefox が正常に動作しない問題を修正しました - [FIX] Sora 終了中に HTTP API が呼ばれるとクラッシュログが出力される問題を修正しました - [FIX] 認証ウェブフックで ``simulcast`` が ``false`` の場合でも ``simulcast_rid`` が含まれていた問題を修正しました - ``simulcast`` が ``false`` の場合は ``simulcast_rid`` は含まれなくなります - [FIX] 録画機能で H.264 でまれに録画が失敗してしまう問題を修正しました - [FIX] スポットライト機能でフォーカスが当たっていない場合でも、無音の音声パケットが配信されてしまう問題を修正しました パッケージファイル名の変更 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OS 名とバージョンの間に ``-`` を入れるようにし、x86_64 もアーキテクチャを追加しました。 展開後のディレクトリにアーキテクチャは含まれません。 - [CHANGE] ``sora-2023.1.0-ubuntu22.04-arm64v8.tar.gz`` から ``sora-2023.1.0-ubuntu-22.04-arm64v8.tar.gz`` に変更しました - ``ubuntu22.04`` を ``ubuntu-22.04`` に変更しました - [CHANGE] ``sora-2023.1.0-ubuntu20.04-arm64v8.tar.gz`` から ``sora-2023.1.0-ubuntu-20.04-arm64v8.tar.gz`` に変更しました - ``ubuntu20.04`` を ``ubuntu-20.04`` に変更しました - [CHANGE] ``sora-2023.1.0-ubuntu22.04.tar.gz`` から ``sora-2023.1.0-ubuntu-22.04-x86_64.tar.gz`` に変更しました - ``ubuntu22.04`` を ``ubuntu-22.04`` に変更しました - ファイル名に ``-x86_64`` を追加しました - [CHANGE] ``sora-2023.1.0-ubuntu20.04.tar.gz`` から ``sora-2023.1.0-ubuntu-20.04-x86_64.tar.gz`` に変更しました - ``ubuntu20.04`` を ``ubuntu-20.04`` に変更しました - ファイル名に ``-x86_64`` を追加しました - [CHANGE] ``sora-2023.1.0-ubuntu20.04.tar.gz`` から ``sora-2023.1.0-ubuntu-20.04-x86_64.tar.gz`` に変更しました - ``ubuntu20.04`` を ``ubuntu-20.04`` に変更しました - ファイル名に ``-x86_64`` を追加しました - [CHANGE] ``sora-2023.1.0-rhel9.2.tar.gz`` から ``sora-2023.1.0-rhel-9.2-x86_64.tar.gz`` に変更しました - ``rhel9.2`` を ``rhel-9.2`` に変更しました - ファイル名に ``-x86_64`` を追加しました - [CHANGE] ``sora-2023.1.0-rhel8.8.tar.gz`` から ``sora-2023.1.0-rhel-8.8-x86_64.tar.gz`` に変更しました - ``rhel8.8`` を ``rhel-8.8`` に変更しました - ファイル名に ``-x86_64`` を追加しました - [CHANGE] ``sora-2023.1.0-centos7.9.tar.gz`` から ``sora-2023.1.0-centos-7.9-x86_64.tar.gz`` に変更しました - ``centos7.9`` を ``centos-7.9`` に変更しました - ファイル名に ``-x86_64`` を追加しました セッション破棄 API ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * [ADD] 指定したセッションを終了させる :ref:`20230628.TerminateSession` API を追加しました - ``channel_id`` の指定は必須で、 ``session_id`` がオプションで指定できます ヘルスチェック ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ``http://:5000/.ok`` で Sora のヘルスチェックができるようになりました - 単体利用時には問題が無ければ常に 200 OK を返します - クラスター利用時には ``initial`` と ``block_new_connection`` モード時には ``503 Service Unavailable`` を返します 詳細は :doc:`ヘルスチェック機能 ` をご確認ください。 シグナリング通知 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] シグナリング通知の ``"event_type": "connection.created"`` に ``timestamp`` を追加しました - data にも ``"data": [{"timestamp": "2023-06-28T10:00:00.999999", ...}, .. ]`` のように ``timestamp`` が含まれるようになります - [ADD] シグナリング通知の ``"event_type": "connection.created"`` に ``timestamp`` を含める設定 :ref:`sora_conf-signaling_notify_connection_created_timestamp` を ``sora.conf`` に追加しました - デフォルトは ``true`` です 映像コーデックパラメーター指定機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] ウェブフックに映像コーデックパラメーター ``"video_vp9_params": {"profile_id": 0}`` を追加しました - この設定を利用する場合 ``legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - [ADD] ウェブフックに映像コーデックパラメーター ``"video_av1_params": {"profile": 0}`` を追加しました - この設定を利用する場合 ``sora_conf-legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - [ADD] ウェブフックに映像コーデックパラメーター ``"video_h264_params": {"profile_level_id": ""}`` を追加しました - この設定を利用する場合 ``sora_conf-legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - [ADD] シグナリング接続時に H.264 のプロファイルレベル ID を ``"video": {"codec_type": "H264", "h264_params": {"profile_level_id": "42e01f"}`` のように指定できるようになりました - この指定を利用する場合は :ref:`sora_conf-signaling_h264_params` が ``true`` である必要があります - ``h264_params`` を指定する場合は、 ``codec_type`` は ``H264`` である必要があります - [ADD] シグナリング接続時に VP9 のプロファイル ID を ``"video": {"codec_type": "VP9", "vp9_params": {"profile_id": 0}}`` のように指定できるようになりました - この指定を利用する場合は :ref:`sora_conf-signaling_vp9_params` が ``true`` である必要があります - ``vp9_params`` を指定する場合は、 ``codec_type`` は ``VP9`` である必要があります - profile_id には 0 から 3 までの値を指定できます - [ADD] シグナリング接続時に AV1 のプロファイルを ``"video": {"codec_type": "AV1", "av1_params": {"profile": 0}}`` のように指定できるようになりました - この指定を利用する場合は :ref:`sora_conf-signaling_av1_params` が ``true`` である必要があります - ``av1_params`` を指定する場合は、 ``codec_type`` は ``AV1`` である必要があります - profile には 0 から 2 までの値を指定できます - [ADD] 認証成功時払い出しに VP9 のプロファイル ID を指定できる ``"video_vp9_params": {"profile_id": 0}`` を追加しました - この設定を利用する場合 ``sora_conf-legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - profile_id には 0 から 3 までの値を指定できます - [ADD] 認証成功時払い出しに AV1 のプロファイルを指定できる ``"video_av1_params": {"profile": 0}`` を追加しました - この設定を利用する場合 ``sora_conf-legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - profile には 0 から 2 までの値を指定できます - [ADD] 認証成功時払い出しに H.264 のプロファイルを指定できる ``"video_h264_params": {"profile_level_id": "42e01f"}`` を追加しました - この設定を利用する場合 ``sora_conf-legacy_webhook_audio_video_json_structure`` が ``false`` である必要があります - ``h264_profile_level_id`` は 2024 年 6 月リリース予定の Sora にて廃止します - [ADD] ``sora.conf`` に VP9 のプロファイル ID のデフォルト値を指定する :ref:`sora_conf-default_vp9_param_profile_id` を追加しました - デフォルトは 0 が設定されています - 0 から 3 までの値を指定できます - [ADD] ``sora.conf`` に AV1 のプロファイルのデフォルト値を指定する :ref:`sora_conf-default_av1_param_profile` を追加しました - デフォルトは 0 が設定されています - 0 から 2 までの値を指定できます - [ADD] ``sora.conf`` に H.264 のプロファイルレベル ID のデフォルト値を指定する :ref:`sora_conf-default_h264_param_profile_level_id` を追加しました - 既存の :ref:`sora_conf-default_h264_profile_level_id` は 2024 年 6 月リリース予定の Sora にて廃止します OBS (WHIP) 対応 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OBS が対応予定の WebRTC (WHIP) で配信ができるようになりました。 - [ADD] ``sora.conf`` に OBS (WHIP) を有効にする :ref:`sora_conf-whip` を追加しました - デフォルトは ``false`` です - [ADD] ``sora.conf`` に OBS (WHIP) の Bearer トークンを認証ウェブフックの ``metadata`` に対応させるキーを指定する :ref:`sora_conf-whip_bearer_token_metadata_key` を追加しました - OBS (WHIP) からの接続についても Bearer トークンを利用した認証機能が利用できます - デフォルトは未指定です - [ADD] WHIP 向けエンドポイント URL ``https://example.com/whip/`` を追加しました - クエリー文字列で ``client_id`` と ``bundle_id`` を指定できるようになりました - [ADD] WHIP 向けリソース URL ``https://example.com/whip-resource//`` を追加しました - PATCH と DELETE メソッドに対応しています - [ADD] WHIP を利用した際、認証ウェブフックに ``whip: true`` を追加しました - WHIP を利用していない接続の場合はこの項目は含まれません 詳細は :doc:`OBS (WHIP) 対応機能 ` をご確認ください。 VP9 / AV1 サイマルキャスト対応 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [UPDATE] VP9 と AV1 でのサイマルキャスト機能に対応しました - Chrome 113 以降でスポットライト機能にて VP9 と AV1 が利用できるようになりました - Edge 113 以降でスポットライト機能にて VP9 が利用できるようになりました - [UPDATE] 認証成功時の払い出し ``simulcast_encodings`` と ``spotlight_encodings`` で ``scalabilityMode`` を指定できるようになりました - デフォルトでは ``scalabilityMode`` に ``L1T3`` が設定されています - [UPDATE] :ref:`sora_conf-simulcast_encodings_file` と :ref:`sora_conf-spotlight_encodings_file` で ``scalabilityMode`` を指定できるようになりました 詳細は :ref:`simulcast-scalability-mode` をご確認ください。 Lyra 録音機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] 録画機能に Lyra コーデックを利用した際に WebM ファイルで録音する仕組みを追加しました 詳細は :ref:`recording-lyra` をご確認ください。 転送フィルター機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 今まで :ref:`20200401.PauseRtpStream` / :ref:`20200401.ResumeRtpStream` API で実現していたメディアストリームの停止/再開をより細かく、柔軟に設定をできるようにした、 転送フィルター機能を追加しました。 - [ADD] セッション生成時 ``forwarding_filter`` を指定することでチャネル単位の転送フィルターを追加できるようになりました - [ADD] シグナリング接続時に ``forwarding_filter`` を指定することで接続単位の転送フィルターを追加できるようになりました - [ADD] 認証成功時に ``forwarding_filter`` を指定することで接続単位の転送フィルターを追加できるようになりました - [ADD] チャネル単位でチャネルとコネクションの転送フィルターを確認できる :ref:`ListForwardingFilters` API を追加しました - [ADD] チャネル単位の転送フィルターを作成する :ref:`CreateChannelForwardingFilter` API を追加しました - [ADD] チャネル単位の転送フィルターを更新する :ref:`UpdateChannelForwardingFilter` API を追加しました - [ADD] チャネル単位の転送フィルターを削除する :ref:`DeleteChannelForwardingFilter` API を追加しました - [ADD] コネクション単位の転送フィルターを作成する :ref:`CreateConnectionForwardingFilter` API を追加しました - [ADD] コネクション単位の転送フィルターを更新する :ref:`UpdateConnectionForwardingFilter` API を追加しました - [ADD] コネクション単位の転送フィルターを削除する :ref:`DeleteConnectionForwardingFilter` API を追加しました - [ADD] 転送フィルターで転送がブロックされたタイミングでシグナリング通知する機能を追加しました - [ADD] 転送フィルターで転送がブロックが解除されたタイミングでシグナリング通知する機能を追加しました - [ADD] ``sora.conf`` に転送フィルターをシグナリング経由で指定できるかどうかを設定する :ref:`sora_conf-signaling_forwarding_filter` を追加しました - デフォルト は ``false`` です - [ADD] ``sora.conf`` に転送フィルターのブロックの状態が変わったタイミングでシグナリング通知を飛ばすかどうかを設定する :ref:`sora_conf-signaling_notify_forwarding_filter` を追加しました - デフォルト は ``true`` です 詳細は :doc:`転送フィルター機能 ` をご確認ください。 SDP 再利用機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 今までマルチストリーム利用した際に、クライアント切断してもその SDP が残ってしまう問題がありました。 今回のリリースで、SDP を再利用する仕組みにより SDP が残る問題を解決しました。 - [CHANGE] ``recycle_media_section`` が ``true`` の際に、SDP を再利用する仕組みを追加しました - [ADD] ``sora.conf`` に SDP の再利用を行う :ref:`sora_conf-recycle_media_section` 設定を追加しました - デフォルトは ``true`` です 音声ストリーミング機能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ADD] 音声ストリーミングの結果通知の状態を確認する :ref:`ListAudioStreamingResultPushState` API を追加しました - [ADD] 音声ストリーミング機能にサブスクライブが 0 になると音声ストリーミングを停止し、サブスクライブが 1 以上になると音声ストリーミングを開始する機能を追加しました - この機能はセッション生成時に指定できます - この機能が有効になっている場合は音声ストリーミング開始/終了 API は利用できません - [ADD] セッションウェブフックの払い出しに音声ストリーミングの自動開始と停止を有効にする ``audio_streaming_auto`` を追加しました - この設定を利用する場合は必ず ``audio_streaming`` を ``true`` で払い出す必要があります - [ADD] ``sora.conf`` に音声ストリーミングのウェブフックを送信するかどうかを設定する :ref:`sora_conf-ignore_audio_streaming_webhook` を追加しました - デフォルトは ``true`` で、送信しません - [ADD] 音声ストリーミング機能の開始のウェブフック ``audio-streaming.started`` を追加しました - ``sora.conf`` にて :ref:`sora_conf-ignore_audio_streaming_webhook` を ``false`` にすることで送信します - [ADD] 音声ストリーミング機能の終了のウェブフック ``audio-streaming.stopped`` を追加しました - ``sora.conf`` にて :ref:`sora_conf-ignore_audio_streaming_webhook` を ``false`` にすることで送信します WebSocket 経由シグナリングでの ping / pong / stats のインターバルやタイムアウトの設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WebSocket 経由でのシグナリングにおいて、 ``"type": "ping"`` や ``"type": "pong"`` のインターバルやタイムアウトを設定できるようになりました。 また ``"type": "ping"`` 送信時の ``"stats": true`` にする間隔を指定できるようになりました。 - [CHANGE] ``"type": "ping"`` 時におくる ``"stats": true`` の間隔を 5 秒から 30 秒に変更しました - [ADD] ``sora.conf`` に ping を送信する間隔を指定する :ref:`sora_conf-websocket_signaling_ping_interval` 設定を追加しました - デフォルトは ``5 s`` です - 最小は ``5 s`` です - 最大は ``300 s`` です - [ADD] ``sora.conf`` に pong のタイムアウト時間を指定する :ref:`sora_conf-websocket_signaling_pong_timeout` 設定を追加しました - デフォルトは ``60 s`` です - 最小は ``60 s`` です - 最大は ``600 s`` です - [ADD] ``sora.conf`` に ping 送信時に ``"stats": true`` にする間隔を指定する :ref:`sora_conf-websocket_stats_timer_interval` 設定を追加しました - デフォルトは ``30 s`` です - 最小は ``30 s`` です - 最大は ``600 s`` です クラスター機能利用時のディスク障害時の対応を追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [CHANGE] クラスター利用時に ``block_new_connection`` モードへ遷移した場合には新規接続のリダイレクトを行わないように変更しました - [ADD] クラスター利用時にディスク障害が発生した際に、 ``block_new_connection`` モードへ遷移する機能を追加しました