

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

# Utilizzo delle intestazioni SIP nel servizio audio Amazon Chime SDK PTSN
<a name="sip-headers"></a>

Ora puoi inviare e ricevere un' User-To-User intestazione, un'intestazione Diversion e intestazioni SIP personalizzate nelle tue AWS Lambda funzioni quando desideri scambiare informazioni sul contesto delle chiamate con la tua infrastruttura SIP. 
+ L'intestazione User-to-User (UUI) può essere utilizzata per inviare dati di controllo delle chiamate. Questi dati vengono inseriti dall'applicazione che avvia una sessione e utilizzati dall'applicazione che accetta la sessione. Non vengono utilizzati per alcuna funzionalità SIP di base. Ad esempio, è possibile utilizzare l'intestazione UUI in un call center per trasmettere informazioni su una chiamata tra agenti.
+ L'intestazione Diversion viene utilizzata per mostrare da dove è stata deviata la chiamata e perché. È possibile utilizzare questa intestazione per visualizzare le informazioni sulla deviazione provenienti da altri agenti SIP o per trasmetterle.
+ Le intestazioni SIP personalizzate ti consentono di trasmettere tutte le altre informazioni che desideri. Ad esempio, se desideri trasmettere un ID account, puoi creare un'intestazione X chiamata «X-Account-Id» e aggiungere queste informazioni.

È necessario prefissare come prefisso le intestazioni SIP personalizzate con. `x-` Le intestazioni sono esposte nella AWS Lambda funzione e ricevute come parte di un `NEW_INBOUND_CALL` evento durante una chiamata in entrata. È inoltre possibile includere queste intestazioni nei log di chiamata in uscita quando si attiva un'[CallAndBridge](call-and-bridge.md)azione o l'API. [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)

La `Participants` sezione di una funzione Lambda contiene il `SipHeaders` campo. Questo campo è disponibile quando si riceve un'intestazione personalizzata o quando si compila l'`User-to-User`intestazione o. `Diversion`

Questo esempio mostra una risposta prevista quando una chiamata AWS Lambda contiene intestazioni 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"
            }
        ]
    }
}
```

L'esempio seguente mostra un'[CallAndBridge](call-and-bridge.md)azione riuscita, dovuta a una voce non valida per il parametro. `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"
            }
         }
      }
   ]
}
```

L'esempio seguente mostra un'[CallAndBridge](call-and-bridge.md)azione non riuscita causata da un parametro non valido`SipHeaders`.

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

## Utilizzo del campo SipHeaders
<a name="custom-headers"></a>

Quando si attiva l'[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, il `SipHeaders` campo opzionale consente di passare intestazioni SIP personalizzate a un gruppo di chiamate in uscita. Le chiavi di intestazione valide devono includere una delle seguenti: 
+ Il `x-` prefisso
+ L'intestazione `User-to-User`
+ L'intestazione `Diversion`

`X-AMZN`è un'intestazione riservata. Se utilizzi questa intestazione in una chiamata API, avrà esito negativo. Le intestazioni possono avere una lunghezza massima di 2048 caratteri. 

L'esempio seguente mostra un'[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 tipica nell'interfaccia della riga di comando con il parametro opzionale. `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)
```

Per ulteriori informazioni, vedere [A Mechanism for Transporting User-to-User Call Control Information in SIP e [Diversion](https://datatracker.ietf.org/doc/html/rfc5806) Indication in SIP](https://datatracker.ietf.org/doc/html/rfc7433).