転送フィルター 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 の配列

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 が指定されます
  • namepriority を指定することができます
    • 複数の転送フィルターを指定する場合は namepriority を指定する必要があります
  • 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

指定したチャネルの転送フィルターの設定を、 rulesaction の内容で置き換えます。

キー

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 が指定されます
  • namepriority を指定することができます
    • 指定しない場合は name には defaultpriority には 32767 が指定されます
    • namepriority のどちらかだけを指定することはできません
    • 複数の転送フィルターを指定する場合は namepriority を指定する必要があります
  • 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 が指定されます
  • namepriority を指定することができます
    • namepriority のどちらかだけを指定することはできません
    • 複数の転送フィルターを指定する場合は namepriority を指定する必要があります
    • 指定しない場合は name には defaultpriority には 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

指定したチャネルの特定コネクションに対する転送フィルターの設定を、 rulesaction の内容で置き換えます。

キー

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 が指定されます
  • namepriority を指定することができます
    • namepriority のどちらかだけを指定することはできません
  • 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"
}