リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2025.1.0-canary

メジャーアップデート

リリース予定:

2025 年 6 月 19 日

重要

Sora 2024.2.x から 2025.1.x への移行については 2024.2.x から 2025.1.x への移行 をご確認ください。

ハイライト

  • Sora クラスターリレー機能のツリー化によりノードの負荷を分散することができるようになりました

  • セッション単位での最大同時接続数制限をできる機能を正式版としてリリースしました

正式版

今回のリリースで以下の機能が実験的機能から正式版になりました。

破壊的変更

  • WHIP の TURN 機能をデフォルトで有効にしました

    • 2024 年 7 月リリースの OBS 30.2 より以前の OBS が接続できなくなります

    • 2025 年 12 月リリース予定の Sora にて WHIP の TURN 機能の設定 whip_turn を廃止し、TURN 機能を無効にできなくなります

  • WHEP の TURN 機能をデフォルトで有効にしました

    • WHEP の TURN 機能を無効にする設定は非推奨になりました

    • 2025 年 12 月リリース予定の Sora にて WHEP の TURN 機能の設定 whep_turn を廃止し、TURN 機能を無効にできなくなります

廃止情報

  • レガシーストリームを廃止しました

    • multistream 項目をウェブフック、ログ、API から削除しました

    • multistreamfalse にして接続した場合バリデーションエラーになります

  • ユーザーエージェント統計機能を廃止しました

    • 今後は RTC 統計機能をご利用ください

  • 統計エクスポーター機能を廃止しました

  • モード機能のウェブフック session.vanished を廃止しました

  • メディア配信ワーカー数を指定する media_publish_worker_number を廃止しました

    • ワーカーは自動でスケールする用になりました

    • 自動スケールの閾値は sora.confmedia_publish_worker_autoscale_threshold を利用してください

    • デフォルトは 50 で、50 接続単位でワーカーを増減させます

非推奨情報

  • 組み込み TURN 機能を無効にする turnfalse に設定することを非推奨にしました

    • 2025 年 12 月リリース予定の Sora にて組み込み TURN 機能を無効にする設定 turn を廃止し、組み込み TURN 機能を無効にできなくなります

  • セッション単位での最大同時接続数制限機能の trial_max_connections を非推奨にしました

    • 今後は max_connections をご利用ください

    • 2025 年 12 月リリース予定の Sora にて廃止します

  • sora.confice_connection_state_disconnected_timeout を非推奨にしました

  • sora.confice_connection_state_failed_timeout を非推奨にしました

  • WHIP の TURN 機能を無効にする whip_turnfalse に設定することを非推奨にしました

    • 2025 年 12 月リリース予定の Sora にて WHIP の TURN 機能の設定 whip_turn を廃止し、TURN 機能を無効にできなくなります

  • WHEP の TURN 機能を無効にする whep_turnfalse に設定することを非推奨にしました

    • 2025 年 12 月リリース予定の Sora にて WHEP の TURN 機能の設定 whip_turn を廃止し、TURN 機能を無効にできなくなります

  • WHIP の RFC 9725 化に伴い /whip-resource/:channel_id/:secret/ を非推奨にしました

    • NGINX の設定を resource から session に変更してください

    • 2025 年 12 月リリース予定の Sora にて廃止します

  • WHEP も WHIP に合わせて /whep-resource/:channel_id/:secret/ を非推奨にしました

    • NGINX の設定を resource から session に変更してください

    • 2025 年 12 月リリース予定の Sora にて廃止します

変更履歴

  • [CHANGE] スポットライト機能利用時に、フォーカスなしの音声転送の上限レートを指定する sora.confdefault_spotlight_unfocus_audio_rate_limit のデフォルト値を 2 から 5 に引き上げました

    • この変更により多人数で同時に発話があった際の音声がより快適になります

  • [CHANGE] RTP ヘッダー拡張 abs-send-time の利用を廃止しました

  • [FIX] セッション終了と DisconnectChannel API の実行が重なった場合、 SIGNALING-API-INTERNAL-ERROR エラーが出力されていたのを修正しました

  • [FIX] セッション終了と DisconnectClient API の実行が重なった場合、 SIGNALING-API-INTERNAL-ERROR エラーが出力されていたのを修正しました

  • [FIX] セッション終了と DisconnectConnection API の実行が重なった場合、 SIGNALING-API-INTERNAL-ERROR エラーが出力されていたのを修正しました

  • [FIX] パケロスが多い状況で DataChannel が正常に動作せず、メッセージを送信しなくなる問題を修正しました

