Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
StartCallRecording
StartCallRecording
Tindakan memulai perekaman kaki panggilan. Anda mulai merekam panggilan di aplikasi media SIP Anda, baik sesuai permintaan atau sebagai respons terhadap acara SIP.
Untuk memulai perekaman panggilan sesuai permintaan, Anda menggunakan
UpdateSipMediaApplication
API untuk memanggil aplikasi Anda dan mengembalikan tindakan.StartCallRecording
Untuk memulai perekaman panggilan sebagai respons terhadap peristiwa SIP, Anda mengembalikan
StartCallRecording
tindakan dalam aplikasi Anda.
Anda menentukan apakah Anda ingin merekam trek audio untuk kaki masuk, kaki keluar, atau keduanya. Bagian berikut menjelaskan cara menggunakan StartCallRecording
tindakan.
catatan
Rekaman yang dibuat menggunakan fitur ini dapat tunduk pada undang-undang atau peraturan mengenai pencatatan komunikasi elektronik. Adalah tanggung jawab Anda dan pengguna akhir Anda untuk mematuhi semua hukum yang berlaku mengenai rekaman, termasuk memberi tahu semua peserta dengan benar dalam sesi rekaman atau komunikasi bahwa sesi atau komunikasi sedang direkam, dan mendapatkan persetujuan mereka.
Topik
Meminta tindakan StartCallRecording
Contoh berikut menunjukkan cara meminta StartCallRecording
tindakan untuk BOTH
trek.
{ "Version": "2012-10-17", "Statement": [ { "Type": "StartCallRecording", "Parameters": { "CallId": "
call-id-1
", "Track": "BOTH
", "Destination": { "Type": "S3", "Location": "valid-bucket-name-and-optional-prefix
" } } } ] }
- CallId
-
Deskripsi —
CallId
peserta dalamCallDetails
pemanggilan AWS Lambda fungsiNilai yang diizinkan - ID panggilan yang valid
Diperlukan - Ya
Nilai default - Tidak ada
- Lacak
-
Deskripsi - Audio
Track
rekaman panggilan.Nilai yang diizinkan —
BOTH
,INCOMING
, atauOUTGOING
Diperlukan - Ya
Nilai default - Tidak ada
- Destinasi.Type
-
Deskripsi — Jenis tujuan. Hanya Amazon S3 yang diizinkan.
Nilai yang diizinkan - Amazon S3
Diperlukan - Ya
Nilai default - Tidak ada
- Destinasi.Lokasi
-
Deskripsi - Bucket Amazon S3 yang valid dan awalan kunci Amazon S3 opsional. Bucket harus memiliki izin ke kepala layanan Amazon Chime SDK Voice Connector, voiceconnector.chime.amazonaws.com.
Nilai yang diizinkan — Jalur Amazon S3 yang valid di mana Amazon Chime SDK memiliki izin untuk tindakan dan tindakan.
s3:PutObject
s3:PutObjectAcl
Diperlukan - Ya
Nilai default - Tidak ada
Menentukan tujuan perekaman
Amazon Chime SDK mengirimkan rekaman panggilan ke bucket Amazon S3 Anda. Bucket harus milik AWS akun Anda. Anda menentukan lokasi bucket dalam Destination
parameter StartCallRecording
tindakan. Type
Bidang dalam Destination
parameter harusS3
. Location
Bidang ini terdiri dari bucket Amazon S3 Anda, ditambah awalan kunci objek opsional tempat rekaman panggilan dikirimkan.
Aplikasi media SIP menggunakan tanggal dan waktu panggilan yang ditentukanLocation
, ID transaksi, dan ID panggilan untuk memformat kunci objek Amazon S3. Respons StartCallRecording
tindakan mengembalikan kunci objek Amazon S3 lengkap.
Jika Anda hanya menyediakan bucket Amazon S3 di Location
lapangan, aplikasi media SIP menambahkan awalan defaultAmazon-Chime-SMA-Call-Recordings
, ke jalur Amazon S3. Aplikasi media SIP juga menambahkan tahun, bulan, dan hari waktu mulai panggilan untuk membantu mengatur rekaman. Contoh berikut menunjukkan format umum jalur Amazon S3 dengan awalan default. Contoh ini digunakan myRecordingBucket
sebagai Location
nilai.
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
Contoh berikut menunjukkan data yang direpresentasikan dalam jalur rekaman panggilan Amazon S3.
s3Bucket
/Amazon-Chime-SMA-Call-Recordings/year
/month
/date
/year-month-date-hour-minute-second-millisecond_transactionId_callId
.wav
Saat Anda memberikan bucket Amazon S3 dan key prefix object di Location
bidang, aplikasi media SIP menggunakan awalan kunci objek Anda di jalur Amazon S3 tujuan, bukan awalan default. Contoh berikut menunjukkan format umum panggilan yang merekam jalur Amazon S3 dengan awalan Anda. Misalnya, Anda dapat menentukan myRecordingBucket /TechnicalSupport/English sebagai. Location
myRecordingBucket
/technicalSupport
/english/2019/03/01/2019–03–01–17–10–00–010_c4640e3b1478–40fb–8e38-6f6213adf70b_7ab7748e–b47d–4620–ae2c–152617d3333c.wav
Contoh berikut menunjukkan data di jalur Amazon S3.
s3Bucket
/yourObjectKeyPrefix
/year
/month
/date
/year-month-date-hour-minute-second-millisecond
_transactionId
_callId
.wav
Rekaman yang dikirim ke bucket Amazon S3 Anda berisi metadata objek Amazon S3 tambahan tentang kaki panggilan. Tabel berikut mencantumkan metadata objek Amazon S3 yang didukung.
Nama | Penjelasan |
---|---|
transaksi-id |
ID Transaksi panggilan telepon |
call-id |
CallId peserta dalam CallDetails pemanggilan AWS Lambda fungsi |
perekaman-durasi |
Durasi perekaman panggilan dalam hitungan detik |
recording-audio-file-format |
Format file audio perekaman panggilan direpresentasikan sebagai jenis media internet |
Memberikan izin bucket Amazon S3
Bucket Amazon S3 tujuan Anda harus memiliki AWS akun yang sama dengan aplikasi Anda. Selain itu, tindakan harus memberikan s3:PutObject
dan s3:PutObjectAcl
izin kepada kepala layanan Amazon Chime SDK Voice Connector,. voiceconnector.chime.amazonaws.com
Contoh berikut memberikan izin yang sesuai.
{ "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": "aws-account-id
" } } } ] }
Layanan audio PSTN membaca dan menulis ke bucket S3 Anda atas nama Aplikasi Sip Media Anda. Untuk menghindari masalah deputi yang membingungkan, Anda dapat membatasi izin bucket S3 ke satu aplikasi media SIP.
{ "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": "aws-account-id
", "aws:SourceArn": "arn:aws:chime:region
:aws-account-id
:sma/sip-media-application-id
" } } } ] }
Tindakan respon sukses
Ketika perekaman panggilan berhasil dimulai pada leg panggilan, aplikasi media SIP memanggil AWS Lambda fungsi dengan jenis ACTION_SUCCESSFUL
acara. Lokasi perekaman panggilan dikembalikan dalam respons.
{ "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": { ... } }
Respons kesalahan tindakan
Untuk kesalahan validasi, aplikasi media SIP memanggil AWS Lambda fungsi dengan pesan kesalahan yang sesuai. Tabel berikut mencantumkan pesan kesalahan.
Kesalahan | Pesan | Alasan |
---|---|---|
|
|
Parameter apa pun tidak valid. |
|
Kesalahan sistem saat menjalankan tindakan. |
Jenis lain dari kesalahan sistem terjadi saat menjalankan tindakan. |
Ketika tindakan gagal merekam media pada leg panggilan, aplikasi media SIP memanggil AWS Lambda fungsi dengan jenis ActionFailed
acara.
Contoh berikut menunjukkan respon kesalahan tipikal.
{ "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": { ... } }
Lihat contoh kerja di GitHub: https://github.com/aws-samples/amazon-chime-sma-on-demand-recording