転送フィルター API¶
転送フィルター API は、チャネル単位やコネクション単位で音声や映像の転送をフィルタリングする機能です。
ListForwardingFilters¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.ListForwardingFilters
指定したチャネルについて、チャネル単位とコネクション単位両方の転送フィルターを表示します。
また、 blocked オプションの指定により音声と映像のブロック状況を表示します。
キー |
型 |
|---|---|
channel_id |
string |
blocked (オプション) |
boolean |
blockedを指定しない場合はfalseが指定されますversionが指定されているフィルターに対してはversion項目が追加されますmetadataが指定されているフィルターに対してはmetadata項目が追加されます
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.ListForwardingFilters" \
--json '{"channel_id":"sora","blocked":true}' \
| jq .
{
"channel_forwarding_filters": [
{
"action": "block",
"name": "default",
"priority": 32767,
"rules": [
[
{
"field": "kind",
"operator": "is_in",
"values": [
"video",
"audio"
]
}
]
]
}
],
"connection_forwarding_filters": [
{
"action": "allow",
"name": "default",
"priority": 32767,
"connection_id": "6V9VANDZZH71HCQGVKBWKJ8GS0",
"rules": [
[
{
"field": "kind",
"operator": "is_in",
"values": [
"video"
]
}
]
]
},
{
"action": "allow",
"name": "default",
"priority": 32767,
"connection_id": "XEDQM589M520Z50KM7C6C5PRB0",
"rules": [
[
{
"field": "kind",
"operator": "is_in",
"values": [
"audio"
]
}
]
]
}
],
"blocked": [
{
"destination_connection_id": "6V9VANDZZH71HCQGVKBWKJ8GS0",
"kind": "audio",
"source_connection_id_list": [
"ASJDFJ1PF94JN6DV59JQZ1HNDR"
]
},
{
"destination_connection_id": "XEDQM589M520Z50KM7C6C5PRB0",
"kind": "video",
"source_connection_id_list": [
"ASJDFJ1PF94JN6DV59JQZ1HNDR",
"6V9VANDZZH71HCQGVKBWKJ8GS0"
]
}
]
}
レスポンス¶
レスポンスの内容は以下の通りです。転送フィルターについての詳細は 転送フィルタールールの仕様 をご確認ください。
- channel_forwarding_filters
- 指定したチャネルに設定されているチャネル単位の転送フィルターをリストで表示します
- connection_forwarding_filters
- 指定したチャネルに設定されているコネクション単位の転送フィルターを配列で表示します
- blocked
- destination_connection_id
- ブロックされている送信先のコネクション ID
- kind
- ブロックされているメディア (audio または video)
- source_connection_id_list
- ブロックされている送信元のコネクション ID の配列
- destination_connection_id
CreateChannelForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.CreateChannelForwardingFilter
指定したチャネルに対して転送フィルターを作成します。 チャネル単位での転送フィルター作成は、送信元からの音声や映像を送信先に転送するかどうか を制御します。 送信先はチャネルに参加しているすべてのコネクションです。
指定した送信先だけにブロックをさせたい場合は CreateConnectionForwardingFilter を使用してください。
転送フィルターの指定方法についての詳細は 転送フィルタールールの仕様 をご確認ください。
キー |
型 |
|---|---|
channel_id |
string |
action (オプション) |
string (block | allow) |
rules |
array of object |
version (オプション) |
string |
metadata (オプション) |
JSONValue |
name (オプション) |
string (最大 255 バイト) |
priority (オプション) |
integer (0-32767) |
actionの指定がない場合はblockが指定されますnameとpriorityを指定することができます- 複数の転送フィルターを指定する場合は
nameとpriorityを指定する必要があります
- 複数の転送フィルターを指定する場合は
rulesは転送フィルターの対象を配列で指定します。rulesで指定する array of object の object の内容は以下の通りです
キー |
型 |
|---|---|
field |
string (connection_id | client_id | kind) |
operator |
string (is_in | is_not_in) |
values |
array of string |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.CreateChannelForwardingFilter" \
--json '{"channel_id":"sora","action":"block","rules":[[{"field":"connection_id","operator":"is_in","values":["XEDQM589M520Z50KM7C6C5PRB0"]},{"field":"client_id","operator":"is_not_in","values":["screen-share"]},{"field":"kind","operator":"is_in","values":["video"]}]]}' \
| jq .
{
"action": "block",
"channel_id": "sora",
"rules": [
[
{
"field": "connection_id",
"operator": "is_in",
"values": [
"XEDQM589M520Z50KM7C6C5PRB0"
]
},
{
"field": "client_id",
"operator": "is_not_in",
"values": [
"screen-share"
]
},
{
"field": "kind",
"operator": "is_in",
"values": [
"video"
]
}
]
]
}
UpdateChannelForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.UpdateChannelForwardingFilter
指定したチャネルの転送フィルターの設定を、 rules と action の内容で置き換えます。
キー |
型 |
|---|---|
channel_id |
string |
action (オプション) |
string (block | allow) |
rules |
array of object |
expected_version (オプション) |
string |
desired_version (オプション) |
string |
metadata (オプション) |
JSONValue |
name (オプション) |
string (最大 255 バイト) |
priority (オプション) |
integer (0-32767) |
actionの指定がない場合はblockが指定されますnameとpriorityを指定することができます- 指定しない場合は
nameにはdefault、priorityには32767が指定されます nameとpriorityのどちらかだけを指定することはできません- 複数の転送フィルターを指定する場合は
nameとpriorityを指定する必要があります
- 指定しない場合は
rulesは転送フィルターの対象を配列で指定します。rulesで指定する array of object の object の内容は以下の通りです
キー |
型 |
|---|---|
field |
string (connection_id | client_id | kind) |
operator |
string (is_in | is_not_in) |
values |
array of string |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.UpdateChannelForwardingFilter" \
--json '{"channel_id":"sora","action":"block","rules":[[{"field":"connection_id","operator":"is_in","values":["XEDQM589M520Z50KM7C6C5PRB0"]},{"field":"client_id","operator":"is_not_in","values":["screen-share"]},{"field":"kind","operator":"is_in","values":["video"]}]]}' \
| jq .
{
"action": "block",
"channel_id": "sora",
"rules": [
[
{
"field": "connection_id",
"operator": "is_in",
"values": [
"XEDQM589M520Z50KM7C6C5PRB0"
]
},
{
"field": "client_id",
"operator": "is_not_in",
"values": [
"screen-share"
]
},
{
"field": "kind",
"operator": "is_in",
"values": [
"video"
]
}
]
]
}
DeleteChannelForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.DeleteChannelForwardingFilter
指定したチャネルの転送フィルターの設定を削除します。
キー |
型 |
|---|---|
channel_id |
string |
name (オプション) |
string (最大 255 バイト) |
nameはマルチ転送フィルター機能が有効になっている場合に指定します
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.DeleteChannelForwardingFilter" \
--json '{"channel_id":"sora"}' \
| jq .
{
"channel_id": "sora"
}
CreateConnectionForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.CreateConnectionForwardingFilter
指定したチャネルの特定コネクションに対して転送フィルターを作成します。
コネクション単位での転送フィルター作成は、指定したコネクションに対して送信元からの音声や映像を転送するかどうか を制御します。 指定した送信先だけをブロックしたい場合に利用します。
転送フィルターの指定方法についての詳細は 転送フィルタールールの仕様 をご確認ください。
キー |
型 |
|---|---|
channel_id |
string |
connection_id |
string |
action (オプション) |
string (block | allow) |
rules |
array of object |
version (オプション) |
string |
metadata (オプション) |
JSONValue |
name (オプション) |
string |
priority (オプション) |
integer |
actionの指定がない場合はblockが指定されますnameとpriorityを指定することができますnameとpriorityのどちらかだけを指定することはできません- 複数の転送フィルターを指定する場合は
nameとpriorityを指定する必要があります - 指定しない場合は
nameにはdefault、priorityには32767が指定されます
rulesは転送フィルターの対象を配列で指定します。rulesで指定する array of object の object の内容は以下の通りです
キー |
型 |
|---|---|
field |
string (connection_id | client_id | kind) |
operator |
string (is_in | is_not_in) |
values |
array of string |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.CreateConnectionForwardingFilter" \
--json '{"channel_id":"sora","connection_id":"EQ13WT731S1EK452YRJVFGYAY8","action":"block","rules":[[{"field":"connection_id","operator":"is_in","values":["XEDQM589M520Z50KM7C6C5PRB0"]},{"field":"client_id","operator":"is_not_in","values":["screen-share"]},{"field":"kind","operator":"is_in","values":["video"]}]]}' \
| jq .
{
"action": "block",
"channel_id": "sora",
"connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
"rules": [
[
{
"field": "connection_id",
"operator": "is_in",
"values": [
"XEDQM589M520Z50KM7C6C5PRB0"
]
},
{
"field": "client_id",
"operator": "is_not_in",
"values": [
"screen-share"
]
},
{
"field": "kind",
"operator": "is_in",
"values": [
"video"
]
}
]
]
}
UpdateConnectionForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.UpdateConnectionForwardingFilter
指定したチャネルの特定コネクションに対する転送フィルターの設定を、 rules と action の内容で置き換えます。
キー |
型 |
|---|---|
channel_id |
string |
connection_id |
string |
action (オプション) |
string (block | allow) |
rules |
array of object |
expected_version (オプション) |
string |
desired_version (オプション) |
string |
metadata (オプション) |
JSONValue |
name (オプション) |
string (最大 255 バイト) |
priority (オプション) |
integer (0-32767) |
actionの指定がない場合はblockが指定されますnameとpriorityを指定することができますnameとpriorityのどちらかだけを指定することはできません
rulesは転送フィルターの対象を配列で指定します。rulesで指定する array of object の object の内容は以下の通りです
キー |
型 |
|---|---|
field |
string (connection_id | client_id | kind) |
operator |
string (is_in | is_not_in) |
values |
array of string |
name (オプション) |
string (最大 255 バイト) |
priority (オプション) |
integer (0-32767) |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.UpdateConnectionForwardingFilter" \
--json '{"channel_id":"sora","connection_id":"T9J5FM3NTH6JH4JKFGTSHB1BA0","action":"block","rules":[[{"field":"connection_id","operator":"is_in","values":["XEDQM589M520Z50KM7C6C5PRB0"]},{"field":"client_id","operator":"is_not_in","values":["screen-share"]},{"field":"kind","operator":"is_in","values":["video"]}]]}' \
| jq .
{
"action": "block",
"channel_id": "sora",
"connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
"rules": [
[
{
"field": "connection_id",
"operator": "is_in",
"values": [
"XEDQM589M520Z50KM7C6C5PRB0"
]
},
{
"field": "client_id",
"operator": "is_not_in",
"values": [
"screen-share"
]
},
{
"field": "kind",
"operator": "is_in",
"values": [
"video"
]
}
]
]
}
DeleteConnectionForwardingFilter¶
バージョン 2023.1.0 で追加。
- x-sora-target:
Sora_20230628.DeleteConnectionForwardingFilter
指定したチャネルの特定コネクションの転送フィルターを削除します。
キー |
型 |
|---|---|
channel_id |
string |
connection_id |
string |
name (オプション) |
string (最大 255 バイト) |
nameはマルチ転送フィルター機能が有効になっている場合に指定します
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20230628.DeleteConnectionForwardingFilter" \
--json '{"channel_id":"sora","connection_id":"T9J5FM3NTH6JH4JKFGTSHB1BA0"}' \
| jq .
{
"channel_id": "sora",
"connection_id": "EQ13WT731S1EK452YRJVFGYAY8"
}