sora.conf

  • [CHANGE] sora.conflegacy_stream を廃止しました

  • [CHANGE] sora.confignore_session_vanished_webhook を廃止しました

  • [CHANGE] sora.conf の設定コメントをドキュメントの URL のみに変更しました

  • [CHANGE] sora.conf のコメントの値をデフォルト値に変更しました

  • [CHANGE] sora.conf のコメントのデフォルト値が存在しない場合、 key = のみの表記にしました

  • [CHANGE] sora.conf の設定の並び順をアルファベット順に変更しました

  • [ADD] sora.conf にコネクションライフタイムのデフォルト値を指定する default_connection_lifetime を追加しました

    • デフォルトは未指定です

    • 最小は 0 ms で最大は 720 h です

ウェブフック

  • [ADD] イベントウェブフック利用時にウェブフックがどのワーカーを利用するかを判断する event_webhook_worker_key を追加しました

    • デフォルトは channel_id です

    • channel_id の場合はチャネル ID 単位でイベントウェブフックは同一のウェブフックワーカーを利用します

      • 例えば channel_idsora に接続している全てのクライアントは同一ウェブフックを利用します

    • connection_id の場合はコネクション ID 単位でイベントウェブフックは同一のウェブフックワーカーを利用します

      • connection_id は接続毎にユニークなため、同じチャネルに接続しているコネクションでも、それぞれに割り当てられたウェブフックワーカーを利用します

  • [ADD] セッションウェブフック session.destroyed を送信しないようにする ignore_session_destroyed_webhook を追加しました

    • デフォルトは false です

    • この設定を true にすると session.destroyed を送信しなくなります

  • [ADD] セッションウェブフック recording.report を送信しないようにする ignore_recording_report_webhook を追加しました

    • デフォルトは false です

    • この設定を true にすると recording.report を送信しなくなります

  • [ADD] イベントウェブフック archive.available を送信しないようにする ignore_archive_available_webhook を追加しました

    • デフォルトは false です

    • この設定を true にすると archive.available を送信しなくなります

  • [ADD] イベントウェブフック split-archive.end を送信しないようにする ignore_split_archive_end_webhook を追加しました

    • デフォルトは false です

    • この設定を true にすると split-archive.end を送信しなくなります

  • [ADD] イベントウェブフック archive.failed を送信しないようにする ignore_archive_failed_webhook を追加しました

    • デフォルトは false です

    • この設定を true にすると archive.failed を送信しなくなります

ログ

  • [ADD] api.jsonlid を追加しました

    • id は Base32 化した UUIDv4 です

  • [ADD] event_webhook.jsonlconnection.updated を出力しなくする event_webhook_connection_updated_log を追加しました

    • デフォルトは true です

    • この設定を false にすると event_webhook.jsonlconnection.updated を出力しなくなります

  • [ADD] session_webhook.jsonlsession.updated を出力しなくする session_webhook_session_updated_log を追加しました

    • デフォルトは true です

    • この設定を false にすると session_webhook.jsonlsession.updated を出力しなくなります

レガシーストリーム廃止

  • [CHANGE] レガシーストリーム機能を廃止しました

    • multistream 項目をウェブフック、ログ、API から削除しました

    • multistreamfalse にして接続した場合バリデーションエラーになります

  • [CHANGE] レガシーストリーム機能廃止に伴い StartForwardingRtp API の connection_id を必須にしました

  • [CHANGE] レガシーストリーム機能廃止に伴い StopForwardingRtp API の connection_id を必須にしました

統計エクスポーター廃止

今後は 統計ウェブフック をご利用ください。

  • [CHANGE] 統計エクスポーター機能を廃止しました

    • sora.confdefault_stats_exporter を廃止しました

    • sora.confdefault_stats_collector_url を廃止しました

    • sora.confdefault_stats_exporter_number を廃止しました

    • sora.confdefault_stats_exporter_tls_fullchain_file を廃止しました

    • sora.confdefault_stats_exporter_tls_privatekey_file を廃止しました

    • sora.confdefault_stats_exporter_tls_verify_cacert_file を廃止しました

ユーザーエージェント統計機能廃止

ユーザーエージェント統計機能を廃止しました。 今後は RTC 統計機能をご利用ください。

