Uso de encabezados SIP - 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.

Uso de encabezados SIP

Ahora puede enviar y recibir un encabezado de usuario a usuario, un encabezado de desvío y encabezados SIP personalizados en sus AWS Lambda funciones cuando desee intercambiar información sobre el contexto de la llamada con su infraestructura SIP.

  • El encabezado de usuario a usuario (UUI) se puede utilizar para enviar datos de control de llamadas. La aplicación que inicia una sesión inserta estos datos y los utiliza la aplicación que acepta la sesión. No se utilizan para ninguna funcionalidad SIP básica. Por ejemplo, puede usar el encabezado UUI en un centro de llamadas para transmitir información sobre una llamada entre los agentes.

  • El encabezado de desvío se usa para mostrar desde dónde se desvió la llamada y por qué. Puede usar este encabezado para ver la información de desvío de otros agentes SIP o para transmitirla.

  • Los encabezados SIP personalizados le permiten transmitir cualquier otra información que desee. Por ejemplo, si quiere transmitir un identificador de cuenta, puede crear un encabezado en forma de X denominado “X-Account-Id” y añadir esta información.

Debe anteponer a los encabezados SIP personalizados el prefijo x-. Los encabezados están expuestos en la AWS Lambda función y se reciben como parte de un NEW_INBOUND_CALL evento durante una llamada entrante. También puedes incluir estos encabezados en los segmentos de llamadas salientes al activar una CallAndBridge acción o en la API. CreateSipMediaApplicationCall

La sección Participants de una función de Lambda contiene el campo SipHeaders. Este campo está disponible cuando recibe un encabezado personalizado o cuando rellena el encabezado User-to-User o Diversion.

En este ejemplo, se muestra una respuesta esperada cuando una invocación de AWS Lambda contiene encabezados SIP.

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type":"actionType", "Parameters":{ // Parameters vary by actionType } }, "CallDetails":{ ..... ..... "Participants":[ { "CallId": "call-id-1", "ParticipantTag": "LEG-A", ..... "Status": "Connected" "SipHeaders": { "X-Test-Value": "String", "User-to-User": "616d617a6f6e5f6368696d655f636f6e6e6563745f696e746567726174696f6e;encoding=hex", "Diversion": "sip:+11234567891@public.test.com;reason=unconditional" } }, { "CallId": "call-id-2", "ParticipantTag": "LEG-B", ..... "Status": "Connected" } ] } }

En el siguiente ejemplo, se muestra una CallAndBridge acción correcta debido a una entrada no válida para el parámetro. SipHeaders

{ "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":[ { "Uri":"e164PhoneNumber", // required "BridgeEndpointType":"PSTN" // required } ], "SipHeaders": { "X-Test-Value": "String", "User-to-User": "616d617a6f6e5f6368696d655f636f6e6e6563745f696e746567726174696f6e;encoding=hex", "Diversion": "sip:+11234567891@public.test.com;reason=unconditional" } } } ] }

En el siguiente ejemplo, se muestra una CallAndBridge acción fallida provocada por un SipHeaders parámetro no válido.

{ "SchemaVersion":"1.0", "Sequence":3, "InvocationEventType":"ACTION_FAILED", "ActionData":{ "Type":"actionType", "Parameters":{ // Parameters vary by Action Type "SipHeaders": { "X-AMZN": "String", "User-to-User": "616d617a6f6e5f6368696d655f636f6e6e6563745f696e746567726174696f6e;encoding=hex", "Diversion": "sip:+11234567891@public.test.com;reason=unconditional" }, }, "ErrorType": "InvalidActionParameter", "ErrorMessage": "Invalid SIP header(s) provided: X-AMZN" }, "CallDetails":{ ..... "Participants":[ { "CallId":"call-id-1", "ParticipantTag":"LEG-A", ..... "Status":"Connected" }, { "CallId":"call-id-2", "ParticipantTag":"LEG-B", ..... "Status":"Connected" } ] } }

Uso del SipHeaders campo

Cuando activas la CreateSipMediaApplicationCallAPI, el SipHeaders campo opcional te permite pasar encabezados SIP personalizados a un tramo de llamadas salientes. Las claves de encabezado válidas deben incluir uno de los siguientes:

  • El prefijo x-

  • El encabezado User-to-User

  • El encabezado Diversion

X-AMZN es un encabezado reservado. Si utiliza este encabezado en una llamada a la API, se producirá un error. Los encabezados pueden tener una longitud máxima de 2048 caracteres.

El siguiente ejemplo muestra una CreateSipMediaApplicationCallAPI típica en la interfaz de línea de comandos con el parámetro opcional. SipHeaders

create-sip-media-application-call --from-phone-number value // (string) --to-phone-number value // (string) --sip-media-application-id value // (string) --sip-headers // (map)

Para obtener más información, consulte Un mecanismo para transportar la información de control de llamadas de usuario a usuario en SIP y la indicación de desvío en SIP.