Componentes fundamentais da arquitetura RTC - Comunicação em tempo real na AWS

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á.

Componentes fundamentais da arquitetura RTC

No setor de telecomunicações, o RTC geralmente se refere a sessões de mídia ao vivo entre dois endpoints com latência mínima. Essas sessões podem estar relacionadas a:

  • Uma sessão de voz entre duas partes (como um sistema telefônico, celular ou Voz sobre IP (VoIP))

  • Mensagens instantâneas (como bate-papo e Instant Relay Chat (IRC))

  • Sessão de vídeo ao vivo (como videoconferência e telepresença)

Cada uma das soluções anteriores tem alguns componentes em comum (como componentes que fornecem autenticação, autorização e controle de acesso, transcodificação, armazenamento em buffer e retransmissão, etc.) e alguns componentes exclusivos do tipo de mídia transmitida (como serviço de transmissão, servidor de mensagens e filas, etc.). Esta seção se concentra na definição de um sistema RTC baseado em voz e vídeo e todos os componentes relacionados, conforme ilustrado na figura a seguir.

Um diagrama que descreve os componentes arquitetônicos essenciais do RTC.

Componentes arquitetônicos essenciais para RTC

Softswitch/PBX

Um softswitch ou PBX é o cérebro de um sistema de telefonia por voz e fornece inteligência para estabelecer, manter e rotear uma chamada de voz dentro ou fora da empresa usando componentes diferentes. Todos os assinantes da empresa precisam se registrar no softswitch para receber ou fazer uma chamada. Uma funcionalidade importante do softswitch é acompanhar cada assinante e como alcançá-los usando os outros componentes da rede de voz. 

Controlador de borda de sessão (SBC)

Um controlador de borda de sessão (SBC) fica na borda de uma rede de voz e acompanha todo o tráfego de entrada e saída (planos de controle e dados). Uma das principais responsabilidades de um SBC é proteger o sistema de voz contra o uso malicioso. O SBC pode ser usado para interconexão com troncos do protocolo de iniciação de sessão (SIP) para conectividade externa. Alguns SBCs também oferecem recursos de transcodificação para conversão CODECsde um formato para outro. A maioria SBCs também fornece recursos de travessia de tradução de endereços de rede (NAT), o que ajuda a garantir que as chamadas sejam estabelecidas, mesmo em redes com firewall.

Conectividade PSTN

As soluções de voz sobre IP (VoIP) usam gateways de rede telefônica pública comutada (PSTN) e troncos SIP para se conectar a redes PSTN antigas.

Gateway PSTN

O gateway PSTN converte a sinalização entre SIP e mídia entre o Real Time Transport Protocol (RTP) SS7 e a multiplexação por divisão de tempo (TDM) usando a transcodificação CODEC. Os gateways PSTN sempre ficam na borda próxima à rede PSTN.

Tronco SIP

Em um tronco SIP, a empresa não encerra suas chamadas em uma rede TDM (SS7 baseada), mas os fluxos entre a empresa e a empresa de telecomunicações permanecem por IP. A maioria dos troncos SIP é estabelecida usando. SBCs A empresa deve concordar com as regras de segurança predefinidas da empresa de telecomunicações, como permitir um determinado intervalo de endereços IP, portas e assim por diante.

Gateway de mídia (transcodificador)

Os usuários se comunicam em tempo real usando áudio e/ou vídeo, além de dados opcionais e outras informações. Para se comunicar, os dois dispositivos precisam ser capazes de concordar com um codec mutuamente compreendido para cada faixa de mídia, para que possam se comunicar e apresentar com sucesso a mídia compartilhada. Todos os navegadores compatíveis com WebRTC devem oferecer suporte ao usuário de posicionamento on-line (OPUS) e G711 para áudio e perfil de linha de base restrita VP8H.264 para vídeo. 

Uma solução de voz típica fora do ecossistema WebRTC permite vários tipos de. CODECs Algumas das mais comuns CODECs são G.711 µ-law para a América do Norte, G.711 A-law, G.729 e G.722. Quando dois dispositivos que usam dois dispositivos diferentes CODECs se comunicam entre si, o gateway de mídia traduz o fluxo de CODEC entre os dispositivos. Em outras palavras, um gateway de mídia processa a mídia e garante que os dispositivos finais possam se comunicar entre si.

Notificações push no WebRTC

As implementações do WebRTC são muito comuns em dispositivos móveis. Ao contrário dos navegadores da web, um dispositivo móvel não consegue manter a conectividade de um websocket aberta por muito tempo. Portanto, ele precisa contar com notificações push do servidor WebRTC para todas as solicitações finais, como chamadas e mensagens.

O Amazon Simple Notification Service (Amazon SNS) permite que você envie notificações push para aplicativos em dispositivos móveis. Esses aplicativos podem ser executados em vários sistemas operacionais, como Apple iOS ou Android. A figura a seguir mostra uma visão geral de alto nível do fluxo de notificações push, de um servidor de notificação WebRTC para endpoints móveis WebRTC.

Um diagrama que mostra o Amazon SNS para notificações push.

Amazon SNS para notificações push

WebRTC e gateway WebRTC

A comunicação em tempo real na Web (WebRTC) permite que você estabeleça uma chamada a partir de um navegador da Web ou solicite recursos do servidor de back-end usando a API. A tecnologia foi projetada com a tecnologia de nuvem em mente e, portanto, fornece várias APIs que podem ser usadas para estabelecer uma chamada. Como nem todas as soluções de voz (incluindo SIP) oferecem suporte a elas APIs, o gateway WebRTC é necessário para traduzir chamadas de API em mensagens SIP e vice-versa.   

A figura a seguir mostra um padrão de design para uma arquitetura WebRTC altamente disponível. O tráfego de entrada dos clientes WebRTC é balanceado por um Application Load Balancer (ALB) com o WebRTC executado em instâncias do Amazon Elastic Compute Cloud (Amazon) que fazem parte de um grupo do Amazon Auto Scaling. EC2 EC2

Uma topologia básica de um sistema RTC para voz.

Uma topologia básica de um sistema RTC para voz

Outro padrão de design para tráfego SIP e RTP é usar pares de EC2 na SBCs Amazon no modo ativo-passivo em todas as zonas de disponibilidade, conforme mostrado na figura a seguir. Aqui, um endereço IP elástico pode ser movido dinamicamente entre instâncias em caso de falha, onde o Domain Name Service (DNS) não pode ser usado.

Um diagrama que descreve a arquitetura RTC usando a Amazon EC2 em uma nuvem privada virtual (VPC).

Arquitetura RTC usando a Amazon EC2 em uma nuvem privada virtual (VPC)