レガシーシグナリングエラー廃止

  • [CHANGE] sora.conf のレガシーシグナリングを指定する legacy_signaling_error を廃止しました

    • log/connection_created_wait_timeout にログが出力されなくなりました

    • log/signaling_error.jsonl にシグナリングエラーログが出力されるようになりました

    • connection.failed ウェブフックは 認証成功時 かつ connection.created が送信されていない場合のみ送信されるようになりました

    • sora.jsonl に認証失敗ログが出力されなくなりました

    • sora.jsonl にシグナリング失敗ログが出力されなくなりました

映像コーデックパラメーター追加

  • [ADD] AV1 コーデックパラメーターに level_idx を指定できるようにしました

    • デフォルトは 5 です

    • 範囲は 0 から 31 の整数が指定できます

  • [ADD] AV1 コーデックパラメーターに tier を指定できるようにしました

    • デフォルトは 0 です

    • 範囲は 01 の整数が指定できます

  • [ADD] H.265 コーデックパラメーターに profile_id を指定できるようにしました

    • デフォルトは 1 です

    • 範囲は 0 から 31 の整数が指定できます

  • [ADD] H.265 コーデックパラメーターに tier_flag を指定できるようにしました

    • デフォルトは 0 です

    • 範囲は 01 の整数が指定できます

  • [ADD] H.265 コーデックパラメーターに tx_mode を指定できるようにしました

    • デフォルトは SRST です

    • SRSTMRSTMRMT が指定できます

グループ機能

これは実験的機能です

セッションをグルーピングする group_id をセッションウェブフック session.created の払い出しで指定できるようになりました。

  • [ADD] セッションウェブフック session.created の払い出しで group_id を指定できるようになりました

    • group_id は 1 バイト以上 255 バイト以下の文字列です

    • group_id は未指定の場合は session_id が入ります

  • [ADD] ListSessions API に group_id を指定できるようになりました

    • group_id を指定した場合は指定した group_id のセッションのみを返します

    • group_id はオプションです

    • group_id を指定しない場合は全てのセッションを返します

  • [ADD] session_id 項目を含むウェブフックのリクエストに group_id を含めるようにしました

  • [ADD] session_id 項目を含む API の戻り値に group_id も含めるようにしました

  • [ADD] session_id 項目を含むログに group_id を含めるようにしました

  • [ADD] session_id 項目を含む録画メタデータに group_id を含めるようにしました

注釈

クライアントへの送るシグナリングメッセージには group_id は含まれません。

注意

session.createdgroup_id を指定して、ウェブフックの戻り値を受け取るまでは group_idsession_id の値になります。

セッション単位での最大同時接続数制限機能

セッション単位での最大同時接続数制限機能を正式版としてリリースしました。

  • [ADD] session.created でセッション単位での最大同時接続数を制限する max_connections を払い出せるようになりました

    • 正式版リリースに伴い trial_max_connections は 2025 年 12 月リリース予定の Sora にて廃止します

      • trial_max_connections は廃止後には無視します

    • trial_max_connectionsmax_connections を同時に指定した場合は max_connections が優先されます

クラスターリレーのツリー化

これは実験的機能です

今までのクラスターリレー機能は他のノードへの転送はクライアントが配信しているノードが担当していました。 この場合多くのノードにリレーが発生するとそのノードの負荷が高くなってしまいます。

そこで、リレーをツリー化することで、冗長なリレーを削減することでノードの負荷分散を実現しました。

注釈

`Plumtree (Epidemic Broadcast Trees) <https://asc.di.fct.unl.pt/~jleitao/pdf/srds07-leitao.pdf>`_アーキテクチャを採用しています。

セッション単位でのクライアント ID 重複時の既存接続の追い出し機能

これは実験的機能です

今までのクライアント ID の重複を許可するのに加えて、 既存の同一クライアント ID の接続を破棄することをセッション単位で指定できるようになりました。

この仕組みはセッションウェブフック session.created の払い出しで、 duplicate_client_idevict を指定することで有効になります。

  • [ADD] sora.conf にクライアント ID が重複するコネクションが認証に成功した際の挙動を指定する default_duplicate_client_id を追加しました

    • デフォルトは allow です

    • allow は未指定と同じで、今まで通り重複を許容します

    • evict は既存の接続を破棄し、新規接続を受け入れます

  • [ADD] セッションウェブフック session.created の払い出しにセッション単位での重複するクライアント ID を持つコネクションが認証成功した際の挙動を指定する duplicate_client_id を払い出せるようになりました

    • duplicate_client_id には allow または evict を指定できます

    • 未指定は sora.confdefault_duplicate_client_id の値を利用します

    • allow は今まで通り重複を許容します

    • evict は既存の接続を破棄し、新規接続を受け入れます

  • [ADD] クライアント ID の重複によるコネクションを破棄した際 connection.destroyeddata.reason"duplicate_client_id" を含めるようにしました

    • この値はセッションウェブフック session.created の払い出しで duplicate_client_idevict を指定して既存接続を破棄した場合に data.reason に含まれます

