

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Comprendere il modello di programmazione del servizio audio Amazon Chime SDK PSTN
<a name="pstn-model"></a>

Il servizio audio PSTN utilizza un modello di request/response programmazione che a sua volta utilizza funzioni. AWS Lambda La AWS Lambda funzione viene richiamata automaticamente per le chiamate in entrata e in uscita. *Ad esempio, quando arriva una nuova chiamata in arrivo, il servizio audio PSTN richiama la AWS Lambda funzione con un `NEW_INCOMING_CALL` evento e attende i comandi chiamati Azioni.* Ad esempio, l'applicazione può scegliere azioni come la riproduzione di un messaggio audio, la raccolta di cifre, la registrazione dell'audio o il proseguimento della chiamata. Queste azioni in formato JSON vengono rimandate al servizio audio PSTN utilizzando una richiamata dalla funzione. AWS Lambda 

Questo esempio mostra un'azione. `PlayAudio`

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

Questo esempio mostra un'`RecordAudio`azione.

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

Una volta eseguita l'azione, il servizio audio PSTN richiama nuovamente la AWS Lambda funzione con un'indicazione di successo o di fallimento. 

L'applicazione può anche effettuare chiamate telefoniche in uscita e utilizzare la AWS Lambda funzione per controllare il flusso delle chiamate, l'esperienza del chiamante e il contesto della chiamata. In questo caso, chiami 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 e la tua AWS Lambda viene richiamata con un evento. `NEW_OUTBOUND_CALL` Una volta ricevuta la risposta alla chiamata, è possibile eseguire azioni, ad esempio riprodurre un messaggio vocale e raccogliere le cifre inserite dall'utente. Puoi anche attivare la tua AWS Lambda funzione utilizzando 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 per implementare timer, silenziamento dei partecipanti e sale d'attesa.