選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

PlayAudioAndGetDigits

焦點模式
PlayAudioAndGetDigits - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

播放音訊並收集 DTMF 數字。如果發生故障,例如使用者未輸入正確的 DTMF 位數,動作會播放「失敗」音訊,然後重播主要音訊,直到 SIP 媒體應用程式耗盡 Repeat 參數中定義的嘗試次數。

您必須從 S3 儲存貯體播放音訊檔案。S3 儲存貯體必須屬於與 SIP 媒體應用程式相同的 AWS 帳戶。此外,您必須將s3:GetObject許可授予 Amazon Chime SDK Voice Connector 服務主體 voiceconnector.chime.amazonaws.com。您可以使用 S3 主控台或 CLI 來執行此操作。

下列程式碼範例顯示典型的 S3 儲存貯體政策。

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

Audio Service 會代表 Sip Media Application 讀取和寫入您的 S3 儲存貯體。若要避免混淆代理人問題,您可以限制 S3 儲存貯體存取單一 SIP 媒體應用程式。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "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" } } } ] }

下列範例顯示典型PlayAudioAndGetDigits的動作。

{ "Type" : "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A" "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 } }
CallId

描述CallId AWS Lambda 函數調用 中的參與者CallDetails描述

允許的值 – 有效的呼叫 ID

必要 – 否

預設值 — 無

ParticipantTag

描述ParticipantTag 中其中一個已連線參與者的描述 CallDetails

允許的值LEG-ALEG-B

必要 – 否

預設值 – 如果您指定 ,則叫ParticipantTagcallLeg忽略的預設值 CallId

InputDigitsRegex

描述 – 規則表達式模式

允許的值 – 有效的規則表達式模式

必要 – 否

預設值 — 無

AudioSource.Type

描述 – 音訊檔案類型的來源類型

允許值 – S3 儲存貯體

必要 – 是

預設值"S3"

AudioSource.BucketName

描述 – 對於 S3 AudioSource.Type值,S3 儲存貯體必須屬於與 SIP 媒體應用程式相同的 AWS 帳戶。儲存貯體 S3 必須能夠存取 Amazon Chime SDK Voice Connector 服務主體 voiceconnector.chime.amazonaws.com

允許的值 – Amazon Chime SDK 具有s3:GetObject動作存取權的有效 S3 儲存貯體。

必要 – 是

預設值 — 無

AudioSource.Key

描述AudioSource.BucketName S3 儲存貯體中音訊物件的金鑰名稱。

允許的值 – 有效的音訊檔案

必要 – 是

預設值 — 無

FailureAudioSource.Type

描述FailureAudioSource.BucketName S3 儲存貯體中音訊物件的金鑰名稱。

允許的值 – S3

必要 – 是

預設值 — 無

FailureAudioSource.BucketName

描述 – 對於 S3 來源類型,S3 儲存貯體必須屬於與 SIP 媒體應用程式相同的 AWS 帳戶。Amazon Chime SDK Voice Connector 服務主體 voiceconnector.chime.amazonaws.com必須能夠存取 S3 儲存貯體。

允許的值 – Amazon Chime SDK 具有s3:GetObject動作存取權的有效 S3 儲存貯體。

必要 – 是

預設值 — 無

FailureAudioSource.Key

描述FailureAudioSource.BucketName S3 儲存貯體中音訊物件的金鑰名稱。

允許值 – 有效的音訊檔案

必要 – 是

預設值 — 無

MinNumberOfDigits

描述 – 在逾時或播放「呼叫失敗」音訊之前要擷取的位數下限。

允許的值 – >=0

必要 – 否

預設值 – 0

MaxNumberOfDigits

描述 – 在停止之前擷取的位數上限,而不終止數字。

允許的值 – >MinNumberOfDigits

必要 – 否

預設值 – 128

TerminatorDigits

描述 – 如果使用者輸入小於 ,則用來結束輸入的數字 MaxNumberOfDigits

允許的值 – 任何一個數字:0123456789#*

必要 – 否

預設值 – #

InBetweenDigitsDurationInMilliseconds

描述 – 播放 之前,數字輸入之間的等待時間,以毫秒為單位FailureAudio

允許的值 – >0

必要 – 否

預設值 – 如果未指定,則預設為 RepeatDurationInMilliseconds值。

Repeat

描述 – 嘗試取得數字的總數

允許的值 – >0

必要 – 否

預設值 – 1

RepeatDurationInMilliseconds

描述Repeat嘗試之間等待的時間,以毫秒為單位

允許的值 – >0

必要 – 是

預設值 — 無

SIP 媒體應用程式一律會在執行 PlayAudioAndGetDigits動作後呼叫其 AWS Lambda 函數,並使用 ACTION_SUCCESSFULACTION_FAILED 呼叫事件類型。當應用程式成功收集數字時,它會設定 ActionData 物件中的ReceivedDigits值。下列範例顯示該 AWS Lambda 函數的調用事件結構。

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." }, "ReceivedDigits": "1234" }, "CallDetails": { ... } }
錯誤處理

發生驗證錯誤時,SIP 媒體應用程式會使用 AWS Lambda 對應的錯誤訊息呼叫 函數。下表列出可能的錯誤訊息。

錯誤 訊息 原因

InvalidAudioSource

音訊來源參數值無效。

此錯誤可能因多種原因而發生。例如,SIP 媒體應用程式因為許可問題或 S3 儲存貯體的問題而無法存取 檔案。或者,音訊檔案可能會因持續時間、大小或不支援的格式而驗證失敗。

InvalidActionParameter

CallId 動作的 或 ParticipantTag 參數無效。

CallIdParticipantTag或其他 參數無效。

SystemException

執行 動作時發生系統錯誤。

執行 動作時發生系統錯誤。

當動作因為逾時或重試次數過多而無法收集指定的位數時,SIP 媒體應用程式會使用ACTION_FAILED叫用事件類型叫用 AWS Lambda 函數。

{ "SchemaVersion": "1.0", "Sequence": 4, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "InputDigitsRegex": "^\d{2}#$", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-1.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file-failure.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { ... } }

請參閱 GitHub 上的工作範例:

下一個主題:

ReceiveDigits

上一個主題:

PlayAudio
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。