統計機能

  • [ADD] 実験的機能として GetStatsReport に Sora 内部で発生した遅延の累積値 (マイクロ秒単位) total_sent_srtp_sfu_delay_us を追加しました

  • [ADD] 実験的機能として GetStatsConnection に Sora 内部で発生した遅延の累積値 (マイクロ秒単位) total_sent_rtp_sfu_delay_us を追加しました

  • [ADD] 実験的機能として GetStatsClient に Sora 内部で発生した遅延の累積値 (マイクロ秒単位) total_sent_rtp_sfu_delay_us を追加しました

  • [ADD] 実験的機能として GetStatsAllConnections に Sora 内部で発生した遅延の累積値 (マイクロ秒単位) total_sent_rtp_sfu_delay_us を追加しました

帯域推定機能

帯域推定機能を追加しました、様々な情報を利用し帯域推定を行います。

以下を参考にしています。

シグナリング通知 network.status に帯域推定結果を追加

これは実験的機能です

実験的機能としてシグナリング通知の ネットワークのシグナリング通知 に帯域推定結果を通知する機能を追加しました。 これは受信者の帯域推定結果を通知するもので、送信者の帯域推定結果は通知しません。 そのため rolesendrecv または recvonly の場合に有効になります。

  • [ADD] sora.conf に legacy_signaling_notify_network_status を追加しました

    • デフォルトは false です

    • この設定を true にするとシグナリング通知 network.status のフォーマットを 2024.2.x までと同様にします

    • この設定は 2025 年 12 月リリースの Sora にて廃止します

  • [ADD] sora.conf にシグナリング通知 network.status の通知間隔を設定する signaling_notify_network_status_interval を追加しました

    • デフォルトは 10 s です

    • 最小は 20 ms で、最大は 10 min です

  • [ADD] シグナリング通知 ネットワークのシグナリング通知estimated_bandwidth を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • 帯域推定の値が含まれます

  • [ADD] シグナリング通知 ネットワークのシグナリング通知previous_estimated_bandwidth を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • 前回通知時の帯域推定の値が含まれます

    • 初回の通知時は 0 が入ります

  • [ADD] シグナリング通知 ネットワークのシグナリング通知unix_timestamp_ms を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • Unix タイムのミリ秒が含まれます

  • [ADD] シグナリング通知 ネットワークのシグナリング通知total_sent_rtp_byte_size を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • 通知時の RTP (音声と映像) 送信合計バイトサイズが含まれます

  • [ADD] シグナリング通知 ネットワークのシグナリング通知previous_unix_timestamp_ms を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • 前回通知時の Unix タイムのミリ秒が含まれます

    • 初回の通知時は 0 が入ります

  • [ADD] シグナリング通知 ネットワークのシグナリング通知previous_total_sent_rtp_byte_size を追加しました

    • sora.conf の legacy_signaling_notify_network_statusfalse の場合に有効になります

    • この通知は role が sendrecv または recvonly の場合に通知します

    • 前回通知時の RTP (音声と映像) 送信合計バイトサイズが含まれます

    • 初回の通知時は 0 が入ります

サイマルキャスト帯域推定による自動 rid 切り替え機能

これは実験的機能です

実験的機能としてサイマルキャストに rid を Sora 側で自動で切り替える auto を指定できるようになりました。 この機能を利用することで帯域推定を利用する事で最適な rid を Sora 側で選択するようになります。

  • [ADD] サイマルキャスト機能利用時の ridauto を指定できるようになりました

    • auto を指定した場合、帯域推定機能を利用して最適な rid を選択するようになります

  • [ADD] サイマルキャスト機能利用時の ridnone を指定できるようになりました

    • none を指定した場合、映像が配信されなくなります

ICE コネクションステート機能

メディア配信ワーカー自動スケール機能

