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á.
Cria uma chamada de saída para um número de telefone PSTN ou para um tronco SIP configurado como conector de voz do SDK do Amazon Chime ou grupo de conectores de voz do SDK do Amazon Chime e, em seguida, ancora com um trecho de chamada existente. Você usa a PSTN
ao chamar um número de telefone e a AWS
ao chamar um entroncamento SIP.
Um segmento de chamada existente pode ser um segmento de chamada de saída criado usando o CreateSIPMediaApplicationCallAPI ou um trecho de entrada criado por uma regra SIP que invoca a AWS Lambda
função com um evento. NewInboundCall
Ao implementar uma ação CallAndBridge
em um endpoint de conector de voz ou grupo de conectores de voz, você deve especificar o Amazon Resource Number (ARN) do conector de voz ou grupo de conectores de voz.
Você também pode adicionar cabeçalhos SIP personalizados aos segmentos e funções das chamadas de saída. AWS Lambda Os cabeçalhos personalizados permitem que você transmita valores como números de andares e códigos postais. Para obter mais informações sobre cabeçalhos personalizados, consulte Usar cabeçalhos SIP no serviço de áudio PTSN do SDK do Amazon Chime.
O código de exemplo a seguir mostra uma ação típica que ancora a um endpoint PSTN.
{
"SchemaVersion": "1.0",
"Actions": [{
"Type": "CallAndBridge
",
"Parameters": {
"CallTimeoutSeconds": 30
,
"CallerIdNumber": "e164PhoneNumber
", // required
"Endpoints": [{
"BridgeEndpointType": "PSTN", // required
"Uri": "e164PhoneNumber
", // required
}],
}
}
]
}
O exemplo a seguir mostra uma ação típica que usa um conector de voz ou um grupo de conectores de voz, além de um cabeçalho SIP personalizado.
{
"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":[
{
"BridgeEndpointType":"AWS", // enum type, required
"Arn":"arn:aws:chime:us-east-1
:0123456789101
:vc/abcdefg1hijklm2nopq3rs
" //VC or VCG ARN, required for AWS endpoints
"Uri":"ValidString
", // required, see description below
}
],
"SipHeaders": {
"x-String
":"String
"
}
}
}
]
}
- CallTimeoutSeconds
-
Descrição – O intervalo antes de uma chamada expirar. O cronômetro começa na configuração da chamada.
Valores permitidos: entre 1 e 120, inclusive
Obrigatório – Não
Valor-padrão – 30
- CallerIdNumber
-
Descrição – Um número pertencente ao cliente ou o número De do trecho A
Valores permitidos: um número de telefone válido no formato E.164
Obrigatório – Sim
Valor-padrão: nenhum
- Endpoints
-
Descrição – Os endpoints de uma chamada
Valores permitidos:
-
BridgeEndpointType
–AWS
para conectores de voz e grupos de conectores de voz, caso contrário,PSTN
. -
Arn
– O ARN de um conector de voz ou grupo de conectores de voz. Exigido apenas quando você usa aAWS
como oBridgeEndpointType
. -
Uri
– O valor do URI depende do tipo de endpoint.Para endpoints da
PSTN
, o URI deve ser um número de telefone E.164 válido.Para endpoints da
AWS
, o valor do URI define ouser
como parte doRequest-URI
. Você deve usar o formato Backus-Naur aumentado. Comprimento necessário: entre 1 e 30, inclusive. Use os seguintes valores: a-z, A-Z, 0-9, &, =, +, $, /, %, -, _, !, ~, *,
(,
), (.
)O valor do host do
Request-URI
é derivado das rotas de entrada do conector de voz de destino. O exemplo a seguir mostra uma açãoCallAndBridge
com um endpointAWS
.{ "SchemaVersion":"1.0", "Actions":[ { "Type":"CallAndBridge", "Parameters":{ "CallTimeoutSeconds":
30
, "CallerIdNumber": "+18005550122
", "Endpoints":[ { "BridgeEndpointType":"AWS", "Arn":"arn:aws:chime:us-east-1
:0123456789101
:vc/abcdefg1hijklm2nopq3rs
", "Uri":"5550
" } ], "SipHeaders": { "x-String
":"String
" } } } ] }Para obter mais informações sobre rotas de entrada e conectores de voz, consulte Como editar as configurações do conector de voz do SDK do Amazon Chime.
Obrigatório – Sim
Valor-padrão: nenhum
-
- SipHeaders
-
Descrição – Permite que você passe valores adicionais. Use somente com o tipo de endpoint
AWS
.Valores permitidos: cabeçalho SIP válido
Obrigatório – Não
Valor-padrão: nenhum
O exemplo a seguir mostra uma ação CallAndBridge
bem-sucedida que usa um endpoint da PSTN:
{
"SchemaVersion": "1.0",
"Sequence": 3,
"InvocationEventType": "ACTION_SUCCESSFUL",
"ActionData": {
"Type": "CallAndBridge",
"Parameters": {
"CallTimeoutSeconds": 30
,
"CallerIdNumber": "e164PhoneNumber
",
"Endpoints":[
{
"BridgeEndpointType": "PSTN",
"Uri": "e164PhoneNumber
"
}
],
"CallId": "call-id-1
"
}
},
"CallDetails":{
.....
.....
"Participants":[
{
"CallId": "call-id-1
",
"ParticipantTag": "LEG-A",
.....
"Status": "Connected"
},
{
"CallId": "call-id-2
",
"ParticipantTag": "LEG-B",
.....
"Status": "Connected"
}
]
}
}
O exemplo a seguir mostra uma ação CallAndBridge
com falha.
{
"SchemaVersion": "1.0",
"Sequence":2,
"InvocationEventType": "ACTION_FAILED",
"ActionData":{
"Type": "CallAndBridge",
"Parameters":{
"CallTimeoutSeconds": 30
,
"CallerIdNumber": "e164PhoneNumber
",
"Endpoints": [
{
"BridgeEndpointType": "PSTN",
"Uri": "e164PhoneNumber
"
}
],
"CallId": "call-id-1
"
},
"ErrorType": "CallNotAnswered",
"ErrorMessage": "Call not answered"
},
"CallDetails":{
.....
.....
"Participants":[
{
"CallId": "call-id-1
",
"ParticipantTag": "LEG-A",
.....
}
]
}
}
Fluxos de chamadas
A ação CallAndBridge
fornece uma experiência de sinalização de chamada e áudio diferente para um trecho de chamada existente, dependendo dos parâmetros e se o trecho está conectado.
O diagrama a seguir mostra os fluxos de chamadas com parâmetros diferentes quando um trecho de chamada de entrada A já está conectado.

O diagrama a seguir mostra p fluxo de chamadas para uma chamada não atendida.

Detalhes adicionais
Lembre-se desses fatos sobre a ação CallAndBridge
.
CallTimeoutSeconds
: esse cronômetro começa quando o convite SIP é enviado no trecho B. Você pode definir um valor de destino desejado, mas esse valor pode ser ignorado pelas operadoras upstream.CallerIdNumber
: esse número de telefone deve pertencer ao cliente ou ser o número de origem de um trecho A.-
Comportamento de desligamento e casos extremos – Se um trecho de chamada for desligado, o outro não desligará automaticamente a chamada. Quando um
Hangup
evento é enviado para a AWS Lambda função, a perna restante deve ser desconectada de forma independente. Se um trecho de chamada ficar suspenso, a chamada será cobrada até que seja desligada. Por exemplo, o cenário a seguir pode levar a cobranças inesperadas:Você tenta se conectar a um número de telefone de destino. O destino está ocupado e envia a chamada diretamente para o correio de voz. Do ponto de vista do serviço de áudio, acessar o correio de voz é uma chamada atendida. O trecho A desliga, mas o trecho B continua ouvindo a mensagem do correio de voz. Enquanto o trecho B escuta, você é cobrado.
Como prática recomendada, use a AWS Lambda função, ou a pessoa do outro lado da chamada, para desligar cada segmento de chamada de forma independente.
Cobrança – Você é cobrado pelo seguinte ao usar
CallAndBridge
:Minutos de chamada ativos para cada trecho de chamada criado (trecho A, trecho B etc.) para a PSTN.
Minutos de uso do serviço de áudio.
Veja exemplos de trabalho em GitHub: