

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 en el servicio de audio PTSN de Amazon Chime SDK
<a name="sip-headers"></a>

Ahora puede enviar y recibir un User-To-User encabezado, un encabezado de desvío y encabezados SIP personalizados en sus AWS Lambda funciones cuando desee intercambiar información del contexto de la llamada con su infraestructura SIP. 
+ El encabezado User-to-User (UUI) se puede usar 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 acción o el [CallAndBridge](call-and-bridge.md) [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html)API.

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

Este ejemplo 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 acción [CallAndBridge](call-and-bridge.md) 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 acción [CallAndBridge](call-and-bridge.md) fallida provocada por un parámetro `SipHeaders` 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 de SipHeaders campo
<a name="custom-headers"></a>

Al activar el [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html)API, el `SipHeaders` campo opcional te permite pasar encabezados SIP personalizados a un tramo de llamada saliente. 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 un ejemplo típico [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateSipMediaApplicationCall.html)API 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 User-to-User llamadas en el SIP y la [indicación de desvío](https://datatracker.ietf.org/doc/html/rfc5806) en el SIP](https://datatracker.ietf.org/doc/html/rfc7433).