メディア配信ワーカー機能のワーカーを自動で増減する仕組みを追加しました。

  • [CHANGE] sora.conf の配信ワーカー数を指定する media_publish_worker_number を廃止しました

  • [ADD] sora.conf に配信ワーカー数を自動で増減させる閾値を指定する media_publish_worker_autoscale_threshold を追加しました

    • デフォルトは 50 です

  • [ADD] メディア配信ワーカーに関する統計情報を追加しました

    • media_publish_worker.peak_count

      • その接続でこれまでに同時に起動した配信ワーカー数の最大値

    • media_publish_worker.total_started

      • その接続でこれまでに起動した配信ワーカーの総数

    • media_publish_worker.total_stopped

      • その接続でこれまでに停止した配信ワーカーの総数

    • media_publish_worker.total_unknown_subscriber

      • 配信ワーカーとの対応が存在しないサブスクライバー (受信側接続) の数

WHIP/WHEP 機能

WHIP が RFC 9725 として公開されたため、RFC への準拠を進めています。

  • [CHANGE] sora.confwhip_turnwhep_turn をデフォルト true に変更しました

  • [CHANGE] WHIP/WHEP 利用時に offer の SDP に a=sendrecv を指定できるように変更しました

  • [CHANGE] WHIP/WHEP 利用時にセッション URL に PATCH メソッドでアクセスした場合 501 ではなく 422 を返すように変更しました

  • [CHANGE] WHIP/WHEP 利用時にエンドポイントとセッション URL に GETHEAD メソッドでアクセスした場合 200 を返すように変更しました

  • [CHANGE] RFC でリソース URL がセッション URL と名前が変わったことにより Location ヘッダーでは /whip-session/:channel_id/:secret/ を払い出すように変更しました

    • 2025 年 12 月リリース予定の Sora にて /whip-resource/:channel_id/:secret/ は廃止します

  • [ADD] クラスター利用時に別のノードへのリダイレクトが発生した際に HTTP ステータスコード 307 を返すようにしました

    • 2024.2.x までは OBS が HTTP ステータスコード 307 に対応していなかったため、ノード間通信で認証処理を行うようにしていました

  • [ADD] WHIP/WHEP 利用時にエンドポイントとセッション URL に OPTIONS メソッドでアクセスした場合 Accept-Post ヘッダーで application/sdp を返すようにしました

WHIP/WHEP 機能の CORS 設定

ブラウザから WHIP/WHEP を利用する場合は CORS (Cross-Origin Resource Sharing) の設定を払い出す必要があり、 検証用として Sora 側でも簡易的な CORS の払い出し設定を追加しました。

ただし、ブラウザではWHIP/WHEP を利用せず Sora JavaScript SDK の利用を強く推奨します。 また、プロダクション環境では NGINX などで CORS の設定を利用し、Sora の CORS 設定は利用するのを避けてください。

  • [ADD] sora.conf にブラウザ向け Cross-Origin Resource Sharing の(CORS) 設定 whip_cors_origin を追加しました

    • デフォルトは未指定です

    • http://localhost:8080* のように指定します

    • whip_cors_origin が指定されている場合、 /whip/:channel_id に対して CORS を有効にします

      • エンドポイント URL の POST のレスポンスヘッダーに Access-Control-Expose-HeadersLocationLink を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-Originwhip_cors_origin の値を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-MethodsPOST を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-HeadersContent-TypeAuthorization を設定します

    • whip_cors_origin が指定されている場合、 /whip-resource/:channel_id/:secret/ に対して CORS を有効にします

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-Originwhip_cors_origin の値を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-MethodsDELETE, PATCH を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-HeadersContent-TypeAuthorization を設定します

  • [ADD] sora.conf にブラウザ向け Cross-Origin Resource Sharing の(CORS) 設定 whep_cors_origin を追加しました

    • デフォルトは未指定です

    • http://localhost:8080* のように指定します

    • whep_cors_origin が指定されている場合、 /whep/:channel_id に対して CORS を有効にします

      • エンドポイント URL の POST のレスポンスヘッダーに Access-Control-Expose-HeadersLocationLink を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-Originwhep_cors_origin の値を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-MethodsPOST を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-HeadersContent-TypeAuthorization を設定します

    • whep_cors_origin が設定されている場合、 /whep-resource/:channel_id/:secret/ に対して CORS を有効にします

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-Originwhep_cors_origin の値を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-MethodsDELETE, PATCH を設定します

      • セッション URL の OPTIONS のレスポンスヘッダーに Access-Control-Allow-HeadersContent-TypeAuthorization を設定します

© Copyright 2025, Shiguredo Inc Created using Sphinx 8.2.3