

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
<a name="record-audio"></a>

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 destinées aux participants à une réunion. L'application enregistre jusqu'à ce que la durée que vous avez définie soit atteinte, soit lorsqu'un utilisateur appuie sur l'un des `RecordingTerminators` boutons, soit 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 donner une `s3:PutObject` `s3:PutObjectAcl` autorisation au responsable du service Amazon Chime SDK Voice Connector, au principal du service [Amazon Chime SDK](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) Voice Connector,. `voiceconnector.chime.amazonaws.com` 

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

L'exemple suivant donne l'`s3:PutObjectAcl`autorisation `s3:PutObject` et au principal du service Amazon Chime SDK Voice Connector.

------
#### [ JSON ]

****  

```
{
    "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}}/*"
        }
    ]
}
```

------

L'exemple suivant arrête l'enregistrement lorsque l'appelant appuie sur la touche dièse (\#), lorsque 10 secondes s'écoulent sans aucune activité, ou lorsque l'appelant reste silencieux pendant 3 secondes, et qu'il écrit le fichier multimédia obtenu à 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'`CallDetails`invocation de la AWS Lambda fonction  
*Valeurs autorisées* : un identifiant 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 `callLeg` ignorée invoquée 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 [service Amazon Chime SDK Voice Connector](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html),. `voiceconnector.chime.amazonaws.com`  
*Valeurs autorisées* : compartiment S3 valide pour lequel le SDK Amazon Chime a accès aux `s3:PutObject` actions et. `s3: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ûrs, reportez-vous à la section [Caractères sécurisés](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines-safe-characters) du guide de l'utilisateur d'Amazon Simple Storage Service.  
*Obligatoire* — Non  
*Par défaut* : aucun. 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 pas`SilenceDurationInSeconds`, ce paramètre est ignoré.  

**Valeurs de référence (niveaux de bruit et seuils permettant de traiter le bruit comme du silence) :**
+ 1 à 30 dB ou moins, par exemple dans une pièce calme
+ 100—40 à 50 dB, par exemple dans un bureau silencieux ou silencieux
+ 200 à 60 dB, par exemple dans un bureau bondé
+ 1000—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
<a name="handle-action-successful"></a>

À la fin de l'enregistrement, l'application multimédia SIP du SDK Amazon Chime 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`, qui contient les champs suivants :

**Type**  
*Description* — Type de l'action,`RecordAudio`.

**Parameters**  
*Description* — Les paramètres de l'action.

**RecordingDestination.Type**  
*Description* — Type de destination. S3 uniquement. 

**RecordingDestination.BucketName**  
*Description* — Le compartiment S3 qui contient le fichier d'enregistrement. 

**RecordingDestination.Key**  
*Description* — La clé S3 du fichier d'enregistrement.

**RecordingTerminatorUsed**  
*Description* — Le 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` | `CallId`ou `ParticipantTag` le paramètre d'action n'est pas valide.<br />`DurationInSeconds`la valeur du paramètre n'est pas valide.<br />`SilenceDurationInSeconds`la valeur du paramètre n'est pas valide.<br />`SilenceThreshold`la valeur du paramètre n'est pas valide.<br />`RecordingDestination`la valeur du paramètre n'est pas valide.<br />Une erreur s'est produite lors du téléchargement de l'enregistrement dans le compartiment S3. | Tout paramètre n'est pas 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. | 

## Gestion des ACTION\_FAILED événements
<a name="handle-action-failed"></a>

Lorsque l'action ne parvient pas à enregistrer le contenu multimédia lors d'un segment d'appel, l'application multimédia SIP invoque une AWS Lambda fonction du 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 pratique sur GitHub : [https://github.com/aws-samples/amazon-chime-sma-bridging](https://github.com/aws-samples/amazon-chime-sma-bridging)