翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Chime SDK PTSN オーディオサービスでの SIP ヘッダーの使用
通話コンテキスト情報を SIP インフラストラクチャと交換する場合に、 AWS Lambda 関数で User-To-User ヘッダー、Diversion ヘッダー、およびカスタム SIP ヘッダーを送受信できるようになりました。
-
User-to-User (UUI) ヘッダーを使用して、通話制御データを送信できます。このデータは、セッションを開始するアプリケーションによって挿入され、セッションを受け付けるアプリケーションによって使用されます。基本的な SIP 機能には使用されません。例えば、コールセンターで UUI ヘッダーを使用して、通話に関する情報をエージェント間でやり取りできます。
-
Diversion ヘッダーは、通話がどこから転送されたのか、またその理由を示すために使用されます。このヘッダーを使用して、他の SIP エージェントからの転送情報を確認する、または伝えることができます。
-
カスタム SIP ヘッダーを使用すると、必要なその他の情報を伝えることができます。例えば、アカウント ID を伝える場合は、「X-Account-Id」という X ヘッダーを作成し、この情報を追加できます。
カスタム SIP ヘッダーには x-
というプレフィックスを付ける必要があります。ヘッダーは AWS Lambda 関数で公開され、インバウンド呼び出し中にNEW_INBOUND_CALL
イベントの一部として受信されます。また、CallAndBridge アクションや CreateSipMediaApplicationCall API をトリガーするときに、これらのヘッダーを発信通話レッグに含めることもできます。
Lambda 関数の Participants
セクションには SipHeaders
フィールドが含まれています。このフィールドは、カスタムヘッダーを受け取るとき、あるいは、User-to-User
ヘッダーまたは Diversion
ヘッダーにデータを入力するときに使用できます。
この例では、 AWS Lambda 呼び出しに 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" } ] } }
次の例は、SipHeaders
パラメータのエントリが無効であるため、CallAndBridge アクションが成功したことを示しています。
{ "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" } } } ] }
次の例は、無効な SipHeaders
パラメータが原因で失敗した CallAndBridge アクションを示しています。
{ "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" } ] } }
SipHeaders フィールドの使用
CreateSipMediaApplicationCall API をトリガーすると、オプションの SipHeaders
フィールドを使用して、カスタム SIP ヘッダーを発信通話レッグに渡せるようになります。有効なヘッダーキーには、次のいずれかが含まれている必要があります。
-
x-
プレフィックス -
User-to-User
ヘッダー -
Diversion
ヘッダー
X-AMZN
は予約ヘッダーです。このヘッダーを API コールで使用すると、失敗します。ヘッダーの最大長は 2048 文字です。
次の例は、オプションの SipHeaders
パラメータを使用した、コマンドラインインターフェイスの一般的な CreateSipMediaApplicationCall API を示しています。
create-sip-media-application-call --from-phone-number value // (string) --to-phone-number value // (string) --sip-media-application-id value // (string) --sip-headers // (map)
詳細については、「A Mechanism for Transporting User-to-User Call Control Information in SIP