本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解記錄 Amazon Chime SDK 呼叫的工作流程
本節中的主題會列出並描述記錄通話和 Kinesis Video Streams 的工作流程。
在下列情況下使用此工作流程:
-
您已使用或計劃使用 Voice Connector 將 SIP 媒體帶入通話分析。
注意
Voice Connectors 支援 SIP 和 SIPREC。如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的管理 Amazon Chime SDK 語音連接器。
-
您想要自動記錄對您選擇的 Amazon Simple Storage Service 目的地具有低延遲的 SIP 或 SIPREC 呼叫。
-
您想要使用 Amazon Chime SDK 主控台來建立組態,並將其與語音連接器建立關聯。
-
您想要將相同的錄製組態套用至每個 Voice Connector 呼叫。如果您想要將多個組態套用至一或多個語音連接器,請參閱下一節。
若要以程式設計方式啟用呼叫,請使用下列 Amazon Chime SDK APIs。
-
使用 CreateMediaInsightsPipelineConfiguration API 建立呼叫分析組態
-
使用 CreateVoiceConnector 建立語音連接器。
-
使用 PutVoiceConnectorStreamingConfiguration API 將組態與語音連接器建立關聯。
如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的設定語音連接器以使用通話分析。
下圖顯示語音連接器啟動通話記錄工作階段時的資料流程。圖表中的數字對應於下方的編號文字。

在圖表中:
-
使用 Amazon Chime SDK 主控台或 CreateMediaInsightsPipelineConfiguration API 來建立呼叫分析組態。在組態建立程序期間,您只需啟用通話錄音、選擇所需的錄音檔案格式,以及指定 Amazon S3 目的地來存放錄音檔案。如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的建立通話分析組態。
-
您可以使用 Amazon Chime SDK 主控台或 PutVoiceConnectorStreamingConfiguration API,將組態與語音連接器建立關聯。若要使用主控台,請參閱設定語音連接器以使用通話分析。
-
在外撥通話期間,語音連接器會收到每個通話參與者的音訊。
-
如果通話分析錄音組態連接至 Voice Connector,則 Voice Connector 服務會使用媒體管道服務來啟動通話分析錄音工作階段。
-
媒體管道服務會啟動通話錄音處理器,以監控進行中的通話。
-
當呼叫結束時,媒體管道服務會將呼叫記錄檔案交付至指定的 Amazon S3 儲存貯體,並透過 Amazon Kinesis Data Stream 提供記錄中繼資料。如果已啟用資料倉儲,呼叫中繼資料也會前往 Amazon Simple Storage Service 資料倉儲。如果使用 SIPREC 將 SIP 音訊納入通話分析,則通話中繼資料會以資料表格式包含 SIPREC 中繼資料。如需錄製資料表的詳細資訊,請參閱本節了解 Amazon Chime SDK AWS Glue 的資料目錄資料表稍後的 。
-
媒體管道服務會將管道狀態事件傳送至預設的 Amazon EventBridge。如需詳細資訊,請參閱本指南中的使用 EventBridge 通知。
注意
請注意,您必須啟用 Voice Connector 串流,才能使用 Voice Connector 進行錄製。此功能可讓您將通話資料串流到帳戶中的 Voice Connector 受管 Kinesis Video Streams。如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的將 Amazon Chime SDK Voice Connector 媒體串流至 Kinesis Video Streams。
您也可以將 Voice Connector 建立的通話資料存放在 Kinesis Video Streams 中,持續時間從數小時到數天甚至數年不等。選擇不保留資料會限制呼叫資料的可用性,以便立即取用。Kinesis Video Streams 的成本取決於使用的頻寬和總儲存體。您可以在 Voice Connector 串流組態內隨時調整資料保留期間。若要啟用通話分析記錄,您必須確保 Kinesis Video Stream 保留資料的時間足以執行通話分析。您可以透過指定適當的資料保留期來執行此操作。
您可以將通話洞見管道組態與任意數量的語音連接器建立關聯。您也可以為每個語音連接器建立不同的組態。Voice Connectors 使用 AWSServiceRoleForAmazonChimeVoiceConnector 為每個交易 ID 代您呼叫 CreateMediaInsightsPipeline API 一次。如需角色的相關資訊,請參閱《Amazon Chime SDK 管理員指南》中的使用 Amazon Chime SDK Voice Connectors 的 Amazon Chime SDK 服務連結角色。
您可以在下列情況下記錄 Amazon Kinesis Video 串流:
-
您需要將不同的組態套用至呼叫,而不是針對每個 Voice Connector 呼叫使用相同的組態。
-
您想要記錄語音連接器未處理的 SIP 或非 SIP 音訊。
若要使用此通話錄音選項,您需要將音訊發佈至 Kinesis Video Streams (KVS),然後使用 KVS 串流頻道資訊和通話分析組態 ARN 呼叫 CreateMediaInsightsPipeline API。
注意
呼叫分析 APIs 最多支援兩個音訊通道。您也可以啟用 Voice Connector 串流,然後使用在 Voice Connector 的 EventBridge 通知中發佈的 KVS 資訊來啟動通話錄音。
呼叫 CreateMediaInsightsPipeline API 時,您可以選擇是否要為每個 KVS 串流頻道定義指定片段編號。如果您提供片段號碼,呼叫分析將開始處理該片段的串流。如果您未指定片段 ID,呼叫分析會開始處理來自最新可用片段的串流。
下圖顯示語音連接器啟動通話記錄工作階段時的資料流程。圖表中的數字對應於下方的編號文字。

