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 IhrenAWS 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, die eine Sitzung initiiert, eingefügt 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 Diversion-Header wird verwendet, um zu zeigen, von wo 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 alle anderen gewünschten 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 das Präfix voranstellenx-. Die Header werden in derAWS Lambda Funktion verfügbar gemacht und als Teil einesNEW_INBOUND_CALL Ereignisses während eines eingehenden Anrufs empfangen. Sie können diese Header auch in ausgehende Anrufabschnitte einbeziehen, wenn Sie eineCallAndBridge Aktion oder die CreateSipMediaApplicationCallAPI auslösen.

DerParticipants Abschnitt einer Lambda-Funktion enthält dasSipHeaders Feld. Dieses Feld ist verfügbar, wenn Sie eine benutzerdefinierte Kopfzeile erhalten oder wenn Sie dieDiversion KopfzeileUser-to-User oder füllen.

Dieses Beispiel zeigt eine erwartete Antwort, wenn einAWS 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 erfolgreicheCallAndBridge Aktion, die auf einen ungültigen Eintrag für denSipHeaders Parameter zurückzuführen ist.

{ "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 fehlgeschlageneCallAndBridge Aktion, die durch einen ungültigenSipHeaders 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" } ] } }

Das Feld SIP-Headers verwenden

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

  • Dasx- Präfix

  • DieUser-to-User Kopfzeile

  • DieDiversion Kopfzeile

X-AMZNist ein reservierter Header. Wenn Sie diesen Header in einem API-Aufruf verwenden, schlägt er fehl. Die maximale Länge beträgt 2048 Zeichen.

Das folgende Beispiel zeigt eine typische CreateSipMediaApplicationCallAPI in der Befehlszeilenschnittstelle mit dem optionalenSipHeaders Parameter.

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 Anrufsteuerungsinformationen von Benutzer zu Benutzer in SIP und Umleitungsanzeige in SIP.