SIP ヘッダーの使用 - Amazon Chime SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 ヘッダーにデータを入力するときに使用できます。

この例では、Lambda 呼び出しに SIP AWS ヘッダーが含まれている場合に予想されるレスポンスを示します。

{ "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 文字です。

次の例は、コマンドラインインターフェイスの一般的な CreateSipMediaApplicationCall API とオプションの SipHeadersパラメータを示しています。

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」と「Diversion Indication in SIP」を参照してください。