# リリースノート

**CHANGE**
: 後方互換性のない変更

**UPDATE**
: 後方互換性がある変更

**ADD**
: 後方互換性がある追加

**FIX**
: バグ修正
















## 2025.1.0

**メジャーアップデート**

**リリース**: 2025 年 6 月 25 日

> **重要**
>
> Sora 2024.2.x から 2025.1.x への移行については [2024.2.x から 2025.1.x への移行](2024_2_TO_2025_1.html) をご確認ください。

### ハイライト

- クラスターリレー機能のツリー化によりノードの負荷を分散できるようになりました
- クラスターリレー機能が正式版になりました- クラスターアフィニティ機能やテンポラリーノード機能も正式版になりました
- セッション単位で最大同時接続数を制限できる機能が正式版になりました
- セッション単位でのクライアント ID 重複時の既存接続の追い出し機能を追加しました
- 帯域推定機能を追加しました
- メディア配信ワーカー自動スケール機能を追加しました

### 正式版

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

- [リレー機能](CLUSTER.html#4b3bf1)
- [アフィニティ機能](CLUSTER.html#6f4bfb)
- [テンポラリーノード機能](CLUSTER.html#3cb6c8)
- セッション単位での最大同時接続数制限機能の [max_connections](SESSION_WEBHOOK.html#498be9) 払い出し
- [ListSessions](API_SESSION.html#748f19) API
- [GetSession](API_SESSION.html#427a59) API
- [RTC 統計情報 API](API_RTC_STATS.html)
- [統計ウェブフック](STATS_WEBHOOK.html)

### 破壊的変更

- WHIP の TURN 機能をデフォルトで有効にしました- 2024 年 7 月リリースの OBS 30.2 より以前の OBS が接続できなくなります
  - 2025 年 12 月リリース予定の Sora にて WHIP の TURN 機能の設定 [whip_turn](SORA_CONF.html#d8d72c) を廃止し、TURN 機能を無効にできなくなります
- WHEP の TURN 機能をデフォルトで有効にしました- WHEP の TURN 機能を無効にする設定は非推奨になりました
  - 2025 年 12 月リリース予定の Sora にて WHEP の TURN 機能の設定 [whep_turn](SORA_CONF.html#8bf008) を廃止し、TURN 機能を無効にできなくなります

### 廃止情報

- レガシーストリームを廃止しました- `multistream` 項目をウェブフック、ログ、API から削除しました
  - `multistream` を `false` にして接続した場合バリデーションエラーになります
- ユーザーエージェント統計機能を廃止しました- 今後は RTC 統計機能をご利用ください
- 統計エクスポーター機能を廃止しました
- モード機能のウェブフック `session.vanished` を廃止しました
- メディア配信ワーカー数を指定する `media_publish_worker_number` を廃止しました- ワーカーは自動でスケールするようになりました
  - 自動スケールの閾値は `sora.conf` の [media_publish_worker_autoscale_threshold](SORA_CONF.html#664e74) を利用してください
  - デフォルトは 50 で、50 接続単位でワーカーを増減させます

### 非推奨情報

- 組み込み TURN 機能を無効にする [turn](SORA_CONF.html#489c4e) を `false` に設定することを非推奨にしました- 2025 年 12 月リリース予定の Sora にて組み込み TURN 機能を無効にする設定 [turn](SORA_CONF.html#489c4e) を廃止し、組み込み TURN 機能を無効にできなくなります
- セッション単位での最大同時接続数制限機能の `trial_max_connections` を非推奨にしました- 今後は [max_connections](SESSION_WEBHOOK.html#498be9) をご利用ください
  - 2025 年 12 月リリース予定の Sora にて廃止します
- `sora.conf` の [ice_connection_state_disconnected_timeout](SORA_CONF.html#3a2e9b) を非推奨にしました- [default_ice_connection_state_disconnected_timeout](SORA_CONF.html#420a1e) をご利用ください
  - 2025 年 12 月リリース予定の Sora にて廃止します
- `sora.conf` の [ice_connection_state_failed_timeout](SORA_CONF.html#7484a4) を非推奨にしました- [default_ice_connection_state_failed_timeout](SORA_CONF.html#d6f965) をご利用ください
  - 2025 年 12 月リリース予定の Sora にて廃止します
- AV1 を無効にする必要がないと判断したため、`sora.conf` の [av1](SORA_CONF.html#84136e) を `false` にする設定を非推奨としました> - 2025 年 12 月リリース予定の Sora にてこの設定は廃止し、AV1 の利用を無効化することはできなくなります
- H.265 を無効にする必要がないと判断したため、`sora.conf` の [h265](SORA_CONF.html#2e0d28) を `false` にする設定を非推奨としました> - 2025 年 12 月リリース予定の Sora にてこの設定は廃止し、H.265 の利用を無効化することはできなくなります
- WHIP の TURN 機能を無効にする [whip_turn](SORA_CONF.html#d8d72c) を `false` に設定することを非推奨にしました- 2025 年 12 月リリース予定の Sora にて WHIP の TURN 機能の設定 [whip_turn](SORA_CONF.html#d8d72c) を廃止し、TURN 機能を無効にできなくなります
- WHEP の TURN 機能を無効にする [whep_turn](SORA_CONF.html#8bf008) を `false` に設定することを非推奨にしました- 2025 年 12 月リリース予定の Sora にて WHEP の TURN 機能の設定 [whep_turn](SORA_CONF.html#8bf008) を廃止し、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.conf` の [sora_conf-default_spotlight_unfocus_audio_rate_limit](SPOTLIGHT.html#27c5ad) のデフォルト値を 2 から 5 に引き上げました- この変更により多人数で同時に発話があった際の音声がより快適になります
- [CHANGE] スポットライト機能利用時に、フォーカスなしの音声転送の上限レートを指定する `sora.conf` の [sora_conf-default_spotlight_unfocus_audio_rate_limit](SPOTLIGHT.html#27c5ad) の上限を 20 に引き上げました
- [CHANGE] RTP ヘッダー拡張 `abs-send-time` の利用を廃止しました- libwebrtc 側でもここ数年利用されていません
  - [Deprecate and remove the abs-send-time extension [398065914] - WebRTC](https://issues.webrtc.org/issues/398065914)
- [FIX] セッション終了と [DisconnectChannel](API_SIGNALING.html#a87366) API の実行が重なった場合、 `SIGNALING-API-INTERNAL-ERROR` エラーが出力されていたのを修正しました
- [FIX] セッション終了と [DisconnectClient](API_SIGNALING.html#e91c0b) API の実行が重なった場合、 `SIGNALING-API-INTERNAL-ERROR` エラーが出力されていたのを修正しました
- [FIX] セッション終了と [DisconnectConnection](API_SIGNALING.html#2ec3a0) API の実行が重なった場合、 `SIGNALING-API-INTERNAL-ERROR` エラーが出力されていたのを修正しました
- [FIX] 同じチャネル ID のセッション破棄と作成が連絡した場合、録画情報がセッションをまたいで使い回される問題を修正しました
- [FIX] パケロスが多い状況で DataChannel が正常に動作せず、メッセージを送信しなくなる問題を修正しました
- [FIX] パケロスが多い状況で OBS WHIP を利用して高いビットレートの配信を録画しようとしたときに、録画が正常に行われない問題を修正しました
- [FIX] OBS WHIP 利用時に H.265 の録画開始後、すぐに終了すると録画が正常に行われない問題を修正しました
- [FIX] SIGTERM で Sora を終了した際に、意図しないログが出力されてしまう問題を修正しました
- [FIX] H.264 録画時に H.264 NAL Unit の SEI をスキップするように修正しました
- [FIX] クラスター機能利用時にスポットライトのアンフォーカスの音声転送の上限レートが正しく設定されない問題を修正しました
- [FIX] クラスターリレー機能利用時にスポットライトのアンフォーカス音声のペース制限の対象となるパケット判定が正しく行われない問題を修正しました

#### パッケージ

- [UPDATE] RHEL 9 x86_64 版のパッケージを 9.6 へ更新しました
- [ADD] RHEL 10 x86_64 版のパッケージを追加しました

#### sora.conf

- [CHANGE] セッションウェブフック `session.vanished` 廃止に伴い `sora.conf` の `ignore_session_vanished_webhook` を廃止しました
- [CHANGE] `sora.conf` の設定コメントをドキュメントの URL のみに変更しました
- [CHANGE] `sora.conf` のコメントの値をデフォルト値に変更しました
- [CHANGE] `sora.conf` のコメントのデフォルト値が存在しない場合、 `key =` のみの表記に変更しました
- [CHANGE] `sora.conf` の設定の並び順をアルファベット順に変更しました
- [ADD] `sora.conf` にコネクションライフタイムのデフォルト値を指定する [default_connection_lifetime](SORA_CONF.html#7ec6a4) を追加しました- デフォルトは未指定です
  - 最小は 0 ms で最大は 720 h です

#### レガシーストリーム廃止

- [CHANGE] レガシーストリーム機能を廃止しました- `multistream` 項目をウェブフック、ログ、API から削除しました
  - `multistream` を `false` にして接続した場合バリデーションエラーになります
- [CHANGE] レガシーストリーム機能廃止に伴い `sora.conf` の `legacy_stream` を廃止しました
- [CHANGE] レガシーストリーム機能廃止に伴い [StartForwardingRtp](EXPERIMENTAL_API_RTP_FORWARDING.html#c734b8) API の `connection_id` を必須にしました
- [CHANGE] レガシーストリーム機能廃止に伴い [StopForwardingRtp](EXPERIMENTAL_API_RTP_FORWARDING.html#729828) API の `connection_id` を必須にしました

#### 統計エクスポーター廃止

今後は [統計ウェブフック](STATS_WEBHOOK.html) をご利用ください。

- [CHANGE] 統計エクスポーター機能を廃止しました- `sora.conf` の `default_stats_exporter` を廃止しました
  - `sora.conf` の `default_stats_collector_url` を廃止しました
  - `sora.conf` の `default_stats_exporter_number` を廃止しました
  - `sora.conf` の `default_stats_exporter_tls_fullchain_file` を廃止しました
  - `sora.conf` の `default_stats_exporter_tls_privatekey_file` を廃止しました
  - `sora.conf` の `default_stats_exporter_tls_verify_cacert_file` を廃止しました

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

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

- [CHANGE] `sora.conf` の `user_agent_stats` を廃止しました- 今後は [default_rtc_stats](SORA_CONF.html#558c2b) をご利用ください
- [CHANGE] 認証成功払い出しから `user_agent_stats` を廃止しました- 今後は [rtc_stats の払い出し](AUTH_WEBHOOK_RETURN.html#9e5912) を払い出すようにしてください
- [CHANGE] [ListUserAgentStats](OBSOLETE_API_USER_AGENT_STATS.html#f9a4fe) API を廃止しました- 今後は [ListRtcStats](API_RTC_STATS.html#956f4b) API をご利用ください
- [CHANGE] [ListChannelUserAgentStats](OBSOLETE_API_USER_AGENT_STATS.html#df496a) API を廃止しました- 今後は [ListChannelRtcStats](API_RTC_STATS.html#6704c0) API をご利用ください
- [CHANGE] [GetUserAgentStats](OBSOLETE_API_USER_AGENT_STATS.html#a078ba) API を廃止しました- 今後は [GetRtcStats](API_RTC_STATS.html#4e8cb0) API をご利用ください

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

- [CHANGE] `sora.conf` のレガシーシグナリングを指定する `legacy_signaling_error` を廃止しました- `log/connection_created_wait_timeout` にログが出力されなくなりました
  - `log/signaling_error.jsonl` にシグナリングエラーログが出力されるようになりました
  - `connection.failed` ウェブフックは **認証成功時** かつ **connection.created** が送信されていない場合のみ送信されるようになりました
  - `sora.jsonl` に認証失敗ログが出力されなくなりました
  - `sora.jsonl` にシグナリング失敗ログが出力されなくなりました

#### データチャネル

- [ADD] API やログで取得できるデータチャネル関連の統計情報を追加しました- `total_enqueued_sent_chunk`- SCTP 送信用キュー (sent_queue) に追加されたチャンク数
  - `total_dequeued_sent_chunk`- SCTP 送信用キュー (sent_queue) から取り出されたチャンク数
  - `total_enqueued_outbound_chunk`- SCTP 送信待ちキュー (outbound_queue) に追加されたチャンク数
  - `total_dequeued_outbound_chunk`- SCTP 送信待ちキュー (outbound_queue) から取り出されたチャンク数
  - `total_increased_flight_size`- SCTP フライトサイズの増加量の合計値 (バイト単位)
  - `total_decreased_flight_size`- SCTP フライトサイズの減少量の合計値 (バイト単位)
  - `total_expired_t3_timer`- SCTP T3 タイマーの満了回数

#### ウェブフック

- [CHANGE] イベントウェブフック利用時のワーカー数を指定する [event_webhook_worker_number](SORA_CONF.html#58523d) のデフォルトを 5 から 100 に変更しました
- [ADD] イベントウェブフック利用時にウェブフックがどのワーカーを利用するかを判断する [event_webhook_worker_key](SORA_CONF.html#d73d7a) を追加しました- デフォルトは `channel_id` です
  - `channel_id` の場合はチャネル ID 単位でイベントウェブフックは同一のウェブフックワーカーを利用します- 例えば `channel_id` が `sora` に接続している全てのクライアントは同一ウェブフックを利用します
  - `connection_id` の場合はコネクション ID 単位でイベントウェブフックは同一のウェブフックワーカーを利用します- `connection_id` は接続毎にユニークなため、同じチャネルに接続しているコネクションでも、それぞれに割り当てられたウェブフックワーカーを利用します
- [ADD] セッションウェブフック [session.destroyed](SESSION_WEBHOOK.html#ccb165) を送信しないようにする [ignore_session_destroyed_webhook](SORA_CONF.html#1ad557) を追加しました- デフォルトは `false` です
  - この設定を `true` にすると [session.destroyed](SESSION_WEBHOOK.html#ccb165) を送信しなくなります
- [ADD] セッションウェブフック [recording.report](SESSION_WEBHOOK.html#920a02) を送信しないようにする [ignore_recording_report_webhook](SORA_CONF.html#1faedc) を追加しました- デフォルトは `false` です
  - この設定を `true` にすると [recording.report](SESSION_WEBHOOK.html#920a02) を送信しなくなります
- [ADD] イベントウェブフック [archive.available](EVENT_WEBHOOK.html#de9132) を送信しないようにする [ignore_archive_available_webhook](SORA_CONF.html#5de946) を追加しました- デフォルトは `false` です
  - この設定を `true` にすると [archive.available](EVENT_WEBHOOK.html#de9132) を送信しなくなります
- [ADD] イベントウェブフック [split-archive.end](EVENT_WEBHOOK.html#31be7a) を送信しないようにする [ignore_split_archive_end_webhook](SORA_CONF.html#c7a923) を追加しました- デフォルトは `false` です
  - この設定を `true` にすると [split-archive.end](EVENT_WEBHOOK.html#31be7a) を送信しなくなります
- [ADD] イベントウェブフック [archive.failed](EVENT_WEBHOOK.html#5006f8) を送信しないようにする [ignore_archive_failed_webhook](SORA_CONF.html#c355b0) を追加しました- デフォルトは `false` です
  - この設定を `true` にすると [archive.failed](EVENT_WEBHOOK.html#5006f8) を送信しなくなります

#### ログ

- [ADD] API ログ `api.jsonl` に `id` を追加しました- `id` は Base32 化した UUIDv4 です
- [ADD] `event_webhook.jsonl` に `connection.updated` を出力しなくする [event_webhook_connection_updated_log](SORA_CONF.html#435f7c) を `sora.conf` に追加しました- デフォルトは `true` です
  - この設定を `false` にすると `event_webhook.jsonl` に `connection.updated` を出力しなくなります
- [ADD] `session_webhook.jsonl` に `session.updated` を出力しなくする [session_webhook_session_updated_log](SORA_CONF.html#0fba6b) を `sora.conf` に追加しました- デフォルトは `true` です
  - この設定を `false` にすると `session_webhook.jsonl` に `session.updated` を出力しなくなります

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

- [ADD] AV1 コーデックパラメーターに `level_idx` を指定できるようにしました- デフォルトは `5` です
  - 範囲は `0` から `31` の整数が指定できます
- [ADD] AV1 コーデックパラメーターに `tier` を指定できるようにしました- デフォルトは `0` です
  - 範囲は `0` か `1` の整数が指定できます
- [ADD] H.265 コーデックパラメーターに `profile_id` を指定できるようにしました- デフォルトは `1` です
  - 範囲は `0` から `31` の整数が指定できます
- [ADD] H.265 コーデックパラメーターに `tier_flag` を指定できるようにしました- デフォルトは `0` です
  - 範囲は `0` か `1` の整数が指定できます
- [ADD] H.265 コーデックパラメーターに `tx_mode` を指定できるようにしました- デフォルトは `SRST` です
  - `SRST` か `MRST` か `MRMT` が指定できます

#### グループ機能

**これは実験的機能です**

セッションをグルーピングする `group_id` をセッションウェブフック [session.created](SESSION_WEBHOOK.html#1d1984) の払い出しで指定できるようになりました。

- [ADD] セッションウェブフック [session.created](SESSION_WEBHOOK.html#1d1984) の払い出しで `group_id` を指定できるようになりました- `group_id` は 1 バイト以上 255 バイト以下の文字列です
  - `group_id` は未指定の場合は `session_id` が入ります
- [ADD] [ListSessions](API_SESSION.html#748f19) 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.created](SESSION_WEBHOOK.html#1d1984) で `group_id` を指定して、ウェブフックの戻り値を受け取るまでは `group_id` は `session_id` の値になります。

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

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

- [ADD] [session.created](SESSION_WEBHOOK.html#1d1984) でセッション単位での最大同時接続数を制限する `max_connections` を払い出せるようになりました- 正式版リリースに伴い `trial_max_connections` は 2025 年 12 月リリース予定の Sora にて廃止します- `trial_max_connections` は廃止後には無視します
  - `trial_max_connections` と `max_connections` を同時に指定した場合は `max_connections` が優先されます
  - セッション数が `max_connections` を超えて、接続に失敗した場合、 [ignore_connection_failed_webhook](SORA_CONF.html#45096a) が `false` の場合は [connection.failed](EVENT_WEBHOOK.html#5266b6) が送信されます- `message` に `"SERVICE-UNAVAILABLE"` が含まれます

#### クラスターリレー機能でツリー構造の採用

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

そこで、リレーを [Plumtree](https://asc.di.fct.unl.pt/~jleitao/pdf/srds07-leitao.pdf) という分散アルゴリズムを利用したツリー構造を採用する事で、冗長なリレーを削減し、ノードの負荷分散を実現しました。

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

**これは実験的機能です**

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

この仕組みはセッションウェブフック [session.created](SESSION_WEBHOOK.html#1d1984) の払い出しで、
`duplicate_client_id` に `evict` を指定することで有効になります。

- [ADD] `sora.conf` にクライアント ID が重複するコネクションが認証に成功した際の挙動を指定する [default_duplicate_client_id](SORA_CONF.html#c8b57b) を追加しました- デフォルトは `allow` です
  - `allow` は未指定と同じで、今まで通り重複を許容します
  - `evict` は既存の接続を破棄し、新規接続を受け入れます
- [ADD] セッションウェブフック [session.created](SESSION_WEBHOOK.html#1d1984) の払い出しにセッション単位での重複するクライアント ID を持つコネクションが認証成功した際の挙動を指定する `duplicate_client_id` を払い出せるようになりました- `duplicate_client_id` には `allow` または `evict` を指定できます
  - 未指定は `sora.conf` の [default_duplicate_client_id](SORA_CONF.html#c8b57b) の値を利用します
  - `allow` は今まで通り重複を許容します
  - `evict` は既存の接続を破棄し、新規接続を受け入れます
- [ADD] クライアント ID の重複によるコネクションを破棄した際 [connection.destroyed](EVENT_WEBHOOK.html#6c02d0) の `data.reason` に `"duplicate_client_id"` を含めるようにしました- この値はセッションウェブフック [session.created](SESSION_WEBHOOK.html#1d1984) の払い出しで `duplicate_client_id` に `evict` を指定して既存接続を破棄した場合に `data.reason` に含まれます

#### 統計機能

- [ADD] 実験的機能として [GetStatsReport](EXPERIMENTAL_API_STATS.html#bbbfca) に Sora 内部で発生した遅延の累積値 (マイクロ秒単位)  `total_sent_srtp_sfu_delay_us` を追加しました
- [ADD] 実験的機能として [GetStatsConnection](API_STATS.html#e79b61) に Sora 内部で発生した遅延の累積値 (マイクロ秒単位)  `total_sent_rtp_sfu_delay_us` を追加しました
- [ADD] 実験的機能として [GetStatsClient](API_STATS.html#ef69ae) に Sora 内部で発生した遅延の累積値 (マイクロ秒単位)  `total_sent_rtp_sfu_delay_us` を追加しました
- [ADD] 実験的機能として [GetStatsAllConnections](API_STATS.html#ef695a) に Sora 内部で発生した遅延の累積値 (マイクロ秒単位)  `total_sent_rtp_sfu_delay_us` を追加しました

#### 帯域推定機能

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

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

- [RFC 8888 - RTP Control Protocol (RTCP) Feedback for Congestion Control](https://datatracker.ietf.org/doc/html/rfc8888)
- [RFC 8869 - Evaluation Test Cases for Interactive Real-Time Media over Wireless Networks](https://datatracker.ietf.org/doc/html/rfc8869)
- [RFC 8868 - Evaluating Congestion Control for Interactive Real-Time Media](https://datatracker.ietf.org/doc/html/rfc8868)
- [RFC 8867 - Test Cases for Evaluating Congestion Control for Interactive Real-Time Media](https://datatracker.ietf.org/doc/html/rfc8867)
- [RFC 8836 - Congestion Control Requirements for Interactive Real-Time Media](https://datatracker.ietf.org/doc/html/rfc8836)
- [RTP Extensions for Transport-wide Congestion Control](https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01)
- [A Google Congestion Control Algorithm for Real-Time Communication](https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02)
- [BBR: Congestion-Based Congestion Control - ACM Queue](https://queue.acm.org/detail.cfm?id=3022184)

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

**これは実験的機能です**

実験的機能としてシグナリング通知の [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に帯域推定結果を通知する機能を追加しました。
これは受信者の帯域推定結果を通知するもので、送信者の帯域推定結果は通知しません。
そのため `role` が `sendrecv` または `recvonly` の場合に有効になります。

- [ADD] sora.conf に [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) を追加しました- デフォルトは `false` です
  - この設定を `true` にするとシグナリング通知 network.status のフォーマットを 2024.2.x までと同様にします
  - この設定は 2025 年 12 月リリースの Sora にて廃止します
- [ADD] sora.conf にシグナリング通知 `network.status` の通知間隔を設定する [signaling_notify_network_status_interval](SORA_CONF.html#e0f78e) を追加しました- デフォルトは `10 s` です
  - 最小は `20 ms` で、最大は `10 min` です
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `estimated_bandwidth` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - 帯域推定の値が含まれます
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `previous_estimated_bandwidth` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - 前回通知時の帯域推定の値が含まれます
  - 初回の通知時は 0 が入ります
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `unix_timestamp_ms` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - Unix タイムのミリ秒が含まれます
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `total_sent_rtp_byte_size` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - 通知時の RTP (音声と映像) 送信合計バイトサイズが含まれます
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `previous_unix_timestamp_ms` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - 前回通知時の Unix タイムのミリ秒が含まれます
  - 初回の通知時は 0 が入ります
- [ADD] シグナリング通知 [ネットワークのシグナリング通知](SIGNALING_NOTIFY.html#58a82d) に `previous_total_sent_rtp_byte_size` を追加しました- sora.conf の [legacy_signaling_notify_network_status](SORA_CONF.html#3c5702) が `false` の場合に有効になります
  - この通知は role が `sendrecv` または `recvonly` の場合に通知します
  - 前回通知時の RTP (音声と映像) 送信合計バイトサイズが含まれます
  - 初回の通知時は 0 が入ります

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

- [ADD] 認証成功時の払い出しに ICE コネクションステートの `disconnected` 状態へ遷移するタイムアウトを指定する [ice_connection_state_disconnected_timeout_ms の払い出し](AUTH_WEBHOOK_RETURN.html#38a86f) を追加しました
- [ADD] 認証成功時の払い出しに ICE コネクションステートの `failed` 状態へ遷移するタイムアウトを指定する [ice_connection_state_failed_timeout_ms の払い出し](AUTH_WEBHOOK_RETURN.html#1f5eb9) を追加しました
- [ADD] `sora.conf` に ICE コネクションステート機能の `disconnected` 状態へ遷移するタイムアウトを指定する [default_ice_connection_state_disconnected_timeout](SORA_CONF.html#420a1e) を追加しました- [default_ice_connection_state_disconnected_timeout](SORA_CONF.html#420a1e) と  [ice_connection_state_disconnected_timeout](SORA_CONF.html#3a2e9b) の値が設定している場合は [ice_connection_state_disconnected_timeout](SORA_CONF.html#3a2e9b) の値を優先します
  - `sora.conf` の [ice_connection_state_disconnected_timeout](SORA_CONF.html#3a2e9b) は 2025 年 12 月リリース予定の Sora にて廃止します
- [ADD] `sora.conf` に ICE コネクションステート機能の `failed` 状態へ遷移するタイムアウトを指定する [default_ice_connection_state_failed_timeout](SORA_CONF.html#d6f965) を追加しました- [default_ice_connection_state_failed_timeout](SORA_CONF.html#d6f965) と  [ice_connection_state_failed_timeout](SORA_CONF.html#7484a4) の両方を設定している場合は [ice_connection_state_failed_timeout](SORA_CONF.html#7484a4) の値を優先します
  - `sora.conf` の [ice_connection_state_failed_timeout](SORA_CONF.html#7484a4) は 2025 年 12 月リリース予定の Sora にて廃止します

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

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

- [CHANGE] `sora.conf` の配信ワーカー数を指定する `media_publish_worker_number` を廃止しました
- [ADD] `sora.conf` に配信ワーカー数を自動で増減させる閾値を指定する [media_publish_worker_autoscale_threshold](SORA_CONF.html#664e74) を追加しました- デフォルトは 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](https://www.rfc-editor.org/rfc/rfc9725.html) として公開されたため、RFC への準拠を進めています。

- [CHANGE] `sora.conf` の [whip_turn](SORA_CONF.html#d8d72c) と [whep_turn](SORA_CONF.html#8bf008) をデフォルト `true` に変更しました
- [CHANGE] WHIP/WHEP 利用時に `offer` の SDP に `a=sendrecv` を指定できるように変更しました
- [CHANGE] WHIP/WHEP 利用時にセッション URL に `PATCH` メソッドでアクセスした場合 `501` ではなく `422` を返すように変更しました
- [CHANGE] WHIP/WHEP 利用時にエンドポイントとセッション URL に `GET` や `HEAD` メソッドでアクセスした場合、 `405` ではなく `200` を返すように変更しました
- [CHANGE] RFC でリソース URL がセッション URL と名前が変わったことにより Location ヘッダーでは `/whip-session/:channel_id/:secret/` を払い出すように変更しました- 2025 年 12 月リリース予定の Sora にて `/whip-resource/:channel_id/:secret/` は廃止します
- [ADD] クラスター利用時に別のノードへのリダイレクトが発生した際に HTTP ステータスコード 307 を返すようにしました- OBS が HTTP ステータスコード 307 に対応していなかったため、Sora 2024.2.x まではノード間通信で認証処理を行うようにしていました
- [ADD] WHIP/WHEP 利用時にエンドポイントとセッション URL に `OPTIONS` メソッドでアクセスした場合 `Accept-Post` ヘッダーで `application/sdp` を返すようにしました

#### TURN-UDP 利用時の認証エラー時のレートリミット

TURN-UDP 時に認証エラーが発生した場合にレートリミットを設けて、
サイレントディスカードする仕組みを追加しました。デフォルトで特に困ることはありません。

- [ADD] GetStatsConnection API に TURN-UDP 利用時の認証エラー時のレートリミットを超えた回数 `total_turn_udp_allocate_request_401_rate_limit_exceeded` を追加しました- この値は TURN-UDP 利用時の認証エラー時のレートリミットを超えた回数を累積した値です
- [ADD] `sora.conf` に TURN-UDP 利用時の認証エラー時のレートリミットウィンドウを指定する [turn_udp_allocate_request_401_rate_limit_window](SORA_CONF.html#56ea52) を追加しました- デフォルトは `60 s` です
  - 最小は `1 s` で、最大は `60 s` です
- [ADD] `sora.conf` に TURN-UDP 利用時の認証エラー時のレートリミット回数を指定する [turn_udp_allocate_request_401_rate_limit_count](SORA_CONF.html#5deefa) を追加しました- デフォルトは `60` です
  - 最小は `0` で、最大は `300` です
