As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como usar cabeçalhos SIP
Agora você pode enviar e receber um cabeçalho de usuário para usuário, um cabeçalho de desvio e cabeçalhos SIP personalizados em suas AWS Lambda funções quando quiser trocar informações de contexto de chamada com sua infraestrutura SIP.
-
O cabeçalho de usuário para usuário (UUI) pode ser usado para enviar dados de controle de chamadas. Esses dados são inseridos pelo aplicativo que inicia uma sessão e usados pelo aplicativo que aceita a sessão. Ele não é usado para nenhuma funcionalidade básica do SIP. Por exemplo, você pode usar o cabeçalho UUI em uma central de chamadas para transmitir informações entre atendentes sobre uma chamada.
-
O cabeçalho de desvio é usado para mostrar de onde a chamada foi desviada e por quê. Você pode usar esse cabeçalho para ver as informações de desvio de outros atendentes SIP ou repassá-las.
-
Os cabeçalhos SIP personalizados permitem que você transmita qualquer outra informação que desejar. Por exemplo, se quiser transmitir um id de conta, você pode criar um cabeçalho X chamado “X-Account-Id” e adicionar essas informações.
Você deve prefixar seus cabeçalhos SIP personalizados com x-
. Os cabeçalhos são expostos na AWS Lambda função e recebidos como parte de um NEW_INBOUND_CALL
evento durante uma chamada de entrada. Você também pode incluir esses cabeçalhos nos segmentos de chamada de saída ao acionar uma CallAndBridge ação ou a API. CreateSipMediaApplicationCall
A seção Participants
de uma função do Lambda contém o campo SipHeaders
. Esse campo está disponível quando você recebe um cabeçalho personalizado ou quando você preenche o cabeçalho User-to-User
ou Diversion
.
Este exemplo mostra uma resposta esperada quando uma invocação do AWS Lambda contém cabeçalhos SIP.
{ "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" } ] } }
O exemplo a seguir mostra uma CallAndBridge ação bem-sucedida devido a uma entrada inválida para o SipHeaders
parâmetro.
{ "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" } } } ] }
O exemplo a seguir mostra uma CallAndBridge ação com falha causada por um SipHeaders
parâmetro inválido.
{ "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" } ] } }
Usando o SipHeaders campo
Quando você aciona a CreateSipMediaApplicationCallAPI, o SipHeaders
campo opcional permite que você passe cabeçalhos SIP personalizados para um trecho de chamada de saída. As chaves válidas de cabeçalho devem incluir um dos seguintes:
O prefixo
x-
O cabeçalho
User-to-User
O cabeçalho
Diversion
O X-AMZN
é um cabeçalho reservado. Se você usar esse cabeçalho em uma chamada de API, ele falhará. Os cabeçalhos podem ter um tamanho máximo de 2048 caracteres.
O exemplo a seguir mostra uma CreateSipMediaApplicationCallAPI típica na interface de linha de comando com o parâmetro opcionalSipHeaders
.
create-sip-media-application-call --from-phone-number value // (string) --to-phone-number value // (string) --sip-media-application-id value // (string) --sip-headers // (map)
Para obter mais informações, consulte Um mecanismo para transportar informações de controle de chamadas de usuário para usuário no SIP