Verwenden von SIP Headern im Amazon Chime Chime-Audioservice SDK PTSN - 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.

Verwenden von SIP Headern im Amazon Chime Chime-Audioservice SDK PTSN

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

  • Der Header User-to-User (UUI) 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. Beispielsweise könnten Sie 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 alle anderen Informationen weitergeben, die Sie möchten. 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 verfügbar gemacht und als Teil eines NEW_INBOUND_CALL Ereignisses während eines eingehenden Anrufs empfangen. Sie können diese Header auch in ausgehende Anrufabschnitte einbeziehen, wenn Sie eine Aktion auslösen, oder CallAndBridge CreateSipMediaApplicationCall API.

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 Header enthältSIP.

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

Verwendung der SipHeaders field

Wenn Sie das auslösen CreateSipMediaApplicationCallAPI, das optionale SipHeaders Feld ermöglicht es Ihnen, benutzerdefinierte SIP Header an einen ausgehenden Anrufabschnitt zu ü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 Anruf verwenden, schlägt er fehl. Die Header können eine maximale Länge von 2048 Zeichen haben.

Das folgende Beispiel zeigt ein typisches CreateSipMediaApplicationCallAPIin der Befehlszeilenschnittstelle mit dem optionalen SipHeaders 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 den Transport von Informationen zur User-to-User Anrufsteuerung SIP und Hinweise auf Umleitungen in. SIP