Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Comprendere end-to-end le chiamate per il servizio audio PSTN Amazon Chime SDK

Modalità Focus
Comprendere end-to-end le chiamate per il servizio audio PSTN Amazon Chime SDK - SDK Amazon Chime

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à.

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à.

Questo caso d'uso fornisce un codice di esempio per ricevere una telefonata da un chiamante PSTN, salutarlo con un messaggio audio, ottenere il PIN della riunione dal chiamante, riprodurre l'audio e unirsi al chiamante alla riunione.

Eventi e azioni di invocazione

Il servizio audio passa gli eventi di chiamata alle AWS Lambda funzioni come oggetti JSON. Gli oggetti includono il tipo di evento di invocazione e tutti i metadati pertinenti. La AWS Lambda funzione restituisce anche le azioni delle applicazioni multimediali SIP come oggetti JSON e tali oggetti includono un tipo di azione e tutti i metadati pertinenti.

La tabella seguente elenca gli eventi di invocazione e quelli possibili ActionData.Type quando si riceve un evento di invocazione.

Evento di invocazione ActionData.Tipo

AZIONE_RIUSCITA

CallAndBridge

ReceiveDigits

PlayAudio

PlayAudioAndGetDigits

JoinChimeMeeting

ModifyChimeMeetingAttendees

RecordMeeting

AZIONE_FALLITA

CallAndBridge

PlayAudio

PlayAudioAndGetDigits

ModifyChimeMeetingAttendees

RecordMeeting

RIAGGANCIARE

HangUp

CIFRE_RICEVUTE

ReceiveDigits
Nota

Per implementare il seguente caso d'uso, sono necessari almeno un numero di telefono nell'inventario Amazon Chime SDK, un oggetto gestito da un'applicazione multimediale SIP che utilizzi una funzione AWS Lambda con un Amazon Resource Name (ARN) e una regola SIP che utilizzi il numero di telefono come trigger.

Quando Amazon Chime SDK riceve una chiamata al numero di telefono specificato nella regola, il servizio audio PSTN richiama una AWS Lambda funzione con il tipo di evento di chiamata. 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" } ] } }

È possibile programmare la AWS Lambda funzione per convalidare i dettagli delle chiamate e memorizzarli per utilizzi futuri. Per un NEW_INBOUND_CALL evento, la AWS Lambda funzione risponde con una serie di azioni che riproducono un messaggio di benvenuto e richiedono il PIN della riunione.

I file audio hanno i seguenti requisiti:

  • È necessario riprodurre file audio da un bucket Amazon Simple Storage Service (S3). Il bucket S3 deve appartenere allo stesso AWS account dell'applicazione multimediale SIP. Inoltre, devi concedere l's3:GetObjectautorizzazione al responsabile del servizio Amazon Chime SDK Voice Connector—. voiceconnector.chime.amazonaws.com A tale scopo, puoi utilizzare la console S3 o l'interfaccia a riga di comando (CLI).

  • È necessario utilizzare file WAV PCM di dimensioni non superiori a 50 MB. L'SDK Amazon Chime consiglia 8 mono. KHz

  • I metadati S3 per ogni file WAV devono contenere. {'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'applicazione multimediale SIP esegue queste azioni sulla riga di chiamata A. Supponendo che l'PlayAudioAndGetDigitsazione riceva le cifre, l'applicazione multimediale SIP richiama la funzione con il tipo di evento. AWS Lambda ACTION_SUCCESSFUL

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

È possibile programmare una AWS Lambda funzione per identificare il chiamante in base ai dati. CallDetails Puoi anche convalidare il PIN della riunione ricevuto in precedenza. Supponendo che il PIN sia corretto, si utilizza quindi il CreateMeeting e CreateAttendee APIs per creare la riunione Amazon Chime SDK e generare il token di partecipazione utilizzato dal partecipante alla riunione. La AWS Lambda funzione risponde con l'azione di partecipare alla riunione Amazon Chime SDK.

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

Supponendo che JoinToken sia valido, l'applicazione multimediale SIP partecipa alla riunione Amazon Chime SDK e richiama una AWS Lambda funzione con l'ACTION_SUCCESSFULevento, dove CallDetails contiene i dati dell'applicazione multimediale SIP e del servizio 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" } ] } }

Se a questo punto desideri interrompere l'esecuzione di azioni sulla chiamata o sulla sessione della chiamata, puoi rispondere con una serie di azioni vuota.

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

Dopo la chiusura del chiamante, l'applicazione multimediale SIP richiama la funzione con l' AWS Lambda evento. 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" } ] } }

Se si risponde a un Hangup evento con un'azione, l'applicazione multimediale SIP ignora l'azione se nessun'altra ne mostra una. Participants Status Connected

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.