SIP-Header verwenden - Amazon Chime SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SIP-Header verwenden

Sie können jetzt in Ihren AWS Lambda Funktionen einen User-To-User-Header, einen Diversion-Header und benutzerdefinierte SIP-Header senden und empfangen, wenn Sie Anrufkontextinformationen mit Ihrer SIP-Infrastruktur austauschen möchten.

  • Der User-to-User (UUI) -Header kann zum Senden von Anrufsteuerungsdaten verwendet werden. Diese Daten werden von der Anwendung eingefügt, die eine Sitzung initiiert, und von der Anwendung verwendet, die die Sitzung akzeptiert. Es wird nicht für grundlegende SIP-Funktionen verwendet. Sie könnten beispielsweise den UUI-Header in einem Call Center verwenden, um Informationen über einen Anruf zwischen Agenten weiterzugeben.

  • Der Umleitungsheader wird verwendet, um anzuzeigen, von wo aus der Anruf umgeleitet wurde und warum. Sie können diesen Header verwenden, um entweder Umleitungsinformationen von anderen SIP-Agenten zu sehen oder sie weiterzugeben.

  • Mit benutzerdefinierten SIP-Headern können Sie beliebige andere Informationen weitergeben. Wenn Sie beispielsweise eine Konto-ID weitergeben möchten, können Sie einen X-Header namens „X-Account-Id“ erstellen und diese Informationen hinzufügen.

Sie müssen Ihren benutzerdefinierten SIP-Headern ein Präfix voranstellen. x- Die Header werden in der AWS Lambda Funktion angezeigt und als Teil eines NEW_INBOUND_CALL Ereignisses während eines eingehenden Anrufs empfangen. Sie können diese Header auch in ausgehende Anrufabschnitte aufnehmen, wenn Sie eine CallAndBridge Aktion oder die API auslösen. CreateSipMediaApplicationCall

Der Participants Abschnitt einer Lambda-Funktion enthält das SipHeaders Feld. Dieses Feld ist verfügbar, wenn Sie einen benutzerdefinierten Header erhalten oder wenn Sie den Header User-to-User oder Diversion ausfüllen.

Dieses Beispiel zeigt eine erwartete Antwort, wenn ein AWS Lambda-Aufruf SIP-Header enthält.

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

Das folgende Beispiel zeigt eine erfolgreiche CallAndBridge Aktion, die auf einen ungültigen Eintrag für den Parameter zurückzuführen ist. 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" } } } ] }

Das folgende Beispiel zeigt eine fehlgeschlagene CallAndBridge Aktion, die durch einen ungültigen SipHeaders Parameter verursacht wurde.

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

Verwenden des SipHeaders Feldes

Wenn Sie die CreateSipMediaApplicationCallAPI auslösen, können Sie mit dem optionalen SipHeaders Feld benutzerdefinierte SIP-Header an einen ausgehenden Anrufabschnitt übergeben. Gültige Header-Schlüssel müssen einen der folgenden Schlüssel enthalten:

  • Das x- Präfix

  • Der User-to-User Header

  • Der Diversion Header

X-AMZNist ein reservierter Header. Wenn Sie diesen Header in einem API-Aufruf verwenden, schlägt er fehl. Die Header können eine maximale Länge von 2048 Zeichen haben.

Das folgende Beispiel zeigt eine typische CreateSipMediaApplicationCallAPI in der Befehlszeilenschnittstelle mit dem optionalen Parameter. 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)

Weitere Informationen finden Sie unter Ein Mechanismus für die Übertragung von Informationen zur Anrufsteuerung von Benutzer zu Benutzer in SIP und Umleitungsanzeige in SIP.