

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# RecordAudio
<a name="record-audio"></a>

Memungkinkan aplikasi media SIP untuk merekam media dari ID panggilan tertentu. Misalnya, aplikasi pesan suara dan pengumuman peserta rapat. Aplikasi merekam hingga mencapai durasi yang Anda tetapkan, atau ketika pengguna menekan salah satu`RecordingTerminators`, atau ketika aplikasi mendeteksi keheningan. Dalam kasus tersebut, tindakan memberitahu aplikasi Anda untuk memasukkan file media yang dihasilkan ke dalam bucket S3 yang ditentukan. Bucket S3 harus milik AWS akun yang sama dengan aplikasi media SIP. Selain itu, tindakan harus memberikan `s3:PutObject` dan `s3:PutObjectAcl` izin kepada prinsipal layanan Konektor Suara Amazon Chime SDK, prinsip layanan Konektor Suara [ Amazon Chime SDK,. ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) `voiceconnector.chime.amazonaws.com` 

**catatan**  
Rekaman yang dibuat menggunakan fitur ini mungkin tunduk pada undang-undang atau peraturan mengenai perekaman komunikasi elektronik. Adalah tanggung jawab Anda dan pengguna akhir Anda untuk mematuhi semua undang-undang yang berlaku mengenai rekaman, termasuk memberi tahu semua peserta dalam sesi rekaman atau komunikasi bahwa sesi atau komunikasi sedang direkam, dan mendapatkan persetujuan mereka.

Contoh kebijakan IAM berikut memberikan `s3:PutObjectAcl` izin `s3:PutObject` dan ke prinsipal layanan Konektor Suara Amazon Chime SDK:

**Example : Kebijakan IAM untuk perekaman panggilan**  

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

