Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Comprendre end-to-end les appels pour le service audio PSTN du SDK Amazon Chime

Mode de mise au point
Comprendre end-to-end les appels pour le service audio PSTN du SDK Amazon Chime - 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.

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.

Ce cas d'utilisation fournit un exemple de code permettant de recevoir un appel téléphonique d'un appelant PSTN, d'accueillir l'appelant avec un message audio, d'obtenir le code PIN de la réunion auprès de l'appelant, de lire du son et de rejoindre l'appelant à la réunion.

Événements et actions d'invocation

Le service audio transmet les événements d'invocation aux AWS Lambda fonctions sous forme d'objets JSON. Les objets incluent le type d'événement d'invocation et toutes les métadonnées pertinentes. La AWS Lambda fonction renvoie également les actions des applications multimédia SIP sous forme d'objets JSON, et ces objets incluent un type d'action et toutes les métadonnées pertinentes.

Le tableau suivant répertorie les événements d'invocation, et les événements possiblesActionData.Type, lorsque vous recevez un événement d'invocation.

Événement d'invocation ActionData.Type

ACTION_RÉUSSIE

CallAndBridge

ReceiveDigits

PlayAudio

PlayAudioAndGetDigits

JoinChimeMeeting

ModifyChimeMeetingAttendees

RecordMeeting

ACTION_ÉCHEC

CallAndBridge

PlayAudio

PlayAudioAndGetDigits

ModifyChimeMeetingAttendees

RecordMeeting

RACCROCHER

HangUp

CHIFFRES_REÇUS

ReceiveDigits
Note

Pour implémenter le cas d'utilisation suivant, vous avez besoin d'au moins un numéro de téléphone dans votre inventaire du SDK Amazon Chime, d'un objet géré par une application multimédia SIP qui utilise une AWS Lambda fonction avec un nom de ressource Amazon (ARN) et d'une règle SIP qui utilise le numéro de téléphone comme déclencheur.

Lorsque le SDK Amazon Chime reçoit un appel au numéro de téléphone spécifié dans la règle, le service audio PSTN appelle une AWS Lambda fonction avec le type d'événement d'invocation. NEW_INBOUND_CALL

{ "SchemaVersion": "1.0", "Sequence": 1, "InvocationEventType": "NEW_INBOUND_CALL", "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": "+11234567890", "From": "+19876543210", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } }

Vous pouvez programmer la AWS Lambda fonction pour valider les détails de l'appel et les enregistrer pour une utilisation future. Lors d'un NEW_INBOUND_CALL événement, la AWS Lambda fonction répond par un ensemble d'actions qui lancent une invite de bienvenue et demandent le code PIN de la réunion.

Les fichiers audio répondent aux exigences suivantes :

  • Vous devez lire des fichiers audio à partir d'un bucket Amazon Simple Storage Service (S3). Le compartiment S3 doit appartenir au même AWS compte que l'application multimédia SIP. En outre, vous devez donner l's3:GetObjectautorisation au principal du service Amazon Chime SDK Voice Connector : voiceconnector.chime.amazonaws.com Pour ce faire, vous pouvez utiliser la console S3 ou l'interface de ligne de commande (CLI).

  • Vous devez utiliser des fichiers WAV PCM d'une taille maximale de 50 Mo. Le SDK Amazon Chime recommande 8 monos. KHz

  • Les métadonnées S3 de chaque fichier WAV doivent contenir{'ContentType': 'audio/wav'}.

{ "SchemaVersion": "1.0", "Actions": [ { "Type" : "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "chime-meetings-audio-files-bucket-name", "Key": "welcome-to-meetings.wav" } } }, { "Type": "PlayAudioAndGetDigits", "Parameters" : { "ParticipantTag": "LEG-A", "AudioSource": { "Type": "S3", "BucketName": "chime-meetings-audio-files-bucket-name", "Key": "enter-meeting-pin.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "chime-meetings-audio-files-bucket-name", "Key": "invalid-meeting-pin.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 } } ] }

L'application multimédia SIP exécute ces actions sur le segment d'appel A. En supposant que l'PlayAudioAndGetDigitsaction reçoit les chiffres, l'application multimédia SIP invoque la AWS Lambda fonction avec le type d'ACTION_SUCCESSFULévénement.

{ "SchemaVersion": "1.0", "Sequence": 2, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudioAndGetDigits", "Parameters" : { "ParticipantTag": "LEG-A", "AudioSource": { "Type": "S3", "BucketName": "chime-meetings-audio-files-bucket-name", "Key": "enter-meeting-pin.wav" }, "FailureAudioSource": { "Type": "S3", "BucketName": "chime-meetings-audio-files-bucket-name", "Key": "invalid-meeting-pin.wav" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ReceivedDigits": "12345" // meeting PIN }, "CallDetails": { ... // same as in previous event } } }

Vous pouvez programmer une AWS Lambda fonction pour identifier l'appelant en fonction des CallDetails données. Vous pouvez également valider le code PIN de réunion reçu plus tôt. En supposant que le code PIN est correct, vous utilisez ensuite le CreateMeeting et CreateAttendee APIs pour créer la réunion du SDK Amazon Chime et générer le jeton de participation utilisé par le participant à la réunion. La AWS Lambda fonction répond en demandant de rejoindre la réunion du SDK Amazon Chime.

{ "SchemaVersion": "1.0", "Actions": [ { "Type": "JoinChimeMeeting", "Parameters": { "JoinToken": "meeting-attendee-join-token" } } ] }

En supposant que JoinToken c'est valide, l'application multimédia SIP rejoint la réunion du SDK Amazon Chime et invoque une AWS Lambda fonction avec l'ACTION_SUCCESSFULévénement, qui CallDetails contient les données de l'application multimédia SIP et du service Chime Media () LEG-B

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type" : "JoinChimeMeeting", "Parameters" : { "JoinToken": "meeting-attendee-join-token" } }, "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": "+11234567890", "From": "+19876543210", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" }, { "CallId": "call-id-2", "ParticipantTag": "LEG-B", "To": "SMA", "From": "+17035550122", "Direction": "Outbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Connected" } ] } }

Si vous souhaitez arrêter d'exécuter des actions lors de l'appel ou du volet appel à ce stade, vous pouvez répondre par un ensemble d'actions vide.

{ "SchemaVersion": "1.0" "Actions": [] }

Une fois que l'appelant a raccroché, l'application multimédia SIP invoque la AWS Lambda fonction associée à l'événement. HANGUP

{ "SchemaVersion": "1.0", "Sequence": 4, "InvocationEventType": "HANGUP", "ActionData": { "Type": "Hangup", "Parameters": { "CallId": "call-id-1", "ParticipantTag": "LEG-A" } }, "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": "+11234567890", "From": "+19876543210", "Direction": "Inbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Disconnected" }, { "CallId": "call-id-2", "ParticipantTag": "LEG-B", "To": "SMA", "From": "+17035550122", "Direction": "Outbound", "StartTimeInMilliseconds": "159700958834234", "Status": "Disconnected" } ] } }

Si vous répondez à un Hangup événement par une action, l'application multimédia SIP ignore l'action si aucun autre n'Participantsaffiche un Status deConnected.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.