Menggunakan header SIP - Amazon Chime SDK

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

Menggunakan header SIP

Anda sekarang dapat mengirim dan menerima header User-To-User, header Diversion, dan header SIP kustom dalam AWS Lambda fungsi Anda ketika Anda ingin bertukar informasi konteks panggilan dengan infrastruktur SIP Anda.

  • Header User-to-User (UUI) dapat digunakan untuk mengirim data kontrol panggilan. Data ini dimasukkan oleh aplikasi yang memulai sesi dan digunakan oleh aplikasi yang menerima sesi. Ini tidak digunakan untuk fungsionalitas SIP dasar apa pun. Misalnya, Anda dapat menggunakan header UUI di pusat panggilan untuk menyampaikan informasi antar agen tentang panggilan.

  • Header Diversion digunakan untuk menunjukkan dari mana panggilan dialihkan dan mengapa. Anda dapat menggunakan header ini untuk melihat informasi pengalihan dari agen SIP lain, atau meneruskannya.

  • Header SIP Kustom memungkinkan Anda menyampaikan informasi lain yang Anda inginkan. Misalnya, jika Anda ingin meneruskan id akun, Anda dapat membuat header X yang disebut “X-Account-Id” dan menambahkan informasi ini.

Anda harus mengawali header SIP kustom Anda dengan. x- Header diekspos dalam AWS Lambda fungsi dan diterima sebagai bagian dari NEW_INBOUND_CALL acara selama panggilan masuk. Anda juga dapat menyertakan header ini di kaki panggilan keluar saat memicu CallAndBridge tindakan atau API. CreateSipMediaApplicationCall

ParticipantsBagian dari fungsi Lambda berisi bidang. SipHeaders Bidang ini tersedia saat Anda menerima header khusus, atau saat Anda mengisi User-to-User atau Diversion header.

Contoh ini menunjukkan respons yang diharapkan ketika pemanggilan AWS Lambda berisi header 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" } ] } }

Contoh berikut menunjukkan CallAndBridge tindakan yang berhasil, karena entri yang tidak valid untuk parameter. 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" } } } ] }

Contoh berikut menunjukkan CallAndBridge tindakan gagal yang disebabkan oleh parameter yang tidak validSipHeaders.

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

Menggunakan SipHeaders bidang

Saat Anda memicu CreateSipMediaApplicationCallAPI, SipHeaders bidang opsional memungkinkan Anda meneruskan header SIP khusus ke leg panggilan keluar. Kunci header yang valid harus menyertakan salah satu dari yang berikut:

  • x-Awalan

  • User-to-UserHeader

  • DiversionHeader

X-AMZNadalah header yang dicadangkan. Jika Anda menggunakan header ini dalam panggilan API, itu akan gagal. Header dapat memiliki panjang maksimum 2048 karakter.

Contoh berikut menunjukkan CreateSipMediaApplicationCallAPI tipikal di antarmuka baris perintah dengan parameter opsionalSipHeaders.

create-sip-media-application-call --from-phone-number value // (string) --to-phone-number value // (string) --sip-media-application-id value // (string) --sip-headers // (map)

Untuk informasi selengkapnya, lihat Mekanisme untuk Mengangkut Informasi Kontrol Panggilan Pengguna ke Pengguna di SIP dan Indikasi Pengalihan di SIP.