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á.
RecordAudio
Permite que o aplicativo de mídia SIP grave mídia de um determinado ID de chamada. Por exemplo, um aplicativo de correio de voz e anúncios dos participantes da reunião. O aplicativo grava até atingir a duração que você definiu, ou quando um usuário pressiona um dos RecordingTerminators, ou quando o aplicativo detecta o silêncio. Nesses casos, a ação instrui seu aplicativo a colocar o arquivo de mídia resultante no bucket S3 especificado. O bucket do S3 deve pertencer à mesma AWS conta do aplicativo de mídia SIP. Além disso, a ação deve conceder as permissões s3:PutObject e s3:PutObjectAcl à entidade principal do serviço Voice Connector do SDK do Amazon Chime, entidade principal do serviço Voice Connector do SDK do Amazon Chime, voiceconnector.chime.amazonaws.com.
nota
As gravações feitas usando esse atributo podem estar sujeitas a leis ou regulamentos relacionados à gravação de comunicações eletrônicas. É responsabilidade sua e de seus usuários finais cumprir todas as leis aplicáveis em relação à gravação, incluindo notificar adequadamente todos os participantes de uma sessão ou comunicação gravada de que a sessão ou comunicação está sendo gravada e obter o consentimento deles.
O exemplo a seguir dá permissão s3:PutObject e s3:PutObjectAcl à entidade principal responsável pelo serviço de conector de voz do SDK do Amazon Chime.
O exemplo a seguir interrompe a gravação quando o chamador pressiona a tecla de tecla jogo-da-velha (#), ou 10 segundos se passam sem atividade, ou o chamador permanece em silêncio por 3 segundos e grava o arquivo de mídia resultante no local definido pelo parâmetro RecordingDestination.
nota
Este exemplo usa o parâmetro CallId. Você pode usar o parâmetro ParticipantTag em vez disso, mas não pode usar os dois.
{ "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
-
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 - RecordingDestination.Type
-
Descrição – Tipo de destino. Somente S3.
Valores permitidos: S3
Obrigatório – Sim
Valor-padrão: nenhum
- RecordingDestination.BucketName
-
Descrição – Um nome de bucket S3 válido. O bucket deve ter acesso à entidade principal responsável pelo serviço de conector de voz do SDK do Amazon Chime,
voiceconnector.chime.amazonaws.com.Valores permitidos: um bucket S3 válido para o qual o SDK do Amazon Chime tem acesso às ações
s3:PutObjectes3:PutObjectAcl.Obrigatório – Sim
Valor-padrão: nenhum
- RecordingDestination.Prefix
-
Descrição – prefixo S3 do arquivo de gravação
Valores permitidos: um nome de prefixo válido contendo até 979 caracteres seguros. Para obter mais informações sobre caracteres seguros, consulte Caracteres seguros no Guia do usuário do Amazon Simple Storage Service.
Obrigatório – Não
Padrão – Nenhum. Se não for especificada, a gravação será salva na raiz do bucket do S3.
- DurationInSeconds
-
Descrição – A duração da gravação, em segundos
Valores permitidos: >0
Obrigatório – Não
Valor-padrão: nenhum
- SilenceDurationInSeconds
-
Descrição – A duração do silêncio, em segundos, após a qual a gravação é paralisada. Se não for especificado, a detecção de silêncio será desabilitada.
Valores permitidos: [1; 1000]
Obrigatório – Não
Valor-padrão: 200
- SilenceThreshold
-
Descrição – Nível de ruído considerado "silêncio". Se você não especificar um valor para
SilenceDurationInSeconds, este parâmetro será ignorado.Valores de referência (níveis de ruído e limites para tratar o ruído como silêncio):
1—30dB ou menos, como uma sala silenciosa
100—40-50 dB, como um sussurro ou um escritório silencioso
200—60dB, como um escritório lotado
1000—75 dB, como uma pessoa barulhenta ou música
Valores permitidos: [1; 1000]
Obrigatório – Não
Valor-padrão: 200
- RecordingTerminators
-
Descrição – Lista todos os terminadores de gravação disponíveis.
Valores permitidos: uma matriz de dígitos e símbolos únicos de [123456789*0#]
Obrigatório – Sim
Valor-padrão: nenhum
Como tratar eventos ACTION_SUCCESSFUL
Quando a gravação termina, o aplicativo de mídia SIP do Amazon Chime SDK chama a AWS Lambda função e passa para ela o evento ACTION_SUCCESSFUL, junto com os resultados da invocação.
{ "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": { ... } }
O evento ACTION_SUCCESSFUL contém ActionData, que contém os seguintes campos:
- Type
-
Descrição – O tipo da ação,
RecordAudio. - Parameters
-
Descrição – Os parâmetros da ação.
- RecordingDestination.Type
-
Descrição – Tipo de destino. Somente S3.
- RecordingDestination.BucketName
-
Descrição – O bucket do S3 que contém o arquivo de gravação.
- RecordingDestination.Key
-
Descrição – A chave S3 do arquivo de gravação.
- RecordingTerminatorUsed
-
Descrição – O terminador usado para parar a gravação – um dos terminadores passados no parâmetro
RecordingTerminators. Se a gravação parar após atingir a duração máxima (DurationInSeconds) ou devido ao silêncio (SilenceDurationInSeconds), esse par de valores-chave não será incluído na saída.
Tratamento de erros
Para erros de validação, o aplicativo de mídia SIP chama a AWS Lambda função com a mensagem de erro apropriada. A seguinte tabela lista as mensagens de erro possíveis.
| Erro | Mensagem | Motivo |
|---|---|---|
|
|
O parâmetro O valor do parâmetro O valor do parâmetro O valor do parâmetro O valor do parâmetro Ocorreu um erro ao fazer o upload da gravação para o bucket do S3. |
Qualquer parâmetro é inválido. |
|
|
Erro do sistema ao executar uma ação. |
Ocorreu outro tipo de erro do sistema na execução de uma ação. |
Processar eventos ACTION_FAILED
Quando a ação falha ao gravar a mídia em um trecho de chamada, o aplicativo de mídia SIP invoca uma AWS Lambda função com o ACTION_FAILED tipo de evento. Veja o exemplo a seguir.
{ "SchemaVersion": "1.0", "Sequence":5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "ErrorType": "InvalidActionParameter", "ErrorMessage": "RecordingDestination parameter value is invalid." }, "CallDetails": { ... } }
Veja um exemplo prático sobre GitHub: https://github.com/aws-samples/amazon-chime-sma-bridging