翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
StartCallRecording
StartCallRecording
アクションは通話レッグの録音を開始します。SIP メディアアプリケーションで、オンデマンドまたは SIP イベントへのレスポンスで通話録音を開始します。
通話のオンデマンド録音を開始するには、
UpdateSipMediaApplication
API を使用してアプリケーションを呼び出し、StartCallRecording
アクションを返します。SIP イベントに応答して通話録音を開始するには、そのアプリケーションで
StartCallRecording
アクションを返します。
着信レッグ、発信レッグ、またはその両方のオーディオトラックを録音するかどうかを指定します。このセクションでは、StartCallRecording
アクションの使用方法について説明します。
注記
この機能を使用して作成された録音は、電子通信記録に関する法律または規制の対象となる場合があります。録音に関するすべての適用法を遵守することは、お客様とそのエンドユーザーの責任です。これには、録音セッションまたは通信のすべての参加者にセッションまたは通信が録音されていることを適切に通知し、同意を得ることを含みます。
StartCallRecording アクションのリクエスト
次の例は、BOTH
トラックの StartCallRecording
アクションをリクエストする方法を示しています。
{ "Version": "2012-10-17", "Statement": [ { "Type": "StartCallRecording", "Parameters": { "CallId": "
call-id-1
", "Track": "BOTH
", "Destination": { "Type": "S3", "Location": "valid-bucket-name-and-optional-prefix
" } } } ] }
- CallId
-
説明 –
CallId
AWS Lambda 関数呼び出しCallDetails
の における参加者の説明使用できる値 – 有効な通話 ID
必須 – はい
デフォルト値 – なし
- Track
-
説明 - 通話録音の音声の
Track
。使用できる値 –
BOTH
、INCOMING
、またはOUTGOING
必須 – はい
デフォルト値 – なし
- Destination.Type
-
説明 – 送信先のタイプ。Amazon S3 のみを使用できます。
使用できる値 – Amazon S3
必須 – はい
デフォルト値 – なし
- Destination.Location
-
説明 - 有効な Amazon S3 バケットとオプションの Amazon S3 キープレフィックス。バケットは、Amazon Chime SDK Voice Connector サービスプリンシパル (voiceconnector.chime.amazonaws.com) へのアクセス許可を持つ必要があります。
使用できる値 – Amazon Chime SDK が
s3:PutObject
およびs3:PutObjectAcl
アクションへのアクセスk許可を持つ有効な Amazon S3 バケット。必須 – はい
デフォルト値 – なし
録音先の指定
Amazon Chime SDK は、Amazon S3 バケットに通話録音を配信します。バケットは AWS アカウントに属している必要があります。StartCallRecording
アクションの Destination
パラメータでバケットの場所を指定します。Destination
パラメータの Type
フィールドは S3
でなければなりません。Location
フィールドは、Amazon S3 バケットと、通話録音が配信されるオプションのオブジェクトキープレフィックスで構成されます。
SIP メディアアプリケーションは、指定された Location
、通話レッグの日時、トランザクション ID、通話 ID を使用して Amazon S3 オブジェクトキーをフォーマットします。StartCallRecording
アクションのレスポンスでは、完全な Amazon S3 オブジェクトキーが返されます。
Location
フィールドに Amazon S3 バケットのみを指定すると、SIP メディアアプリケーションは Amazon S3 パスにデフォルトプレフィックス Amazon-Chime-SMA-Call-Recordings
を追加します。SIP メディアアプリケーションでは、録音の整理に役立つように、通話の開始時刻の年、月、日も追加されます。次の例は、デフォルトプレフィックスが付いた Amazon S3 パスの一般的な形式を示しています。この例では、myRecordingBucket
を Location
値として使用します。
myRecordingBucket
/Amazon-Chime-SMA-Call-Recordings/2019/03/01/2019–03–01–17–10–00–010_c4640e3b–1478–40fb-8e38–6f6213adf70b_7ab7748e–b47d–4620-ae2c–152617d3333c.wav
次の例は、通話録音の Amazon S3 パスで表されるデータを示しています。
s3Bucket
/Amazon-Chime-SMA-Call-Recordings/year
/month
/date
/year-month-date-hour-minute-second-millisecond_transactionId_callId
.wav
Location
フィールドに Amazon S3 バケットとオブジェクトキープレフィックスを指定すると、SIP メディアアプリケーションはデフォルトプレフィックスの代わりに宛先 Amazon S3 パスのオブジェクトキープレフィックスを使用します。次の例は、プレフィックスが付いた通話録音 Amazon S3 パスの一般的な形式を示しています。例えば、myRecordingBucket/technicalSupport/english を Location
として指定できます。
myRecordingBucket
/technicalSupport
/english/2019/03/01/2019–03–01–17–10–00–010_c4640e3b1478–40fb–8e38-6f6213adf70b_7ab7748e–b47d–4620–ae2c–152617d3333c.wav
次の例は、Amazon S3 パス内のデータを示しています。
s3Bucket
/yourObjectKeyPrefix
/year
/month
/date
/year-month-date-hour-minute-second-millisecond
_transactionId
_callId
.wav
Amazon S3 バケットに送信される録音には、通話レッグに関する追加の Amazon S3 オブジェクトメタデータが含まれます。次の表に、サポートされている Amazon S3 オブジェクトメタデータを示します。
名前 | 説明 |
---|---|
transaction-id |
通話のトランザクション ID |
call-id |
AWS Lambda 関数呼び出しの CallDetails における参加者の CallIdCallId |
recording-duration |
通話録音時間 (秒) |
recording-audio-file-format |
インターネットメディアタイプとして表される通話録音音声オーディオファイル形式 |
Amazon S3 バケットのアクセス許可の付与
送信先の Amazon S3 バケットは、アプリケーションと同じ AWS アカウントに属している必要があります。さらに、Amazon Chime SDK Voice Connector サービスプリンシパル voiceconnector.chime.amazonaws.com
に s3:PutObject
および s3:PutObjectAcl
許可を付与する必要があります。次の例では、適切なアクセス許可を付与しています。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SIP media applicationRead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::
bucket-name
/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id
" } } } ] }
PSTN オーディオサービスは、SIP メディアアプリケーションの代わりに S3 バケットに対して読み書きします。「混乱した代理」の問題を回避するには、S3 バケットのアクセス許可を単一の SIP メディアアプリケーションに制限できます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SIP media applicationRead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::
bucket-name
/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id
", "aws:SourceArn": "arn:aws:chime:region
:aws-account-id
:sma/sip-media-application-id
" } } } ] }
アクション成功レスポンス
通話レッグで通話録音が正常に開始されると、SIP メディアアプリケーションは ACTION_SUCCESSFUL
イベントタイプの AWS Lambda 関数を呼び出します。通話録音の場所がレスポンスで返されます。
{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "
call-id-1
", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name
" } } "CallRecordingDestination": { "Type": "S3", "Location": "call-recording-bucket-and-key
" } } "CallDetails": { ... } }
アクションエラーレスポンス
検証エラーの場合、SIP メディアアプリケーションは適切なエラーメッセージで AWS Lambda 関数を呼び出します。次の表に、エラーメッセージを示します。
エラー | メッセージ | 理由 |
---|---|---|
|
アクションの |
パラメータが無効です。 |
|
アクションの実行中にシステムエラーが発生しました。 |
アクションの実行中に、別のタイプのシステムエラーが発生しました。 |
アクションが通話レッグでメディアを録音できない場合、SIP メディアアプリケーションは、ActionFailed
イベントタイプで AWS Lambda 関数を呼び出します。
次の例は一般的なエラーレスポンスを示しています。
{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "StartCallRecording", "Parameters": { "CallId": "
call-id-1
", "Track": "BOTH", "Destination": { "Type": "S3", "Location": "valid-bucket-name
" } } "Error": "NoAccessToDestination: Error while accessing destination" } "CallDetails": { ... } }
GitHub の実例を参照してください: https://github.com/aws-samples/amazon-chime-sma-on-demand-recording