マルチ転送フィルター機能¶
注意
この機能を利用する場合は事前にサポートまでご連絡ください
警告
この機能は 実験的機能 のため、正式版では仕様が変更される可能性があります
概要¶
マルチ転送フィルター機能は、転送フィルターに名前 (name) と優先度 (priority) を指定することで、
1 チャネルや 1 コネクションに複数の転送フィルターを設定できる機能です。
認証接続時と認証成功時・セッション生成時の払い出しの注意点¶
forwarding_filterは非推奨となりますforwarding_filterは 2025 年 12 月リリース予定の Sora にて廃止しますforwarding_filterとforwarding_filtersの両方を指定した場合forwarding_filtersが優先されますforwarding_filterでもnameとpriorityを指定できますforwarding_filtersでnameが重複した場合はエラーになりますforwarding_filtersでnameとpriorityが未指定の場合はdefaultと32767として扱われますただし未指定が複数ある場合は
nameのdefaultが重複していると判断されエラーになります
仕様¶
マルチ転送フィルターは 1 チャネルや 1 コネクションに対して複数の転送フィルターを設定できる機能です
複数の転送フィルターを設定する場合は、
nameとpriorityを指定して転送フィルターを追加しますnameはすでに設定済みの転送フィルターと重複することはできませんnameとpriorityのどちらかだけを指定することはできません
転送フィルターは転送を判定するタイミングで、指定されている全ての転送フィルターを判定します
ただし判定するタイミングで、優先度が高いものから判定します
転送フィルター追加時に名前 (
name) と優先度 (priority) を指定することができます転送フィルター更新時に名前 (
name) と優先度 (priority) を指定することができます転送フィルター削除時に名前 (
name) を指定して削除することができます名前は任意の文字列 (最大 255 バイト) が指定できます
名前は重複できません
channel_idまたはconnection_id単位で一意な名前が必要名前が重複している場合はエラーになります
優先度は 0-32767 (16#7FFF) の間で指定してください
優先度が一番高いのは 0 で、数値が大きいほど優先度が低くなります
優先度は重複できます
優先度が同じ場合は
allowが優先されますblockのみの場合は OR で判定しますallowのみの場合は OR で判定しますblock/block/allowならallowのみで判定します
nameとpriorityを指定しない場合はデフォルト値が設定されますnameは"default"ですpriorityは32767です
性能¶
1 チャネルや 1 コネクションに対して数千個などのフィルターを設定しない限り、性能が劣化することはありません。
認証成功時の払い出し¶
forwarding_filters: [
{
"name": "client-id-carol-allow",
"priority": 0,
"action": "allow",
"rules": [
[
{
"field": "client_id",
"operator": "is_in",
"values": [
"carol"
]
}
]
]
},
{
"name": "default",
"priority": 32767,
"action": "block",
"rules": [
[
{
"field": "kind",
"operator": "is_in",
"values": [
"audio",
"video"
]
}
]
]
}
]
セッション生成時の払い出し¶
forwarding_filters: [
{
"action": "block",
"name": "client-id-alice-block",
"priority": 0,
"rules": [
[
{
"field": "client_id",
"operator": "is_in",
"values": [
"alice"
]
}
]
]
},
{
"action": "block",
"name": "client-id-bob-block",
"priority": 0,
"rules": [
[
{
"field": "client_id",
"operator": "is_in",
"values": [
"bob"
]
}
]
]
},
{
"action": "block",
"name": "default",
"priority": 32767,
"rules": [
[
{
"field": "kind",
"operator": "is_in",
"values": [
"audio"
]
}
]
]
}
]