Contoh berikut berhenti merekam ketika pemanggil menekan tombol pound (\#), atau 10 detik berlalu tanpa aktivitas, atau penelepon tetap diam selama 3 detik, dan itu menulis file media yang dihasilkan ke lokasi yang ditentukan oleh parameter. `RecordingDestination`

**catatan**  
Contoh ini menggunakan `CallId` parameter. Anda dapat menggunakan `ParticipantTag` parameter sebagai gantinya, tetapi Anda tidak dapat menggunakan keduanya.

```
{
    "Type": "RecordAudio",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "DurationInSeconds": "{{10}}",
        "SilenceDurationInSeconds": {{3}},
        "SilenceThreshold": {{100}},
        "RecordingTerminators": [
            "{{#}}"
        ],
        "RecordingDestination": {
            "Type": "S3",
            "BucketName": "{{valid-bucket-name}}",
            "Prefix": "{{valid-prefix-name}}"
        }
    }
}
```

**CallId**  
*Des `CallId` kripsi * — peserta dalam `CallDetails` pemang AWS Lambda gilan fungsi  
*Nilai yang diizinkan * — ID panggilan yang valid  
*Diperlukan * - Tidak  
*Nilai default * - Tidak ada

**ParticipantTag**  
*Deskripsi * - `ParticipantTag` dari salah satu peserta yang terhubung di `CallDetails`  
*Nilai yang diizinkan * — `LEG-A` atau `LEG-B`  
*Diperlukan * - Tidak  
*Nilai default * — `ParticipantTag` dari yang dipanggil Diab `callLeg` aikan jika Anda menentukan `CallId`

**RecordingDestination.Type**  
*Deskripsi * — Jenis tujuan. Hanya S3.  
*Nilai yang diizinkan * — S3  
*Diperlukan * - Ya  
*Nilai default * - Tidak ada

**RecordingDestination.BucketName**  
*Deskripsi * — Nama bucket S3 yang valid. Bucket harus memiliki akses ke prinsipal layanan Konektor Suara [ Amazon Chime SDK](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html),`voiceconnector.chime.amazonaws.com`.  
*Nilai yang diizinkan * — Bucket S3 yang valid yang Amazon Chime SDK memiliki akses ke `s3:PutObjectAcl` tindakan `s3:PutObject` dan.  
*Diperlukan * - Ya  
*Nilai default * - Tidak ada

****RecordingDestination.Prefix****  
*Deskripsi * - S3 awalan file rekaman  
*Nilai yang diizinkan * — Nama awalan yang valid yang berisi hingga 979 karakter aman. Untuk informasi selengkapnya tentang karakter aman, lihat [ Karakter aman ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines-safe-characters) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.  
*Diperlukan * - Tidak  
*Default * - Tidak ada. Jika tidak ditentukan, rekaman disimpan ke root bucket S3.

**DurationInSeconds**  
*Deskripsi * — Durasi rekaman, dalam detik  
*Nilai yang diizinkan * — >0  
*Diperlukan * - Tidak  
*Nilai default * - Tidak ada

****SilenceDurationInSeconds****  
*Deskripsi * — Durasi keheningan dalam hitungan detik, setelah itu rekaman berhenti. Jika tidak ditentukan, deteksi diam dinonaktifkan.  
*Nilai yang diizinkan * — [1; 1000]  
*Diperlukan * - Tidak  
*Nilai default * - 200

****SilenceThreshold****  
*Deskripsi * — Tingkat kebisingan yang dianggap “diam.” Jika Anda tidak menentukan`SilenceDurationInSeconds`, parameter ini diabaikan.  

**Nilai referensi (tingkat kebisingan dan ambang batas untuk memperlakukan kebisingan sebagai keheningan):**
+ 1-30dB atau di bawah, seperti ruangan yang tenang
+ 100-40-50 dB, seperti bisikan atau kantor yang tenang
+ 200—60dB, seperti kantor yang ramai
+ 1000—75 dB, seperti orang yang keras atau musik
*Nilai yang diizinkan * — [1; 1000]  
*Diperlukan * - Tidak  
*Nilai default * - 200

**RecordingTerminators**  
*Deskripsi * - Mencantumkan semua terminator rekaman yang tersedia.  
*Nilai yang diizinkan * — Array digit tunggal dan simbol dari [123456789\*0\#]  
*Diperlukan * - Ya  
*Nilai default * - Tidak ada

## Menangani peristiwa ACTION\_SUCCESSFUL
<a name="handle-action-successful"></a>

Saat perekaman berakhir, aplikasi media SIP Amazon Chime SDK memanggil AWS Lambda fungsi tersebut dan meneruskannya acara ACTION\_SUCCESSFUL, bersama dengan hasil pemanggilan.

```
{
    "SchemaVersion": "1.0",
    "Sequence": INTEGER,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "Type" : "RecordAudio",
        "Parameters": {
           ...           
        },
        "RecordingDestination": {
            "Type": "S3",
            "BucketName": "{{valid-bucket-name}}",
            "Key": "{{valid-S3-key}}"              
        },
        "RecordingTerminatorUsed":"{{#}}"
    },
    "CallDetails": {
        ...
    }
}
```

A `ACTION_SUCCESSFUL` cara berisi`ActionData`, yang berisi bidang-bidang ini:

**Type**  
*Deskripsi * — Jenis tindakan,`RecordAudio`.

**Parameters**  
*Deskripsi * — Parameter tindakan.

**RecordingDestination.Type**  
*Deskripsi * — Jenis tujuan. Hanya S3. 

**RecordingDestination.BucketName**  
*Deskripsi * — Bucket S3 yang berisi file rekaman. 

**RecordingDestination.Key**  
*Deskripsi * — Kunci S3 dari file rekaman.

**RecordingTerminatorUsed**  
*Deskripsi * — Terminator yang digunakan untuk menghentikan perekaman — salah satu terminator yang diteruskan dalam parameter. `RecordingTerminators` Jika perekaman berhenti setelah mencapai durasi maksimum (`DurationInSeconds`) atau karena diam (`SilenceDurationInSeconds`), pasangan nilai kunci ini tidak termasuk dalam output.

**Penanganan kesalahan**  
Untuk kesalahan validasi, aplikasi media SIP memanggil AWS Lambda fungsi dengan pesan kesalahan yang sesuai. Tabel berikut mencantumkan pesan kesalahan yang mungkin terjadi.


|  Kesalahan  |  Pesan  |  Alasan  | 
| --- | --- | --- | 
| `InvalidActionParameter` | `CallId`atau `ParticipantTag` parameter untuk tindakan tidak valid.<br />`DurationInSeconds`nilai parameter tidak valid.<br />`SilenceDurationInSeconds`nilai parameter tidak valid.<br />`SilenceThreshold`nilai parameter tidak valid.<br />`RecordingDestination`nilai parameter tidak valid.<br />Terjadi kesalahan saat mengunggah rekaman ke bucket S3. | Parameter apa pun tidak valid. | 
| `SystemException` | Kesalahan sistem saat menjalankan tindakan. | Jenis lain dari kesalahan sistem terjadi saat menjalankan tindakan. | 

## Penanganan TINDAKAN\_GAGAL peristiwa
<a name="handle-action-failed"></a>

Ketika tindakan gagal merekam media pada leg panggilan, aplikasi media SIP memanggil AWS Lambda fungsi dengan jenis peristiwa. `ACTION_FAILED` Lihat contoh berikut ini.

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{5}},
    "InvocationEventType": "ACTION_FAILED",
    "ActionData": {
        "Type" : "RecordAudio",
        "Parameters": {
           ...           
        },
        "ErrorType": "InvalidActionParameter",
        "ErrorMessage": "RecordingDestination parameter value is invalid."
    },
    "CallDetails": {
        ...
    }
}
```

Lihat contoh kerja di GitHub: [ https://github.com/aws-samples/amazon-chime-sma-bridging ](https://github.com/aws-samples/amazon-chime-sma-bridging)