CallAndBridge - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CallAndBridge

Crea una llamada saliente a un número de teléfono de la PSTN o a un enlace troncal SIP configurado como un Voice Connector de Amazon Chime SDK o un grupo de conectores de voz de Amazon Chime SDK y, a continuación, la conecta con un tramo de llamada existente. Se usa PSTN cuando se llama a un número de teléfono y AWS cuando se llama a un enlace troncal SIP.

Un tramo de llamada existente puede ser un tramo de llamada saliente creado mediante la CreateSIPMediaApplicationCallAPI o un tramo entrante creado mediante una regla SIP que invoca la AWS Lambda función con un evento. NewInboundCall Al implementar una acción CallAndBridge en un punto de conexión de Voice Connector o grupo de conectores de voz, debe especificar el número de recurso de Amazon (ARN) del Voice Connector o grupo de conectores de voz.

También puedes añadir cabeceras SIP personalizadas a los tramos y funciones de las llamadas salientes. AWS Lambda Los encabezados personalizados le permiten pasar valores como números de piso y códigos postales. Para obtener más información sobre los encabezados personalizados, consulte Uso de encabezados SIP.

El siguiente código de ejemplo muestra una acción típica que enlaza con un punto de conexión de la PSTN.

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

El siguiente ejemplo muestra una acción típica que utiliza un Voice Connector o un grupo de conectores de voz, además de un encabezado SIP personalizado.

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

Descripción: el intervalo antes de que se agote el tiempo de espera de una llamada. El temporizador se inicia al configurar la llamada.

Valores permitidos: entre 1 y 120, ambos inclusive

Obligatorio: no

Valor predeterminado: 30

CallerIdNumber

Descripción: un número que pertenece al cliente o el número de origen del tramo A

Valores permitidos: un número de teléfono válido en formato E.164

Obligatorio: sí

Valor predeterminado: ninguno

Endpoints

Descripción: los puntos de conexión de una llamada

Valores permitidos:

  • BridgeEndpointTypeAWS para Voice Connectors y grupos de conectores de voz; en caso contrario PSTN.

  • Arn— El ARN de un Voice Connector o grupo de conectores de voz. Solo se requiere cuando se usa AWS como BridgeEndpointType.

  • Uri— El valor del URI depende del tipo de punto de conexión.

    Para los puntos de conexión de PSTN, el URI debe ser un número de teléfono E.164 válido.

    En el caso de los puntos de conexión de AWS, el valor del URI establece la parte user del Request-URI. Debe utilizar el formato Backus-Naur aumentado. Longitud requerida: entre 1 y 30, ambos inclusive. Use los siguientes valores: a-z, A-Z, 0-9, &, =, +, $, /, %, -, _, !, ~, *, (,), (.)

    El valor de host del Request-URI se deriva de las rutas de entrada del Voice Connector de destino. En el ejemplo siguiente se muestra una acción de CallAndBridge con un punto de conexión de AWS.

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

    Para obtener más información sobre las rutas entrantes y los conectores de voz, consulte Edición de la configuración del Voice Connector de Amazon Chime SDK.

Obligatorio: sí

Valor predeterminado: ninguno

SipHeaders

Descripción: le permite pasar valores adicionales. Úselo solo con el tipo de punto de conexión de AWS.

Valores permitidos: encabezado SIP válido

Obligatorio: no

Valor predeterminado: ninguno

En el ejemplo siguiente, se muestra una acción de CallAndBridge correcta que utiliza un punto de conexión de 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" } ] } }

En el ejemplo siguiente se muestra una acción de CallAndBridge fallida.

{ "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", ..... } ] } }

Flujos de llamadas

La acción de CallAndBridge proporciona una señalización de llamada y una experiencia de audio diferentes para un tramo de llamada existente, en función de los parámetros y de si el tramo está conectado.

El siguiente diagrama muestra los flujos de llamadas con diferentes parámetros cuando el tramo A de una llamada entrante ya está conectado.

El flujo de una llamada respondida a lo largo de la acción de CallAndBridge.

En el siguiente diagrama se muestra el flujo de llamadas de una llamada sin respuesta.

El flujo de una llamada sin respuesta a lo largo de la CallAndBridge acción.
Detalles adicionales

Recuerde estos datos sobre la acción de CallAndBridge.

  • CallTimeoutSeconds— Este temporizador comienza cuando se envía la invitación SIP por el B-Leg. Puede establecer un valor objetivo deseado, pero los operadores de primera línea pueden ignorarlo.

  • CallerIdNumber— Este número de teléfono debe pertenecer al cliente o ser el número de origen de un A-Leg.

  • Comportamiento de bloqueo y casos extremos: si un tramo de llamada cuelga, el otro no cuelga automáticamente la llamada. Cuando se envía un Hangup evento a la AWS Lambda función, el tramo restante debe desconectarse de forma independiente. Si un tramo de llamada queda pendiente, la llamada se facturará hasta que se cuelgue. Por ejemplo, el siguiente escenario puede provocar cargos inesperados:

    • Intenta conectarse a un número de teléfono de destino. El destino está ocupado y envía la llamada directamente al buzón de voz. Desde la perspectiva del servicio de audio, ir al correo de voz es una llamada respondida. El tramo A cuelga, pero el tramo B sigue escuchando el mensaje del correo de voz. Mientras el tramo B escucha, se le factura a usted.

    • Como práctica recomendada, utilice la AWS Lambda función, o la persona que esté al otro lado de la llamada, para colgar cada tramo de la llamada de forma independiente.

  • Facturación: se le facturará según se detalla a continuación cuando utilice CallAndBridge:

    • Minutos de llamada activos para cada tramo de llamada creado (tramo A, tramo B, etc.) a la PSTN.

    • Minutos de uso del servicio de audio.

Vea ejemplos prácticos sobre GitHub: