View a markdown version of this page

RecordAudio - Kit SDK Amazon Chime

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

RecordAudio

Permet à l'application multimédia SIP d'enregistrer du contenu multimédia à partir d'un identifiant d'appel donné. Par exemple, une application de messagerie vocale et des annonces concernant les participants à une réunion. L'application enregistre jusqu'à ce qu'elle atteigne la durée que vous avez définie, ou lorsqu'un utilisateur appuie sur l'une des touchesRecordingTerminators, ou lorsque l'application détecte un silence. Dans ces cas, l'action indique à votre application de placer le fichier multimédia obtenu dans le compartiment S3 spécifié. Le compartiment S3 doit appartenir au même AWS compte que l'application multimédia SIP. En outre, l'action doit accorder une s3:PutObject s3:PutObjectAcl autorisation au principal du service Amazon Chime SDK Voice Connector, au principal du service Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com

Note

Les enregistrements réalisés à l'aide de cette fonctionnalité peuvent être soumis à des lois ou à des réglementations concernant l'enregistrement des communications électroniques. Il est de votre responsabilité et de celle de vos utilisateurs finaux de vous conformer à toutes les lois applicables concernant l'enregistrement, notamment en informant correctement tous les participants à une session ou à une communication enregistrée que la session ou la communication est en cours d'enregistrement, et en obtenant leur consentement.

L'exemple de politique IAM suivant accorde les s3:PutObjectAcl autorisations s3:PutObject et au principal du service Amazon Chime SDK Voice Connector :

Exemple: Politique IAM pour l'enregistrement des appels
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }

L'exemple suivant arrête l'enregistrement lorsque l'appelant appuie sur la touche dièse (#), ou 10 secondes s'écoulent sans aucune activité, ou lorsque l'appelant reste silencieux pendant 3 secondes, et le fichier multimédia obtenu est écrit à l'emplacement défini par le paramètre. RecordingDestination

Note

Cet exemple utilise le CallId paramètre. Vous pouvez utiliser le ParticipantTag paramètre à la place, mais vous ne pouvez pas utiliser les deux.

{ "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

Description CallId du participant à l'CallDetailsinvocation de la AWS Lambda fonction

Valeurs autorisées  : numéro d'appel valide

Obligatoire — Non

Valeur par défaut – Aucune

ParticipantTag

Description ParticipantTag de l'un des participants connectés au CallDetails

Valeurs autorisées LEG-A ou LEG-B

Obligatoire — Non

Valeur par défaut ParticipantTag de la valeur invoquée callLeg Ignoré si vous spécifiez CallId

RecordingDestination.Type

Description — Type de destination. S3 uniquement.

Valeurs autorisées — S3

Obligatoire — Oui

Valeur par défaut – Aucune

RecordingDestination.BucketName

Description  : nom de compartiment S3 valide. Le bucket doit avoir accès au principal du service Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com

Valeurs autorisées  : compartiment S3 valide pour lequel le SDK Amazon Chime a accès aux actions s3:PutObject ets3:PutObjectAcl.

Obligatoire — Oui

Valeur par défaut – Aucune

RecordingDestination.Prefix

Description — Préfixe S3 du fichier d'enregistrement

Valeurs autorisées  : nom de préfixe valide contenant jusqu'à 979 caractères sûrs. Pour plus d'informations sur les caractères sécurisés, reportez-vous à la section Caractères https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines-safe-characters sécurisés du guide de l'utilisateur d'Amazon Simple Storage Service.

Obligatoire — Non

Par défaut  : aucune. Si ce n'est pas spécifié, les enregistrements sont enregistrés à la racine du compartiment S3.

DurationInSeconds

Description — Durée de l'enregistrement, en secondes

Valeurs autorisées — >0

Obligatoire — Non

Valeur par défaut – Aucune

SilenceDurationInSeconds

Description  : durée du silence en secondes, après laquelle l'enregistrement s'arrête. Si elle n'est pas spécifiée, la détection du silence est désactivée.

Valeurs autorisées — [1 ; 1000]

Obligatoire — Non

Valeur par défaut  : 200

SilenceThreshold

Description — Niveau de bruit considéré comme « silencieux ». Si vous ne le spécifiez pasSilenceDurationInSeconds, ce paramètre est ignoré.

Valeurs de référence (niveaux de bruit et seuils pour traiter le bruit comme du silence) :
  • 1 à 30 dB ou moins, par exemple dans une pièce calme

  • 100—40-50 dB, par exemple en cas de chuchotement ou de silence au bureau

  • 200 à 60 dB, comme dans un bureau bondé

  • 1 000 à 75 dB, par exemple une personne bruyante ou de la musique

Valeurs autorisées — [1 ; 1000]

Obligatoire — Non

Valeur par défaut  : 200

RecordingTerminators

Description  : répertorie tous les terminateurs d'enregistrement disponibles.

Valeurs autorisées  : tableau de chiffres et de symboles uniques provenant de [123456789*0#]

Obligatoire — Oui

Valeur par défaut – Aucune

Gestion des événements ACTION_SUCCESSFUL

À la fin de l'enregistrement, l'application multimédia SIP Amazon Chime SDK appelle la AWS Lambda fonction et lui transmet l'événement ACTION_SUCCESSFUL, ainsi que les résultats de l'appel.

{ "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": { ... } }

L'ACTION_SUCCESSFULévénement contient ActionData les champs suivants :

Type

Description  : type de l'action,RecordAudio.

Parameters

Description  : paramètres de l'action.

RecordingDestination.Type

Description — Type de destination. S3 uniquement.

RecordingDestination.BucketName

Description  : compartiment S3 qui contient le fichier d'enregistrement.

RecordingDestination.Key

Description  : touche S3 du fichier d'enregistrement.

RecordingTerminatorUsed

Description  : terminateur utilisé pour arrêter l'enregistrement, l'un des terminateurs transmis dans le paramètre. RecordingTerminators Si l'enregistrement s'arrête après avoir atteint la durée maximale (DurationInSeconds) ou à cause du silence (SilenceDurationInSeconds), cette paire clé-valeur n'est pas incluse dans la sortie.

Gestion des erreurs

En cas d'erreur de validation, l'application multimédia SIP appelle la AWS Lambda fonction avec le message d'erreur approprié. Le tableau suivant répertorie les messages d'erreur possibles.

Erreur Message Raison

InvalidActionParameter

CallIdou ParticipantTag le paramètre d'action n'est pas valide.

DurationInSecondsla valeur du paramètre n'est pas valide.

SilenceDurationInSecondsla valeur du paramètre n'est pas valide.

SilenceThresholdla valeur du paramètre n'est pas valide.

RecordingDestinationla valeur du paramètre n'est pas valide.

Une erreur s'est produite lors du téléchargement de l'enregistrement dans le compartiment S3.

Aucun paramètre n'est valide.

SystemException

Erreur système lors de l'exécution d'une action.

Un autre type d'erreur système s'est produit lors de l'exécution d'une action.

Manipulation ÉCHEC DE L'ACTION events

Lorsque l'action ne parvient pas à enregistrer le contenu multimédia d'un segment d'appel, l'application multimédia SIP invoque une AWS Lambda fonction avec le type d'ACTION_FAILEDévénement. Consultez l'exemple suivant.

{ "SchemaVersion": "1.0", "Sequence": 5, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type" : "RecordAudio", "Parameters": { ... }, "ErrorType": "InvalidActionParameter", "ErrorMessage": "RecordingDestination parameter value is invalid." }, "CallDetails": { ... } }

Consultez un exemple concret sur GitHub : https://github.com/aws-samples/amazon-chime-sma-bridging