O serviço de áudio PSTN oferece as maneiras a seguir de encaminhar as chamadas telefônicas de entrada para a função do AWS Lambda para tratamento.
-
Você pode rotear chamadas com base no número chamado. Para fazer isso, um administrador do SDK do Amazon Chime cria uma regra SIP com o Tipo de acionador definido como Para número de telefone. Esse número de telefone deve existir no inventário de números de telefone do SDK do Amazon Chime, na mesma conta da AWS da regra SIP.
-
Você pode rotear chamadas para a função AWS Lambda com base no URI de solicitação de uma chamada SIP recebida do conector de voz. Para fazer isso, um administrador do SDK do Amazon Chime cria uma regra SIP com o Tipo de acionador definido como Solicitar nome de host URI. Esse campo deve conter um nome de domínio totalmente qualificado especificado no campo “nome do host de saída” de um conector de voz provisionado na mesma conta da AWS da regra SIP.
Em seguida, o administrador provisiona pelo menos um aplicativo de mídia SIP de destino. Opcionalmente, você pode provisionar vários aplicativos de mídia SIP em ordem prioritária para suportar redundância e failover. Por exemplo, você pode provisionar dois aplicativos de mídia SIP em duas regiões da AWS diferentes e especificar sua ordem de prioridade. Se uma regra SIP tiver mais de um aplicativo de mídia SIP de destino, as funções do Lambda do aplicativo de mídia SIP serão invocadas na ordem de prioridade. A função AWS Lambda no aplicativo de mídia SIP com a ordem mais alta de prioridade (o menor número, como 1) é executada primeiro. Se o serviço de áudio PSTN não puder invocar essa função do AWS Lambda, a função do AWS Lambda na aplicação de mídia SIP com a próxima ordem mais alta de prioridade (o próximo menor número, como 2) será invocada. Se todas as tentativas de executar as aplicações de mídia SIP especificadas na regra SIP falharem, o serviço de áudio PSTN será desligado.
Depois que as regras SIP e as aplicações de mídia SIP necessárias forem provisionadas, o serviço de áudio PSTN encaminhará as chamadas de entrada para sua função do AWS Lambda. O diagrama a seguir mostra uma sequência típica usando o tipo de acionador Para número de telefone.
No diagrama:
-
O serviço de áudio PSTN recebe uma chamada de entrada para um número de telefone provisionado em uma regra SIP na mesma conta da AWS.
-
O serviço de áudio PSTN, então, avalia a regra SIP e busca a aplicação de mídia SIP com a ordem mais alta de prioridade (nesse caso, prioridade 1).
-
O serviço então invoca a função AWS Lambda associada ao aplicativo de mídia SIP.
-
Opcional. Se o serviço não puder invocar o AWS Lambda associado com a ordem de prioridade mais alta, ele tentará executar o aplicativo de mídia SIP com a próxima ordem mais alta de prioridade (nesse caso, prioridade 2), se houver.
-
Opcional. Se todas as aplicações de mídia SIP de destino falharem, o serviço de áudio PSTN desligará a chamada.
O diagrama a seguir mostra uma regra típica que usa um tipo de acionador Solicitar nome de host URI.
No diagrama:
-
O serviço de áudio PSTN recebe uma chamada em um conector de voz do SDK do Amazon Chime com um Solicitar nome de host URI que corresponde a uma regra SIP provisionada na mesma conta da AWS.
-
Em seguida, o serviço avalia a regra SIP e busca o aplicativo de mídia SIP com a prioridade mais baixa (nesse caso, o único aplicativo de mídia SIP de destino com prioridade 1).
-
O serviço então invoca a função AWS Lambda associada ao aplicativo de mídia SIP.
-
Opcional. Se o serviço não puder invocar o AWS Lambda associado com a prioridade mais baixa, ele tentará executar o aplicativo de mídia SIP com a próxima prioridade mais baixa, se houver. Nesse caso, há apenas um aplicativo de mídia SIP de destino.
-
Opcional. Se todas as aplicações de mídia SIP de destino falharem, o serviço de áudio PSTN desligará a chamada.
Além disso, é possível criar uma chamada de saída e, posteriormente, invocar a função do AWS Lambda para processamento adicional usando a API CreateSIPMediaApplicationCall. Para usar essa API, você especifica o ID do aplicativo de mídia SIP provisionado como um parâmetro.
Por fim, é possível acionar a função do AWS Lambda a qualquer momento enquanto uma chamada está ativa usando a API UpdateSIPMediaApplicationCall. Para usar a API, você especifica o ID do aplicativo de mídia SIP provisionado como um parâmetro.