Componentes fundamentales de la arquitectura RTC - Comunicación en tiempo real en AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Componentes fundamentales de la arquitectura RTC

En el sector de las telecomunicaciones, el RTC suele hacer referencia a sesiones multimedia en directo entre dos puntos finales con una latencia mínima. Estas sesiones podrían estar relacionadas con:

  • Una sesión de voz entre dos partes (como un sistema telefónico, un teléfono móvil o voz sobre IP (VoIP))

  • Mensajería instantánea (como el chat y el chat de retransmisión instantánea (IRC))

  • Sesión de vídeo en directo (como videoconferencia y telepresencia)

Cada una de las soluciones anteriores tiene algunos componentes en común (como los componentes que proporcionan autenticación, autorización y control de acceso, transcodificación, almacenamiento en búfer y retransmisión, etc.) y algunos componentes exclusivos del tipo de medio transmitido (como el servicio de transmisión, el servidor de mensajería y las colas, etc.). Esta sección se centra en la definición de un sistema RTC basado en voz y vídeo y todos los componentes relacionados, como se muestra en la siguiente figura.

Un diagrama que muestra los componentes arquitectónicos esenciales del RTC.

Componentes arquitectónicos esenciales para el RTC

SoftSwitch/PBX

Un softswitch o PBX es el cerebro de un sistema de telefonía de voz y proporciona inteligencia para establecer, mantener y enrutar una llamada de voz dentro o fuera de la empresa mediante el uso de diferentes componentes. Todos los suscriptores de la empresa deben registrarse en el softswitch para recibir o realizar una llamada. Una funcionalidad importante del softswitch es realizar un seguimiento de cada suscriptor y saber cómo comunicarse con él mediante el resto de componentes de la red de voz. 

Controlador de borde de sesión (SBC)

Un controlador fronterizo de sesión (SBC) se encuentra en el extremo de una red de voz y realiza un seguimiento de todo el tráfico entrante y saliente (tanto en el plano de control como en el de datos). Una de las principales responsabilidades de un SBC es proteger el sistema de voz del uso malintencionado. El SBC se puede utilizar para interconectarse con los enlaces troncales del protocolo de inicio de sesión (SIP) para la conectividad externa. Algunos SBCs también ofrecen capacidades de transcodificación para la conversión CODECsde un formato a otro. La mayoría SBCs también ofrecen capacidades transversales de traducción de direcciones de red (NAT), lo que ayuda a garantizar que las llamadas se establezcan, incluso a través de redes protegidas por firewalls.

Conectividad PSTN

Las soluciones de voz sobre IP (VoIP) utilizan pasarelas de red telefónica pública conmutada (PSTN) y enlaces troncales SIP para conectarse con redes PSTN antiguas.

Puerta de enlace PSTN

La puerta de enlace PSTN convierte la señalización entre el SIP SS7 y los medios entre el protocolo de transporte en tiempo real (RTP) y la multiplexación por división de tiempo (TDM) mediante la transcodificación de CODEC. Las pasarelas PSTN siempre se encuentran en el borde cercano a la red PSTN.

Enlace troncal SIP

En un enlace troncal SIP, la empresa no finaliza sus llamadas a una red TDM (SS7 basada en TDM), sino que los flujos entre la empresa y la empresa de telecomunicaciones permanecen a través de IP. La mayoría de los enlaces troncales SIP se establecen mediante el uso de. SBCs La empresa debe aceptar las reglas de seguridad predefinidas de la empresa de telecomunicaciones, como permitir un cierto rango de direcciones IP, puertos, etc.

Pasarela multimedia (transcodificador)

Los usuarios se comunican en tiempo real mediante audio o vídeo, así como datos opcionales y otra información. Para comunicarse, los dos dispositivos deben poder ponerse de acuerdo sobre un códec que se comprenda mutuamente para cada pista multimedia, de modo que puedan comunicarse y presentar correctamente el contenido multimedia compartido. Todos los navegadores compatibles con WebRTC deben admitir el soporte de usuario de posicionamiento en línea (OPUS) y el G711 para el audio VP8, y el perfil de línea base restringida H.264 para el vídeo. 

Una solución de voz típica fuera del ecosistema WebRTC permite varios tipos de. CODECs Algunos de los más comunes CODECs son G.711 µ-law para América del Norte, G.711 A-law, G.729 y G.722. Cuando dos dispositivos que utilizan dos dispositivos diferentes se CODECs comunican entre sí, la pasarela multimedia traduce el flujo de códecs entre los dispositivos. En otras palabras, una pasarela multimedia procesa los medios y garantiza que los dispositivos finales puedan comunicarse entre sí.

Notificaciones push en WebRTC

Las implementaciones de WebRTC son muy comunes en los dispositivos móviles. A diferencia de los navegadores web, un dispositivo móvil no puede mantener abierta la conectividad de un websocket durante mucho tiempo. Por lo tanto, debe confiar en las notificaciones push del servidor WebRTC para todas las solicitudes finales, como llamadas y mensajes.

Amazon Simple Notification Service (Amazon SNS) le permite enviar notificaciones push a aplicaciones de dispositivos móviles. Estas aplicaciones podrían ejecutarse en varios sistemas operativos, como Apple iOS o Android. La siguiente figura muestra una descripción general de alto nivel del flujo de notificaciones push, desde un servidor de notificaciones WebRTC hasta los puntos finales móviles de WebRTC.

Un diagrama que muestra Amazon SNS para las notificaciones push.

Amazon SNS para notificaciones push

WebRTC y puerta de enlace WebRTC

La comunicación web en tiempo real (WebRTC) le permite establecer una llamada desde un navegador web o solicitar recursos del servidor back-end mediante la API. La tecnología está diseñada pensando en la tecnología de la nube y, por lo tanto, proporciona varias APIs que se pueden utilizar para establecer una llamada. Como no todas las soluciones de voz (incluido el SIP) las admiten APIs, se requiere la puerta de enlace WebRTC para traducir las llamadas a la API en mensajes SIP y viceversa.   

La siguiente figura muestra un patrón de diseño para una arquitectura WebRTC de alta disponibilidad. El tráfico entrante de los clientes de WebRTC se equilibra mediante un Application Load Balancer (ALB) y WebRTC se ejecuta en instancias de Amazon Elastic Compute Cloud (Amazon) que forman parte de un grupo de EC2 Amazon Auto Scaling. EC2

Topología básica de un sistema RTC para voz.

Topología básica de un sistema RTC para voz

Otro patrón de diseño para el tráfico SIP y RTP consiste en utilizar pares de SBCs en Amazon en modo activo-pasivo EC2 en todas las zonas de disponibilidad, como se muestra en la siguiente figura. En este caso, una dirección IP elástica se puede mover dinámicamente entre instancias en caso de fallo, cuando no se puede utilizar el servicio de nombres de dominio (DNS).

Un diagrama que muestra la arquitectura RTC con Amazon EC2 en una nube privada virtual (VPC).

Arquitectura RTC con Amazon EC2 en una nube privada virtual (VPC)