RecordAudio - Amazon Chime SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

RecordAudio

SIP メディアアプリケーションが、特定の通話 ID からメディアを録音できるよう許可します。例えば、音声メールアプリケーションや、会議参加者のお知らせなどです。アプリケーションは、設定した時間に達するまで、またはユーザーがいずれかの RecordingTerminators を押すか、アプリケーションが無音を検出するまで録音を実行します。このような場合、アクションは、結果のメディアファイルを指定された S3 バケットに配置するようアプリケーションに指示します。S3 バケットは、SIP メディアアプリケーションと同じ AWS アカウントに属している必要があります。さらに、 アクションは、Amazon Chime SDK Voice Connector サービスプリンシパル、Amazon Chime SDK Voice Connector サービスプリンシパル 、 に s3:PutObjectおよび アクセスs3:PutObjectAcl許可を付与する必要がありますvoiceconnector.chime.amazonaws.com

注記

この機能を使用して作成された録音は、電子通信記録に関する法律または規制の対象となる場合があります。録音に関するすべての適用法を遵守することは、お客様とそのエンドユーザーの責任です。これには、録音セッションまたは通信のすべての参加者にセッションまたは通信が録音されていることを適切に通知し、同意を得ることを含みます。

次の例では、Amazon Chime SDK Voice Connector サービスプリンシパルに s3:PutObject および s3:PutObjectAcl 許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }

次の例では、発信者がシャープキー (#) を押したとき、アクティビティなしで 10 秒経過したとき、または発信者が 3 秒間無音状態になったときに録音を停止し、RecordingDestination パラメータで定義された場所に、結果のメディアファイルを書き込みます。

注記

この例では CallId パラメータを使用します。代わりに ParticipantTag パラメータを使用できますが、両方を使用することはできません。

{ "Type": "RecordAudio", "Parameters": { "CallId": "call-id-1", "DurationInSeconds": "10", "SilenceDurationInSeconds": 3, "SilenceThreshold": 100, "RecordingTerminators": [ "#" ], "RecordingDestination": { "Type": "S3", "BucketName": "valid-bucket-name", "Prefix": "valid-prefix-name" } } }
CallId

説明CallId AWS Lambda 関数呼び出しCallDetailsの における参加者の

使用できる値 – 有効な通話 ID

必須 – いいえ

デフォルト値 – なし

ParticipantTag

説明CallDetails に接続されている参加者のうちの 1 人の ParticipantTag

使用できる値LEG-A または LEG-B

必須 – いいえ

デフォルト値 – 呼び出された callLegParticipantTag (CallId を指定すると無視されます)

RecordingDestination.Type

説明 – 送信先のタイプ。S3 のみ。

使用できる値 – S3

必須 – はい

デフォルト値 – なし

RecordingDestination.BucketName

説明 – 有効な S3 バケット名。バケットは、Amazon Chime SDK Voice Connector サービスプリンシパルである voiceconnector.chime.amazonaws.com にアクセスできる必要があります。

使用できる値 – Amazon Chime SDK が s3:PutObject および s3:PutObjectAcl アクションにアクセスできる有効な S3 バケット。

必須 – はい

デフォルト値 – なし

RecordingDestination.Prefix

説明 – 録音ファイルの S3 プレフィックス

使用できる値 – 979 文字までのセーフ文字を含む有効なプレフィックス名。セーフ文字の詳細については、Amazon Simple Storage Service ユーザーガイドの「セーフ文字」を参照してください。

必須 – いいえ

デフォルト – なし。指定しない場合、録音は S3 バケットのルートに保存されます。

DurationInSeconds

説明 – 録音の長さ (秒単位)。

使用できる値 – 0 より大きい値

必須 – いいえ

デフォルト値 – なし

SilenceDurationInSeconds

説明 – 録音が停止するまでの無音の継続時間 (秒単位)。指定しない場合、無音検出は無効になります。

使用できる値 – [1;1000]

必須 – いいえ

デフォルト値 – 200

SilenceThreshold

説明 – 「無音」と見なされるノイズのレベル。SilenceDurationInSeconds を指定しない場合、このパラメータは無視されます。

基準値 (ノイズを無音として扱うためのノイズレベルとしきい値):
  • 1 – 30 dB 以下 (静かな部屋など)

  • 100 – 40~50 dB (ささやきや静かなオフィスなど)

  • 200 – 60 dB (混雑したオフィスなど)

  • 1000 – 75 dB (大声や音楽など)

使用できる値 – [1;1000]

必須 – いいえ

デフォルト値 – 200

RecordingTerminators

説明 – 使用可能なすべての録音ターミネータを一覧表示します。

使用できる値 – [123456789*0#] の 1 桁の数字と記号の配列

必須 – はい

デフォルト値 – なし

ACTION_SUCCESS イベントの処理

録音が終了すると、Amazon Chime SDK SIP メディアアプリケーションは AWS Lambda 関数を呼び出し、呼び出し結果とともに ACTION_SUCCESSFUL イベントを渡します。

{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "RecordingDestination": { "Type": "S3", "BucketName": "valid-bucket-name", "Key": "valid-S3-key" }, "RecordingTerminatorUsed":"#" }, "CallDetails": { ... } }

ACTION_SUCCESSFUL イベントには、ActionData が含まれます (以下のフィールドがあります)。

Type

説明 – アクションのタイプ (RecordAudio)。

Parameters

説明 – アクションのパラメータ。

RecordingDestination.Type

説明 – 送信先のタイプ。S3 のみ。

RecordingDestination.BucketName

説明 – 録音ファイルが含まれる S3 バケット。

RecordingDestination.Key

説明 – 録音ファイルの S3 キー。

RecordingTerminatorUsed

説明 – 録音を停止するために使用されるターミネーター (RecordingTerminators パラメータに渡されるいずれかのターミネーター)。最大持続時間 (DurationInSeconds) に達したか、無音 (SilenceDurationInSeconds) により録音が停止した場合、このキーと値のペアは出力に含まれません。

エラー処理

検証エラーの場合、SIP メディアアプリケーションは適切なエラーメッセージで AWS Lambda 関数を呼び出します。次の表に、発生する可能性のあるエラーメッセージを示します。

エラー メッセージ 理由

InvalidActionParameter

アクションの CallId またはParticipantTag パラメータが無効です。

DurationInSeconds パラメータの値が無効です。

SilenceDurationInSeconds パラメータの値が無効です。

SilenceThreshold パラメータの値が無効です。

RecordingDestination パラメータの値が無効です。

S3 バケットへの録音のアップロード中にエラーが発生しました。

パラメータが無効です。

SystemException

アクションの実行中にシステムエラーが発生しました。

アクションの実行中に、別のタイプのシステムエラーが発生しました。

ACTION_FAILED イベントの処理

アクションが通話レッグにメディアを記録できない場合、SIP メディアアプリケーションは ACTION_FAILED イベントタイプで AWS Lambda 関数を呼び出します。次の例を参照してください。

{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "ErrorType": "InvalidActionParameter", "ErrorMessage": "RecordingDestination parameter value is invalid." }, "CallDetails": { ... } }

「」の実例https://github.com/aws-samples/amazon-chime-sma-bridging GitHub。