As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
PlayAudioAndGetDigits
Reproduz áudio e reúne dígitos DTMF. Se ocorrer uma falha, como um usuário não digitar o número correto de dígitos DTMF, a ação reproduz o áudio de "falha" e, em seguida, reproduz o áudio principal até que o aplicativo de mídia SIP esgote o número de tentativas definido no parâmetro Repeat.
Você deve reproduzir arquivos de áudio do bucket do S3. O bucket do S3 deve pertencer à mesma AWS conta do aplicativo de mídia SIP. Além disso, você deve dar a permissão s3:GetObject à entidade principal responsável pelo serviço de conector de voz do SDK do Amazon Chime, voiceconnector.chime.amazonaws.com. Você pode usar o console S3 ou a CLI para fazer isso.
O exemplo de código a seguir mostra uma política de bucket do S3 típica.
O serviço de áudio lê e grava no seu bucket do S3 em nome do seu aplicativo de mídia Sip. Para evitar o problema do substituto confuso, você pode restringir o acesso ao bucket do S3 a um único aplicativo de mídia SIP.
O exemplo a seguir mostra uma ação PlayAudioAndGetDigits típica.
{ "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
-
Descrição —
CallIddo participante naCallDetailsinvocação da AWS Lambda funçãoValores permitidos: um ID de chamada válido
Obrigatório – Não
Valor-padrão: nenhum
- ParticipantTag
-
Descrição –
ParticipantTagde um dos participantes conectados noCallDetailsValores permitidos:
LEG-AouLEG-BObrigatório – Não
Valor-padrão:
ParticipantTagdocallLeginvocado ignorado se você especificarCallId - InputDigitsRegex
-
Descrição – Um padrão de expressão regular
Valores permitidos: um padrão de expressão regular válido
Obrigatório – Não
Valor-padrão: nenhum
- AudioSource.Type
-
Descrição – Tipo de fonte para o tipo de arquivo de áudio
Valores permitidos: um bucket S3
Obrigatório – Sim
Valor-padrão:
"S3" - AudioSource.BucketName
-
Descrição — Para
AudioSource.Typevalores do S3, o bucket do S3 deve pertencer à mesma AWS conta do aplicativo de mídia SIP. O bucket S3 deve ter acesso à entidade principal responsável pelo serviço de conector de voz do SDK do Amazon Chime,voiceconnector---chime.amazonaws.com.rproxy.govskope.ca.Valores permitidos: um bucket S3 válido para o qual o SDK do Amazon Chime tem acesso às ações
s3:GetObject.Obrigatório – Sim
Valor-padrão: nenhum
- AudioSource.Key
-
Descrição – O nome da chave do objeto de áudio no bucket do S3
AudioSource.BucketName.Valores permitidos: arquivos de áudio válidos
Obrigatório – Sim
Valor-padrão: nenhum
- FailureAudioSource.Type
-
Descrição – O nome da chave do objeto de áudio no bucket do S3
FailureAudioSource.BucketName.Valores permitidos: S3
Obrigatório – Sim
Valor-padrão: nenhum
- FailureAudioSource.BucketName
-
Descrição — Para tipos de origem do S3, o bucket do S3 deve pertencer à mesma AWS conta do aplicativo de mídia SIP. A entidade principal responsável pelo serviço de conector de voz do SDK do Amazon Chime,
voiceconnector.chime.amazonaws.com, deve ter acesso ao bucket do S3.Valores permitidos: um bucket S3 válido para o qual o SDK do Amazon Chime tem acesso às ações
s3:GetObject.Obrigatório – Sim
Valor-padrão: nenhum
- FailureAudioSource.Key
-
Descrição – O nome da chave do objeto de áudio no bucket do S3
FailureAudioSource.BucketName.Valores permitidos: arquivos de áudio válidos
Obrigatório – Sim
Valor-padrão: nenhum
- MinNumberOfDigits
-
Descrição – O número mínimo de dígitos a serem capturados antes de atingir o tempo limite ou reproduzir o áudio de "falha na chamada".
Valores permitidos: >=0
Obrigatório – Não
Valor-padrão: 0
- MaxNumberOfDigits
-
Descrição – O número máximo de dígitos a serem capturados antes de parar sem um dígito final.
Valores permitidos: >
MinNumberOfDigitsObrigatório – Não
Valor-padrão: 128
- TerminatorDigits
-
Descrição – Dígitos usados para finalizar a entrada se o usuário digitar menos do que
MaxNumberOfDigitsValores permitidos: qualquer um desses dígitos: 0123456789#*
Obrigatório – Não
Valor-padrão: #
- InBetweenDigitsDurationInMilliseconds
-
Descrição – O tempo de espera em milissegundos entre as entradas de dígitos antes de reproduzir o
FailureAudio.Valores permitidos: >0
Obrigatório – Não
Valor-padrão: se não for especificado, o valor assumirá
RepeatDurationInMillisecondscomo padrão. - Repeat
-
Descrição – Número total de tentativas de obter dígitos
Valores permitidos: >0
Obrigatório – Não
Valor-padrão: 1
- RepeatDurationInMilliseconds
-
Descrição – Tempo de espera em milissegundos entre as
RepeattentativasValores permitidos: >0
Obrigatório – Sim
Valor-padrão: nenhum
O aplicativo de mídia SIP sempre invoca sua AWS Lambda função após executar a PlayAudioAndGetDigits ação, com um tipo de evento de ACTION_FAILED invocação ACTION_SUCCESSFUL ou. Quando o aplicativo coleta dígitos com sucesso, ele define o valor ReceivedDigits no objeto ActionData. O exemplo a seguir mostra a estrutura do evento de invocação dessa AWS Lambda função.
{ "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": { ... } }
Tratamento de erros
Quando ocorre um erro de validação, o aplicativo de mídia SIP chama a função AWS Lambda com a mensagem de erro correspondente. A seguinte tabela lista as mensagens de erro possíveis.
| Erro | Mensagem | Motivo |
|---|---|---|
|
|
O valor do parâmetro da fonte de áudio é inválido. |
Esse erro pode ocorrer por vários motivos. Por exemplo, o aplicativo de mídia SIP não pode acessar o arquivo devido a problemas de permissão ou problemas com o bucket do S3. Ou o arquivo de áudio pode falhar na validação devido à duração, tamanho ou formato não suportado. |
|
|
O parâmetro |
Um parâmetro |
|
|
Erro do sistema ao executar a ação. |
Ocorreu um erro do sistema na execução da ação. |
Quando a ação falha em coletar o número de dígitos especificados devido a um tempo limite ou a muitas tentativas, o aplicativo de mídia SIP invoca a AWS Lambda função com o tipo de evento de invocação. ACTION_FAILED
{ "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": { ... } }
Veja exemplos de trabalho em GitHub: