Come bilanciare il carico e creare servizi SIP e PBX altamente disponibili

PUBBLICATO DA Zevenet | 6 marzo, 2019

Descrizione

VoIP sta per Voice Over Internet Protocol, che copre tutte le chiamate telefoniche effettuate tramite Internet ma al fine di renderlo reale SIP protocollo è stato definito.

SIP or Protocollo di Inizializzazione Sessione è il protocollo che gestisce le sessioni di comunicazione multimediale comprese le chiamate (voce e video), quindi possiamo dirlo SIP è uno dei protocolli specifici che VoIP si affida

In una sessione di comunicazione multimediale, il SIP il protocollo è responsabile delle operazioni di segnalazione, come l'avvio e la conclusione di chiamate vocali o video. Le comunicazioni che SIP in grado di stabilire sono unicast, con due parti, o multicast, più parti. Tramite la SIP protocollo, le chiamate esistenti possono essere modificate, ad esempio, invitando un altro membro. Il SIP è progettato in modo indipendente dal protocollo del livello di trasporto sottostante e può essere utilizzato con UDP, TCPe SCTP (Stream Control Transmission Protocol). SIP può anche funzionare insieme ad altri protocolli, che possono specificare il formato multimediale e portare il supporto dopo SIP imposta la chiamata. Il routing delle chiamate telefoniche è possibile anche da a PBX sistema telefonico alla rete esterna, dove PBX (Scambio di filiali private) è un sistema di commutazione telefonica installato in un'organizzazione privata con diversi dispositivi interni.

Questa guida è utile per l'impostazione di servizi SIP popolari come asterisco, Proxy SIP Websphere, SIP Foundry, Elastix, FreeSWITCH, OpenPBX di Voicetronix, PBXInAFlash, FreePBX, opensips, Kamailio, 3CX, Server SIP di Office, ecc., tutti in alta disponibilità e pronti per essere scalati.

Come funziona il protocollo SIP?

Supponiamo di avere due chiamanti, Bonnie e Clyde. Bonnie sta chiamando Clyde. Prima di tutto, sia i telefoni di Bonnie che quelli di Clyde devono essere registrati su un server SIP. Il processo di registrazione tra i client e il servizio di registrazione è:

1. Il client softphone invia un REGISTRATI messaggio al server SIP.
2. Il server SIP risponde con a 401 Non autorizzato messaggio che include un'intestazione WWW-Authenticate.
3. Il client quindi invia nuovamente il REGISTRATI richiesta al server SIP incluso il Autorizzazione intestazione.
4. Se l'autenticazione è corretta, il server SIP restituisce a 200 OK risposta al cliente. In questa fase, il cliente è in grado di ricevere e avviare chiamate.

Questo processo di registrazione sarà anche altamente disponibile tramite il bilanciatore del carico proxy che proponiamo in questo articolo.

Per capire meglio come viene eseguita una chiamata tra Bonnie e Clyde, vedere sotto i passaggi definiti nel protocollo.

1. Bonnie inizia una chiamata a Clyde inviando un messaggio INVITARE messaggio
2. Server SIP A passa il INVITARE messaggio al server SIP del destinatario B
3. Nel frattempo, server SIP A risposte 100 TRYING messaggio a Bonnie
4. Server SIP B passa il INVITARE messaggio a Clyde
5. Nel frattempo, un 100 TRYING messaggio al server SIP A
6. Il dispositivo di Clyde è ora 180 RINGING e lo trasmette al server SIP B
7. Server SIP B invia questo 180 RINGING al server SIP A
8. Server SIP A trasmette questo 180 RINGING a Bonnie
9. Clyde riceve la chiamata e invia 200 OK messaggio
10 E lo trasmette 200 OK messaggio al server SIP B
11 Server SIP A trasmette questo 200 OK messaggio a Bonnie
12 Viene stabilita una connessione tra Bonnie e Clyde, dove Bonnie invia direttamente ACK a Clyde, e sia Bonnie che Clyde comunicano direttamente tra loro
13 Qualsiasi parte si disconnette dalla chiamata con a ADDIO
14 L'altra parte restituisce il riconoscimento 200 OK

Ambiente di bilanciamento del carico SIP

Conoscendo le specifiche del protocollo SIP, lo scenario che vogliamo raggiungere in questo articolo è quello di essere in grado di scalare i server SIP in modo da essere in grado di gestire un numero maggiore di softphone registrati e gestire un maggior numero di chiamate. Lo schema seguente mostra l'architettura di servizio in un centro dati.

Vediamo di seguito come configurarlo.

Configurazione del bilanciamento del carico SIP

Prima di impostare il servizio virtuale, dobbiamo creare un servizio dedicato IP virtuale, poiché questo indirizzo IP sarà in grado di ricevere TCP or UDP telai. Per ottenere ciò, vai a Rete> Interfacce virtuali. Quindi fare clic su Azione> Crea interfaccia virtuale.

Quindi, selezionare Interfaccia genitore, interfaccia Nome e il suo IP Indirizzo:

Ora è il momento di configurare facilmente il servizio virtuale SIP nelle porte standard utilizzate dai servizi SIP TCP e / o UDP 5060 or 5061. Porta 5060 è comunemente usato per il traffico e la porta di segnalazione non crittografati 5061 viene in genere utilizzato per il traffico crittografato con TLS (Transport Layer Security).

