

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

# StartCallRecording
<a name="start-call-recording"></a>

L'`StartCallRecording`azione avvia la registrazione di una sessione di chiamata. Si avvia la registrazione delle chiamate nelle applicazioni multimediali SIP, su richiesta o in risposta a un evento SIP.
+ Per avviare la registrazione su richiesta di una chiamata, si utilizza l'`UpdateSipMediaApplication`API per richiamare l'applicazione e restituire l'azione. `StartCallRecording`
+ Per avviare la registrazione delle chiamate in risposta a un evento SIP, restituite l'`StartCallRecording`azione nell'applicazione. 

È possibile specificare se si desidera registrare la traccia audio per la tappa in entrata, la tratta in uscita o entrambe. Le sezioni seguenti spiegano come utilizzare l'azione`StartCallRecording`.

**Nota**  
Le registrazioni effettuate utilizzando questa funzione possono essere soggette a leggi o regolamenti relativi alla registrazione delle comunicazioni elettroniche. È responsabilità dell'utente e degli utenti finali rispettare tutte le leggi applicabili in materia di registrazione, inclusa la corretta notifica a tutti i partecipanti a una sessione o comunicazione registrata che la sessione o la comunicazione è in corso di registrazione e l'ottenimento del loro consenso.

**Topics**
+ [Richiedere un'azione StartCallRecording](#request-start)
+ [Specificare una destinazione di registrazione](#recording-destination)
+ [Concessione delle autorizzazioni per i bucket Amazon S3](#grant-s3-perms)
+ [Azione, risposta riuscita](#action-successful)
+ [Azione, errore, risposta.](#action-error)

## Richiedere un'azione StartCallRecording
<a name="request-start"></a>

L'esempio seguente mostra come richiedere l'`StartCallRecording`azione per `BOTH` le tracce.

```
{
    "SchemaVersion": "1.0",
    "Actions": [
        {
            "Type": "StartCallRecording",
            "Parameters":
            {
                "CallId": "call-id-1",
                "Track": "BOTH",
                "Destination":
                {
                    "Type": "S3",
                    "Location": "valid-bucket-name-and-optional-prefix"
                }
            }
        }
    ]
}
```

**CallId**  
*Descrizione*: `CallId` del partecipante all'`CallDetails`invocazione della AWS Lambda funzione  
*Valori consentiti*: un ID di chiamata valido  
*Obbligatorio*: sì  
*Valore predefinito* - nessuno

**Traccia**  
*Descrizione*: audio `Track` della registrazione della chiamata.  
*Valori consentiti*: `BOTH``INCOMING`, o `OUTGOING`  
*Obbligatorio*: Sì  
*Valore predefinito* - nessuno

**Destinazione. Tipo**  
*Descrizione:* tipo di destinazione. È consentito solo Amazon S3.  
*Valori consentiti*: Amazon S3  
*Obbligatorio*: Sì  
*Valore predefinito* - nessuno

**Destinazione. Ubicazione**  
*Descrizione*: un bucket Amazon S3 valido e un prefisso chiave Amazon S3 opzionale. Il bucket deve disporre delle autorizzazioni per il principale servizio Amazon Chime SDK Voice Connector, voiceconnector.chime.amazonaws.com.  
*Valori consentiti*: un percorso Amazon S3 valido per il quale Amazon Chime SDK dispone delle autorizzazioni per le azioni e. `s3:PutObject` `s3:PutObjectAcl`  
*Obbligatorio*: sì  
*Valore predefinito* - nessuno

## Specificare una destinazione di registrazione
<a name="recording-destination"></a>

L'SDK Amazon Chime fornisce le registrazioni delle chiamate nel tuo bucket Amazon S3. Il bucket deve appartenere al tuo account. AWS Specificate la posizione del bucket nel `Destination` parametro dell'`StartCallRecording`azione. Il `Type` campo nel `Destination` parametro deve essere`S3`. Il `Location` campo è composto dal tuo bucket Amazon S3, più un prefisso object-key opzionale in cui viene consegnata la registrazione delle chiamate. 

L'applicazione multimediale SIP utilizza la data e l'ora specificate`Location`, la data e l'ora della chiamata, l'ID della transazione e l'ID della chiamata per formattare la chiave oggetto Amazon S3. La risposta `StartCallRecording` all'azione restituisce la chiave dell'oggetto Amazon S3 completa.

Quando fornisci solo il bucket Amazon S3 `Location` sul campo, l'applicazione multimediale SIP aggiunge un prefisso predefinito `Amazon-Chime-SMA-Call-Recordings` al percorso Amazon S3. L'applicazione multimediale SIP aggiunge anche l'anno, il mese e il giorno dell'ora di inizio della chiamata per facilitare l'organizzazione delle registrazioni. L'esempio seguente mostra il formato generale di un percorso Amazon S3 con il prefisso predefinito. Questo esempio utilizza `myRecordingBucket` come valore. `Location`

```
myRecordingBucket/Amazon-Chime-SMA-Call-Recordings/2019/03/01/2019–03–01–17–10–00–010_c4640e3b–1478–40fb-8e38–6f6213adf70b_7ab7748e–b47d–4620-ae2c–152617d3333c.wav
```

L'esempio seguente mostra i dati rappresentati nel percorso di registrazione delle chiamate Amazon S3.

```
s3Bucket/Amazon-Chime-SMA-Call-Recordings/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav
```

Quando fornisci il bucket Amazon S3 e il prefisso della chiave oggetto `Location` sul campo, l'applicazione multimediale SIP utilizza il prefisso della chiave oggetto nel percorso Amazon S3 di destinazione anziché il prefisso predefinito. L'esempio seguente mostra il formato generale di un percorso di registrazione delle chiamate in Amazon S3 con il tuo prefisso. Ad esempio, puoi specificare myRecordingBucket /TechnicalSupport/English come. `Location` 

```
myRecordingBucket/technicalSupport/english/2019/03/01/2019–03–01–17–10–00–010_c4640e3b1478–40fb–8e38-6f6213adf70b_7ab7748e–b47d–4620–ae2c–152617d3333c.wav
```

L'esempio seguente mostra i dati nel percorso Amazon S3.

```
s3Bucket/yourObjectKeyPrefix/year/month/date/year-month-date-hour-minute-second-millisecond_transactionId_callId.wav
```

La registrazione inviata al tuo bucket Amazon S3 contiene [metadati di oggetti Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html) aggiuntivi relativi alla sessione di chiamata. La tabella seguente elenca i metadati degli oggetti Amazon S3 supportati.


| Nome | Description | 
| --- | --- | 
| id della transazione | ID della transazione della telefonata | 
| ID di chiamata | CallId del partecipante all'invocazione CallDetails della funzione AWS Lambda  | 
| durata della registrazione | Durata della registrazione delle chiamate in secondi | 
| recording-audio-file-format | Formato di file audio per la registrazione delle chiamate rappresentato come tipo di supporto Internet | 

## Concessione delle autorizzazioni per i bucket Amazon S3
<a name="grant-s3-perms"></a>

Il bucket Amazon S3 di destinazione deve appartenere allo stesso AWS account dell'applicazione. Inoltre, l'azione deve concedere `s3:PutObject` l'`s3:PutObjectAcl`autorizzazione al responsabile del servizio Amazon Chime SDK Voice Connector,. `voiceconnector.chime.amazonaws.com` L'esempio seguente concede l'autorizzazione appropriata. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SIP media applicationRead",
            "Effect": "Allow",
            "Principal": {
                "Service": "voiceconnector.chime.amazonaws.com"
            },
            "Action": [                
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::bucket-name/*",
	    "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

Il servizio audio PSTN legge e scrive nel bucket S3 per conto dell'applicazione multimediale Sip. Per evitare il [confuso problema secondario](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html), puoi limitare le autorizzazioni del bucket S3 a una singola applicazione multimediale SIP.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SIP media applicationRead",
            "Effect": "Allow",
            "Principal": {
                "Service": "voiceconnector.chime.amazonaws.com"
            },
            "Action": [                
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::bucket-name/*",
	    "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": "arn:aws:chime:us-east-1:111122223333:sma/sip-media-application-id"
                }
            }
        }
    ]
}
```

------

## Azione, risposta riuscita
<a name="action-successful"></a>

Quando la registrazione della chiamata viene avviata correttamente durante una sessione di chiamata, l'applicazione multimediale SIP richiama una AWS Lambda funzione con il `ACTION_SUCCESSFUL` tipo di evento. La posizione della registrazione della chiamata viene restituita nella risposta. 

```
{
    "SchemaVersion": "1.0",
    "Sequence": INTEGER,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "Type" : "StartCallRecording",
        "Parameters": {
            "CallId": "call-id-1",
            "Track": "BOTH",
            "Destination": {
                "Type": "S3",
                "Location": "valid-bucket-name"
            }
        }
        "CallRecordingDestination": {
            "Type": "S3",
            "Location": "call-recording-bucket-and-key"
        }
    }
    "CallDetails": {
        ...
    }
}
```

## Azione, errore, risposta.
<a name="action-error"></a>

In caso di errori di convalida, l'applicazione multimediale SIP richiama la AWS Lambda funzione con il messaggio di errore appropriato. La tabella seguente elenca i messaggi di errore.




| Errore | Messaggio | Motivo | 
| --- | --- | --- | 
| `InvalidActionParameter` | `CallId`il parametro per l'azione non è valido | Qualsiasi parametro non è valido. | 
| `SystemException` | Errore di sistema durante l'esecuzione di un'azione. | Si è verificato un altro tipo di errore di sistema durante l'esecuzione di un'azione. | 

Quando l'azione non riesce a registrare i file multimediali su una sessione di chiamata, l'applicazione multimediale SIP richiama una AWS Lambda funzione con il `ActionFailed` tipo di evento. 

L'esempio seguente mostra una tipica risposta di errore.

```
{
    "SchemaVersion": "1.0",
    "Sequence": 5,
    "InvocationEventType": "ACTION_FAILED",
    "ActionData": {
        "Type" : "StartCallRecording",
        "Parameters": {
            "CallId": "call-id-1",
            "Track": "BOTH",
            "Destination": {
                "Type": "S3",
                "Location": "valid-bucket-name"
            }
        }
        "Error": "NoAccessToDestination: Error while accessing destination"
    }
    "CallDetails": {
        ...
    }
}
```

Vedi un esempio funzionante su GitHub: [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)