CallAndBridge - Amazon Chime SDK

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.

CallAndBridge

Crée un appel sortant vers un numéro de téléphone PSTN ou vers une liaison SIP configurée comme connecteur vocal Amazon Chime SDK ou groupe de connecteurs vocaux Amazon Chime SDK, puis le relie à un segment d'appel existant. Vous l'utilisez PSTN lorsque vous appelez un numéro de téléphone et AWS lorsque vous appelez une ligne principale SIP.

Un segment d'appel existant peut être un segment d'appel sortant créé à l'aide de l'CreateSIPMediaApplicationCallAPI ou un segment entrant créé par une règle SIP qui invoque la AWS Lambda fonction avec un événement. NewInboundCall Lorsque vous implémentez une CallAndBridge action sur un point de terminaison d'un connecteur vocal ou d'un groupe de connecteurs vocaux, vous devez spécifier le numéro de ressource Amazon (ARN) du connecteur vocal ou du groupe de connecteurs vocaux.

Vous pouvez également ajouter des en-têtes SIP personnalisés aux étapes et AWS Lambda aux fonctions des appels sortants. Les en-têtes personnalisés vous permettent de transmettre des valeurs telles que les numéros d'étage et les codes postaux. Pour plus d'informations sur les en-têtes personnalisés, reportez-vous àUtilisation SIP des en-têtes dans le service audio Amazon SDK PTSN Chime.

L'exemple de code suivant montre une action typique qui relie un point de terminaison PSTN.

