

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.

# Spécification des actions en réponse aux événements de téléphonie pour le service audio PSTN du SDK Amazon Chime
<a name="use-case-2"></a>

Dans le service audio, les applications multimédia SIP invoquent AWS Lambda des fonctions. *À son tour, une fonction Lambda peut renvoyer une liste d'instructions appelées actions.* Une action est un élément que vous souhaitez exécuter lors d'une partie d'un appel téléphonique, par exemple envoyer ou recevoir des chiffres, rejoindre une réunion, etc. Pour plus d'informations sur les actions invoquées par le service audio PSTN, consultez. [Comprendre les événements de téléphonie pour le service audio PSTN du SDK Amazon Chime](pstn-invocations.md)

Lorsqu'une application multimédia SIP exécute avec succès une liste d'actions, l'application appelle la AWS Lambda fonction avec un événement d'invocation du `ACTION_SUCCESSFUL` type. Si l'une des actions échoue, l'application multimédia SIP appelle la AWS Lambda fonction avec l'`ACTION_FAILED`événement.

L'application multimédia SIP ne revient que `ACTION_SUCCESSFUL` si toutes les actions de la liste aboutissent. Si l'une des actions de la liste échoue, l'application multimédia SIP invoque la AWS Lambda fonction associée à l'`ACTION_FAILED`événement et efface les actions restantes de la liste après l'échec. L'application multimédia SIP exécute ensuite l'action suivante renvoyée par la AWS Lambda fonction. Vous utilisez la `ActionData` touche pour identifier l'appel qui a appelé la fonction.

L'événement suivant montre un exemple de charge utile pour le type d'événement `ACTION_SUCCESSFUL` d'invocation après une `PlayAudioAndGetDigits` action.

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{3}},
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "Type": "PlayAudioAndGetDigits",
        "Parameters" : {
            "CallId": "{{call-id-1}}",
            "AudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{failure-audio-file.wav}}"
            },
            "FailureAudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{failure-audio-file.wav}}"
            },
            "MinNumberOfDigits": {{3}},
            "MaxNumberOfDigits": {{5}},
            "TerminatorDigits": ["{{#}}"],
            "InBetweenDigitsDurationInMilliseconds": {{5000}},
            "Repeat": 3,
            "RepeatDurationInMilliseconds": {{10000}}
        },
        "ReceivedDigits": "{{123}}"
    }
    "CallDetails": {
        "TransactionId": "{{transaction-id}}",
        "AwsAccountId": "{{aws-account-id}}",
        "AwsRegion": "{{us-east-1}}",
        "SipRuleId": "{{sip-rule-id}}",
        "SipApplicationId": "{{sip-application-id}}",
        "Participants": [
            {
                "CallId": "{{call-id-1}}",
                "ParticipantTag": "LEG-A",
                "To": "{{+12065551212}}",
                "From": "{{+15105550101}}",
                "Direction": "Inbound",
                "StartTimeInMilliseconds": "{{159700958834234}}",
                "Status": "Connected"
                }
            ]
        }
    }
}
```

Lorsqu'une action d'une liste échoue, l'application multimédia SIP invoque la AWS Lambda fonction pour vous informer de l'échec et pour obtenir un nouvel ensemble d'actions à exécuter sur cet appel. L'événement suivant montre l'exemple de charge utile pour le type d'événement `ACTION_FAILED` d'invocation après une `PlayAudio` action.

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{4}},
    "InvocationEventType": "ACTION_FAILED",
    "ActionData": {
        "Type": "PlayAudio",
        "Parameters" : {
            "CallId": "{{call-id-1}}",
            "AudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{audio-file.wav}}"            
            }
        },
        "ErrorType": "InvalidAudioSource",
        "ErrorMessage": "Audio Source parameter value is invalid."
    }
    "CallDetails": {
        "TransactionId": "{{transaction-id}}",
        "AwsAccountId": "{{aws-account-id}}",
        "AwsRegion": "{{us-east-1}}",
        "SipRuleId": "{{sip-rule-id}}",
        "SipApplicationId": "{{sip-application-id}}",
        "Participants": [
            {
                "CallId": "{{call-id-1}}",
                "ParticipantTag": "LEG-A",
                "To": "{{+12065551212}}",
                "From": "{{+15105550101}}",
                "Direction": "Inbound",
                "StartTimeInMilliseconds": "{{159700958834234}}",
                "Status": "Connected"
            }
        ]
    }
}
}
```