在圖表中:
-
您可以使用 Amazon Chime SDK 主控台或 CreateMediaInsightsPipelineConfiguration API 來建立通話錄音組態。
-
使用 AWS SDK 建立將外部音訊推送至 KVS 的應用程式,或啟用 Voice Connector 串流以自動將通話音訊發佈至 KVS。如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的將 Amazon Chime SDK Voice Connector 媒體串流至 Kinesis Video Streams。
-
如果啟用 Voice Connector 串流,語音連接器服務會將通知傳送至預設的 EventBridge。
-
在 Voice Connector 串流的情況下,您的應用程式可以使用來自 EventBridge 的 Amazon Chime Voice Connector 串流
STARTED
事件來收集有關通話分支的 KVS 串流資訊。 -
一旦應用程式擁有來自 Voice Connector 串流事件或外部來源的音訊資訊,您的應用程式就會叫用 Amazon Chime SDK CreateMediaInsightsPipeline API。
-
媒體管道服務會啟動通話錄音處理器,以監控進行中的通話。
-
媒體管道服務會將管道狀態事件傳送至預設的 Amazon EventBridge。如需詳細資訊,請參閱使用 EventBridge 通知。
-
通話完成後,媒體管道服務會將通話錄音檔案交付至指定的 Amazon S3 儲存貯體,並透過 Amazon Kinesis Data Stream 提供錄音中繼資料。如果已啟用資料倉儲,呼叫中繼資料也會傳送至 Amazon S3 資料倉儲。如果使用 SIPREC 將 SIP 音訊納入通話分析,則通話中繼資料將以方便的資料表格式包含 SIPREC 中繼資料。如需錄製資料表的詳細資訊了解 Amazon Chime SDK AWS Glue 的資料目錄資料表,請參閱本節稍後的 。
-
您的應用程式可以監控管道,如果是 Voice Connector,則會使用發佈至 Amazon EventBridge 的事件來監控呼叫狀態。如需詳細資訊,請參閱本指南中的使用 EventBridge 通知。
-
若要終止錄音,請呼叫 DeleteMediaPipeline API 以終止通話錄音。
如需 API 型錄製和範例,請參閱本指南中的 Amazon S3 錄製目的地。
本節中的範例說明如何執行下列動作:
-
使用 CLI 執行呼叫分析組態並叫用 CreateMediaInsightsPipeline。
-
使用 CLI 指定錄製目的地音訊檔案格式和音訊檔案名稱。
執行組態並啟動管道
使用下列命令來執行組態並啟動媒體洞察管道。pipeline.json 檔案包含組態設定。
aws chime-sdk-media-pipeline create-media-insights-pipeline --cli-input-json file://pipeline.json
下列範例顯示典型pipeline.json
檔案。
{ "MediaInsightsPipelineConfigurationArn": arn:aws:chime:
region
;account_id
:media-insights-pipeline-configuration/MyConfiguration, "KinesisVideoStreamRecordingSourceRuntimeConfiguration": { "Streams": [ { "StreamArn":kinesis_video_stream_arn_1
}, { "StreamArn":kinesis_video_stream_arn_2
} ], "FragmentSelector": { "FragmentSelectorType": "selector_type
", // Specify "server_timestamp" or "producer_timestamp" as the fragment selector type "TimestampRange": { "StartTimestamp":epoch_time_seconds
, "EndTimestamp":epoch_time_seconds
} } }, "S3RecordingSinkRuntimeConfiguration": { "Destination": arn:aws:s3:::bucket_name
/prefix
/optional_file_name
, "RecordingFileFormat":file_format
// Specify "Opus" or "WAV" as the recording file format, if you want to override the configuration } }
MediaInsightsPipelineConfigurationArn
是您在建立通話分析組態後收到的組態 ARN。
設定目的地、名稱和格式
下列範例使用名為 的資料夾MyRecordingBucket
做為 S3SinkConfiguration.Destination
值,並使用 Opus
做為 RecordingFileFormat
值。
arn:aws:s3:::MyRecordingBucket/
voice-connector-id
/transaction-id_year-month-date-hour-minute-second-millisecond
.ogg
下列範例使用 MyRecordingBucket
做為 S3SinkConfiguration.Destination
值,使用 Wav
做為 RecordingFileFormat
值。
arn:aws:s3:::MyRecordingBucket/voice-connector-id/
transaction-id_year-month-date-hour-minute-second-millisecond
.wav