Componenti fondamentali dell'architettura RTC - Comunicazione in tempo reale su AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Componenti fondamentali dell'architettura RTC

Nel settore delle telecomunicazioni, RTC si riferisce comunemente a sessioni multimediali in diretta tra due endpoint con una latenza minima. Queste sessioni potrebbero essere correlate a:

  • Una sessione vocale tra due parti (ad esempio un sistema telefonico, un cellulare o Voice over IP (VoIP))

  • Messaggistica istantanea (ad esempio chat e Instant Relay Chat (IRC))

  • Sessione video in diretta (ad esempio videoconferenze e telepresenza)

Ciascuna delle soluzioni precedenti presenta alcuni componenti in comune (ad esempio componenti che forniscono autenticazione, autorizzazione e controllo degli accessi, transcodifica, buffering e inoltro e così via) e alcuni componenti specifici del tipo di file multimediale trasmesso (come il servizio di trasmissione, il server di messaggistica e le code e così via). Questa sezione si concentra sulla definizione di un sistema RTC basato su voce e video e di tutti i relativi componenti, come illustrato nella figura seguente.

Un diagramma che illustra i componenti architettonici essenziali per RTC.

Componenti architettonici essenziali per RTC

SoftSwitch/PBX

Un softswitch o PBX è il cervello di un sistema di telefonia vocale e fornisce informazioni per stabilire, gestire e instradare una chiamata vocale all'interno o all'esterno dell'azienda utilizzando diversi componenti. Tutti gli abbonati dell'azienda devono registrarsi con il softswitch per ricevere o effettuare una chiamata. Una funzionalità importante del softswitch consiste nel tenere traccia di ogni abbonato e di come raggiungerlo utilizzando gli altri componenti della rete vocale. 

Session border controller (SBC)

Un session border controller (SBC) si trova ai margini di una rete vocale e tiene traccia di tutto il traffico in entrata e in uscita (sia sul piano di controllo che su quello dati). Una delle responsabilità principali di un SBC è proteggere il sistema vocale da un uso malevolo. L'SBC può essere utilizzato per interconnettersi con i trunk SIP (Session Initiation Protocol) per la connettività esterna. Alcuni offrono SBCs anche funzionalità di transcodifica per la conversione da un formato all'altro. CODECs La maggior parte offre SBCs anche funzionalità di attraversamento degli indirizzi di rete (NAT), che aiutano a garantire che le chiamate vengano stabilite, anche su reti dotate di firewall.

Connettività PSTN

Le soluzioni Voice over IP (VoIP) utilizzano gateway PSTN (Public Switched Telephone Network) e trunk SIP per connettersi alle reti PSTN precedenti.

Gateway PSTN

Il gateway PSTN converte la segnalazione tra SIP e media tra Real Time Transport Protocol (RTP) SS7 e Time Division Multiplexing (TDM) utilizzando la transcodifica CODEC. I gateway PSTN si trovano sempre nella periferia, vicino alla rete PSTN.

Tronco SIP

In un trunk SIP, l'azienda non termina le chiamate su una rete TDM (SS7 basata), ma piuttosto i flussi tra l'azienda e le telecomunicazioni rimangono su IP. La maggior parte dei SIP Trunk viene creata utilizzando. SBCs L'azienda deve concordare le regole di sicurezza predefinite delle telecomunicazioni, ad esempio consentire un determinato intervallo di indirizzi IP, porte e così via.

Gateway multimediale (transcodificatore)

Gli utenti comunicano in tempo reale utilizzando audio e/o video, oltre a dati opzionali e altre informazioni. Per comunicare, i due dispositivi devono essere in grado di concordare un codec di reciproca comprensione per ogni traccia multimediale, in modo da poter comunicare e presentare correttamente i contenuti multimediali condivisi. Tutti i browser compatibili con WebRTC devono supportare il supporto utente per il posizionamento online (OPUS) e G711 per l'audio e il profilo H.264 Constrained Baseline per il video. VP8 

Una tipica soluzione vocale al di fuori dell'ecosistema WebRTC consente vari tipi di. CODECs Alcuni dei più comuni CODECs sono G.711 µ-law per il Nord America, G.711 A-law, G.729 e G.722. Quando due dispositivi che utilizzano due dispositivi diversi CODECs comunicano tra loro, il gateway multimediale traduce il flusso di CODEC tra i dispositivi. In altre parole, un gateway multimediale elabora i contenuti multimediali e garantisce che i dispositivi finali siano in grado di comunicare tra loro.

Notifiche push in WebRTC

Le implementazioni WebRTC sono molto comuni sui dispositivi mobili. A differenza dei browser Web, un dispositivo mobile non può mantenere aperta una connettività websocket per molto tempo. Pertanto, deve fare affidamento sulle notifiche push del server WebRTC per tutte le richieste finali, come chiamate e messaggi.

Amazon Simple Notification Service (Amazon SNS) ti consente di inviare notifiche push alle app sui dispositivi mobili. Queste app potrebbero funzionare su vari sistemi operativi come Apple iOS o Android. La figura seguente mostra una panoramica di alto livello del flusso delle notifiche push, da un server di notifica WebRTC agli endpoint mobili WebRTC.

Un diagramma che illustra Amazon SNS per le notifiche push.

Amazon SNS per notifiche push

Gateway WebRTC e WebRTC

La comunicazione Web in tempo reale (WebRTC) consente di stabilire una chiamata da un browser Web o richiedere risorse dal server di backend utilizzando l'API. La tecnologia è progettata pensando alla tecnologia cloud e pertanto fornisce diverse opzioni APIs che possono essere utilizzate per stabilire una chiamata. Poiché non tutte le soluzioni vocali (incluso SIP) le supportano APIs, il gateway WebRTC è necessario per tradurre le chiamate API in messaggi SIP e viceversa.   

La figura seguente mostra un modello di progettazione per un'architettura WebRTC ad alta disponibilità. Il traffico in entrata dai client WebRTC è bilanciato da un Application Load Balancer (ALB) con WebRTC in esecuzione su istanze Amazon Elastic Compute Cloud (Amazon) che fanno parte di un gruppo Amazon Auto Scaling. EC2 EC2

Una topologia di base di un sistema RTC per la voce.

Una topologia di base di un sistema RTC per la voce

Un altro modello di progettazione per il traffico SIP e RTP consiste nell'utilizzare coppie di dati SBCs su Amazon EC2 in modalità attiva-passiva tra le zone di disponibilità, come illustrato nella figura seguente. Qui, un indirizzo IP elastico può essere spostato dinamicamente tra le istanze in caso di errore, laddove il Domain Name Service (DNS) non può essere utilizzato.

Un diagramma che illustra l'architettura RTC che utilizza Amazon EC2 in un cloud privato virtuale (VPC).

Architettura RTC che utilizza Amazon EC2 in un cloud privato virtuale (VPC)