Con Zevenet Load Balancer, otteniamo questa configurazione creando a LSLB profilo della fattoria L4xNAT con le porte 5060 or 5061. Nel servizio virtuale, le comunicazioni crittografate e non crittografate sono supportate contemporaneamente se le porte sono elencate nel servizio virtuale.

Per farlo, vai su LSLB> Fattorie e creane uno nuovo come mostrato di seguito.

Dopo aver creato, fare clic su Avanzate, Selezionare SIP as Tipo di protocollo. In questa fase, il proxy 4 SIP di livello verrà abilitato nel servizio virtuale corrente per bilanciare correttamente la registrazione e le chiamate degli utenti. Inoltre, ti consigliamo NAT as Tipo NAT ma DTA può essere utilizzato anche per ottenere l'IP di origine del client. Infine, fare clic su aggiornare per applicare le modifiche.

Infine, imposta i backend, fai clic su Servizie sotto il backend sezione clicca su Azione> Aggiungi backend.

Riempire il IP, Porto, Peso e fare clic sul Risparmi azione per applicare le modifiche.

Aggiungi tutti i server SIP necessari per scalare il tuo servizio. Ora puoi usare il IP virtuale come il servizio virtuale SIP nei tuoi softphone e client in un modo altamente disponibile, affidabile e scalabile.

Controlli sanitari avanzati SIP

Nelle ultime versioni di Zevenet, è possibile utilizzare un health check avanzato specifico per i servizi SIP in cui il bilanciamento del carico esegue chiamate SIP fittizie su tutti i server SIP configurati come back-end per garantire che i servizi di lettura SIP siano attivi e funzionanti correttamente.

Nel caso in cui non ci sia già creato a check_sip Comando Farm Guardian, quindi crearlo in Monitoraggio> Farmguardian sezione come mostrato di seguito.

Al fine di comprendere meglio le opzioni incluse nel check_sip comando, fare riferimento all'aiuto del correttore sanitario.

usage: ./check_sip [ options ] FROM TO
Makes SIP call from FROM to TO, sends voice from multiple
files to peer. Content in files need to be PCMU/8000 and
could be recorded with samples/invite_and_recv.pl

Options:
  -d|--debug                   Enable debugging
  -h|--help                    Help (this info)
  -P|--proxy host[:port]       use outgoing proxy, register there unless registrar given
  -R|--registrar host[:port]   register at given address
  -S|--send filename           send content of file, can be given multiple times
  -L|--leg ip[:port]           use given local ip[:port] for outgoing leg
  -T|--timeout T               timeout and cancel invite after T seconds, default 30
  --username name              username for authorization
  --password pass              password for authorization

Examples:
  ./check_sip -T 10 -S welcome.data -S announce.data sip:30@192.168.178.4 sip:31@192.168.178.1
  ./check_sip --username 30 --password secret --proxy=192.168.178.3
     -S holy.data sip:30@example.com 31

Dato il nostro esempio, possiamo definire il nostro correttore di salute in Guardiano della fattoria sezione come mostrato di seguito.

./check_sip -T 9 -S welcome.data -S announce.data sip:Bonnie@192.168.56.201 sip:Clyde@HOST

Si noti che l'HOST del token verrà modificato in runtime con ogni backend SIP configurato nella farm.

Cluster di consegna applicazioni SIP

Zevenet offre inoltre la possibilità di impostare il servizio di distribuzione scalabile SIP in alta disponibilità utilizzando un servizio di clustering tra due unità ridondanti. Si prega di distribuire un'altra unità Zevenet e fare riferimento al Sistema> Cluster sezione per configurarlo in alta disponibilità.

Miglioramento della sicurezza SIP

Applicare un livello di sicurezza a un servizio SIP pubblico è abbastanza semplice utilizzando il modulo IPDS che consente la lista nera, gli elenchi blackhole in tempo reale e la protezione DoS, tra gli altri. Si prega di fare riferimento al IPDS sezione dal menu principale per avere maggiori dettagli sulla protezione di un servizio SIP pubblico.

Configurazione dei client telefonici VoIP

Una volta che il nostro servizio SIP è pronto per scalare, impostare l'alta disponibilità e con una maggiore sicurezza, è il momento di configurare il nuovo servizio nei softphone e nei client. In questo caso, si consiglia di impostare una voce DNS che risolva l'indirizzo VIP o un indirizzo IP pubblico per il servizio virtuale. Come DNS or FQDN il nome per il nostro servizio SIP virtuale sarà quello da utilizzare sul lato client, invece di avere un vero indirizzo IP SIP configurato. Questa configurazione offre la flessibilità per bilanciare il carico dei client in modo semplice e automatico.

D'altra parte, si consiglia di configurare un timeout keep-alive inferiore nel lato client per forzare la registrazione più spesso, come nel caso in cui qualsiasi server SIP venga rilevato come down, il client lo noti e riprovare a riconnettersi rapidamente a un altro.

Ora, goditi il ​​tuo servizio scalabile SIP!

Condividere su:

Documentazione sotto i termini della GNU Free Documentation License.

questo articolo è stato utile?

Articoli Correlati