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 einen User-To-User-Header, einen Diversion-Header und benutzerdefinierte SIP-Header in IhremAWS LambdaFunktionen, wenn Sie Anrufkontextinformationen mit Ihrer SIP-Infrastruktur austauschen möchten.

  • Der Header UUI (UUI) kann verwendet werden, um Anrufsteuerungsdaten zu senden. 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-Funktionalität verwendet. Sie könnten beispielsweise den UUI-Header in einem Callcenter verwenden, um Informationen zwischen Agenten über einen Anruf weiterzugeben.

  • Der Diversion-Header wird verwendet, um anzuzeigen, von wo der Anruf umgeleitet wurde und warum. Sie können diesen Header verwenden, um entweder Umleitungsinformationen von anderen SIP-Agenten anzuzeigen oder 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 voranstellenx-aus. Die Header sind imAWS LambdaFunktion und erhalten als Teil einesNEW_INBOUND_CALL-Ereignis während eines eingehenden Anrufs. Sie können diese Header auch in ausgehende Anruf-Legs einschließen, wenn Sie eineCallAndBridgeAction oder dasCreateSipMediaApplicationCallAPI.

DieParticipantsAbschnitt einer Lambda-Funktion enthält dieSipHeadersfield. Dieses Feld ist verfügbar, wenn Sie einen benutzerdefinierten Header erhalten oder wenn Sie dieUser-to-UseroderDiversionHeader.

Dieses Beispiel zeigt eine erwartete -AntwortAWSDer Lambda-Aufruf enthält SIP-Header.

{ "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 einen erfolgreichenCallAndBridgeAktion aufgrund eines ungültigen Eintrags für dieSipHeaders-Parameter.

{ "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 einen fehlgeschlagenenCallAndBridgeAktion verursacht durch eine ungültigeSipHeaders-Parameter.

{ "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 Feldes sip-Header

Wenn Sie denCreateSipMediaApplicationCallAPI, die optionaleSipHeadersermöglicht es Ihnen, benutzerdefinierte SIP-Header an ein ausgehendes Anruf-Leg zu übergeben. Gültige Header Keys müssen einen der folgenden Angaben enthalten:

  • Diex-Präfix

  • DieUser-to-UserKopfzeile

  • DieDiversionKopfzeile

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 einen typischenCreateSipMediaApplicationCallAPI 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 unterEin Mechanismus zum Transport von Informationen zur Anrufsteuerung von Benutzer zu Benutzer in SIPundUmleitungsanzeige im SIPaus.