

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.

# Comprendre le modèle de programmation du service audio PSTN du SDK Amazon Chime
<a name="pstn-model"></a>

Le service audio PSTN utilise un modèle de request/response programmation qui utilise à son tour des AWS Lambda fonctions. Votre AWS Lambda fonction est appelée automatiquement pour les appels entrants et sortants. *Par exemple, lorsqu'un nouvel appel entrant arrive, le service audio PSTN appelle votre AWS Lambda fonction avec un `NEW_INCOMING_CALL` événement et attend les commandes appelées Actions.* Par exemple, votre application peut choisir des actions telles que la lecture d'une invite audio, la collecte de chiffres, l'enregistrement audio ou le renvoi de l'appel. Ces actions au format JSON sont renvoyées au service audio PSTN à l'aide d'un rappel de votre fonction. AWS Lambda 

Cet exemple montre une `PlayAudio` action.

```
{
    "Type": "PlayAudio",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "ParticipantTag": "LEG-A",
        "PlaybackTerminators": ["{{1}}", "{{8}}", "{{#}}"],
        "Repeat": "{{5}}",
        "AudioSource": {
            "Type": "S3",
            "BucketName": "{{valid-S3-bucket-name}}",
            "Key": "{{wave-file.wav}}"
        }
    }
}
```

Cet exemple montre une `RecordAudio` action.

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

Une fois que le service audio PSTN a exécuté l'action, il invoque à nouveau votre AWS Lambda fonction avec une indication de réussite ou d'échec. 

Votre application peut également passer des appels téléphoniques sortants et utiliser votre AWS Lambda fonction pour contrôler le flux d'appels, l'expérience de l'appelant et le contexte des appels. Dans ce cas, vous appelez l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html)API, et votre API AWS Lambda est invoquée avec un `NEW_OUTBOUND_CALL` événement. Une fois que vous avez répondu à l'appel, vous pouvez revenir sur certaines actions, telles que lancer une invite vocale et collecter les chiffres saisis par l'utilisateur. Vous pouvez également déclencher votre AWS Lambda fonction à l'aide de l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html)API pour implémenter des minuteries, la mise en sourdine des participants et des salles d'attente.