{ "SchemaVersion": "1.0", "Actions": [{ "Type": "CallAndBridge", "Parameters": { "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", // required "Endpoints": [{ "BridgeEndpointType": "PSTN", // required "Uri": "e164PhoneNumber", // required }], } } ] }

L'exemple suivant montre une action typique qui utilise un connecteur vocal ou un groupe de connecteurs vocaux, ainsi qu'un en-tête SIP personnalisé.

{ "SchemaVersion":"1.0", "Actions":[ { "Type":"CallAndBridge", "Parameters":{ "CallTimeoutSeconds":30, "CallerIdNumber": "e164PhoneNumber", // required "RingbackTone": { // optional "Type": "S3", "BucketName": "s3_bucket_name", "Key": "audio_file_name" }, "Endpoints":[ { "BridgeEndpointType":"AWS", // enum type, required "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs" //VC or VCG ARN, required for AWS endpoints "Uri":"ValidString", // required, see description below } ], "SipHeaders": { "x-String":"String" } } } ] }
CallTimeoutSeconds

Description — Intervalle avant l'expiration d'un appel. Le minuteur démarre lors de la configuration de l'appel.

Valeurs autorisées : entre 1 et 120 inclus

Obligatoire — Non

Valeur par défaut : 30

CallerIdNumber

Description — Un numéro appartenant au client, ou le numéro From du A Leg

Valeurs autorisées : numéro de téléphone valide au format E.164

Obligatoire — Oui

Valeur par défaut – Aucune

Endpoints

Description — Les points de terminaison d'un appel

Valeurs autorisées :

  • BridgeEndpointTypeAWS pour les connecteurs vocaux et les groupes de connecteurs vocaux, sinonPSTN.

  • Arn— L'ARN d'un connecteur vocal ou d'un groupe de connecteurs vocaux. Nécessaire uniquement lorsque vous l'utilisez AWS commeBridgeEndpointType.

  • Uri— La valeur de l'URI dépend du type de point de terminaison.

    Pour les PSTN points de terminaison, l'URI doit être un numéro de téléphone E.164 valide.

    Pour les AWS points de terminaison, la valeur de l'URI définit la user partie duRequest-URI. Vous devez utiliser le format Augmented Backus-Naur. Longueur requise : entre 1 et 30, inclus. Utilisez les valeurs suivantes : a-z, A-Z, 0-9, &, =, +, $, /, %, -, _, !, ~, *, (,), (.)

    La valeur d'hôte de Request-URI est dérivée des routes entrantes du connecteur vocal cible. L'exemple suivant montre une CallAndBridge action avec un AWS point de terminaison.

    { "SchemaVersion":"1.0", "Actions":[ { "Type":"CallAndBridge", "Parameters":{ "CallTimeoutSeconds":30, "CallerIdNumber": "+18005550122", "Endpoints":[ { "BridgeEndpointType":"AWS", "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs", "Uri":"5550" } ], "SipHeaders": { "x-String":"String" } } } ] }

    Pour plus d'informations sur les routes entrantes et les connecteurs vocaux, consultez la section Modification des paramètres du connecteur vocal du SDK Amazon Chime.

Obligatoire — Oui

Valeur par défaut – Aucune

SipHeaders

Description — Vous permet de transmettre des valeurs supplémentaires. À utiliser uniquement avec le type de AWS point de terminaison.

Valeurs autorisées — En-tête SIP valide

Obligatoire — Non

Valeur par défaut – Aucune

L'exemple suivant montre une CallAndBridge action réussie qui utilise un point de terminaison PSTN :

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "CallAndBridge", "Parameters": { "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", "Endpoints":[ { "BridgeEndpointType": "PSTN", "Uri": "e164PhoneNumber" } ], "CallId": "call-id-1" } }, "CallDetails":{ ..... ..... "Participants":[ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", ..... "Status": "Connected" }, { "CallId": "call-id-2", "ParticipantTag": "LEG-B", ..... "Status": "Connected" } ] } }

L'exemple suivant montre une CallAndBridge action qui a échoué.

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "CallAndBridge", "Parameters":{ "CallTimeoutSeconds": 30, "CallerIdNumber": "e164PhoneNumber", "Endpoints": [ { "BridgeEndpointType": "PSTN", "Uri": "e164PhoneNumber" } ], "CallId": "call-id-1" }, "ErrorType": "CallNotAnswered", "ErrorMessage": "Call not answered" }, "CallDetails":{ ..... ..... "Participants":[ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", ..... } ] } }

Flux d'appels

L'CallAndBridgeaction fournit une signalisation d'appel et une expérience audio différentes pour un segment d'appel existant, en fonction des paramètres et du fait que le segment est connecté ou non.

Le schéma suivant montre les flux d'appels avec différents paramètres lorsqu'un segment d'appel entrant A est déjà connecté.

Le flux d'une réponse à un appel tout au long de l'CallAndBridgeaction.

Le schéma suivant montre le flux d'appels pour un appel sans réponse.

Le flux d'un appel sans réponse tout au long de l'CallAndBridgeaction.
Informations supplémentaires

Souvenez-vous de ces faits concernant l'CallAndBridgeaction.

  • CallTimeoutSeconds— Ce temporisateur démarre lorsque l'invitation SIP est envoyée sur le B-Leg. Vous pouvez définir la valeur cible souhaitée, mais cette valeur peut être ignorée par les transporteurs en amont.

  • CallerIdNumber— Ce numéro de téléphone doit appartenir au client ou être le numéro de téléphone d'un A-Leg.

  • Comportement de raccrochage et cas extrêmes : si un segment d'appel raccroche, l'autre branche d'appel ne raccroche pas automatiquement. Lorsqu'un Hangup événement est envoyé à la AWS Lambda fonction, le segment restant doit être déconnecté indépendamment. Si un segment d'appel est laissé en suspens, l'appel est facturé jusqu'à ce qu'il soit raccroché. Par exemple, le scénario suivant peut entraîner des frais imprévus :

    • Vous essayez de vous connecter à un numéro de téléphone de destination. La destination est occupée et envoie l'appel directement vers la messagerie vocale. Du point de vue du service audio, accéder à la messagerie vocale est une réponse à un appel. Le A-Leg raccroche, mais le B-Leg continue d'écouter le message vocal. Pendant que le B-Leg écoute, vous êtes facturé.

    • Il est recommandé d'utiliser la AWS Lambda fonction, ou le correspondant à l'autre bout de l'appel, pour raccrocher chaque segment d'appel indépendamment.

  • Facturation — Les frais suivants vous sont facturés lorsque vous utilisez CallAndBridge :

    • Minutes d'appel actives pour chaque segment d'appel créé (A-Leg, B-Leg, etc.) vers le PSTN.

    • Minutes d'utilisation du service audio.

Consultez des exemples pratiques sur GitHub :