Hoe de balans te laden en zeer beschikbare SIP- en PBX-services te maken

GEPOST DOOR Zevenet | 6 maart 2019

Overzicht

VoIP staat voor Voice Over Internet Protocol, die alle telefoongesprekken via internet omvat, maar om het echt te maken SIP protocol is gedefinieerd.

SIP or Session Initiation Protocol is het protocol dat multimediacommunicatiesessies beheert, inclusief oproepen (spraak en video), dus dat kunnen we zeggen SIP is een van de specifieke protocollen die VoIP vertrouwt op.

In een mediacommunicatiesessie, de SIP protocol is verantwoordelijk voor de signalering, zoals het initiëren en beëindigen van spraak- of video-oproepen. De communicatie die SIP kan vastleggen unicast zijn, met twee partijen, of multicast, meerdere partijen. Door het SIP protocol, bestaande oproepen kunnen worden gewijzigd, bijvoorbeeld door een ander lid uit te nodigen. De SIP is ontworpen op een manier die onafhankelijk is van het onderliggende transportlaagprotocol en waarmee kan worden gewerkt UDP, TCP en SCTP (Stream Control Transmission Protocol). SIP kan ook samen met andere protocollen werken, die het mediaformaat kunnen specificeren en de media daarna kunnen dragen SIP stelt de oproep in. Het routeren van telefoongesprekken is ook mogelijk vanaf een PBX telefoonsysteem naar het externe netwerk, waar PBX (Private Branch Exchange) is een telefoonschakelsysteem dat is geïnstalleerd in een particuliere organisatie met verschillende interne apparaten.

Deze handleiding is handig voor het instellen van populaire SIP-services zoals Asterisk, Websphere SIP-proxy, SIP Foundry, Elastix, FreeSWITCH, OpenPBX door Voicetronix, PBXInAFlash, FreePBX, OpenSIPs, Kamailio, 3CX, Office SIP-server, enz., allemaal in hoge beschikbaarheid en klaar om te schalen.

Hoe werkt het SIP-protocol?

Stel dat we twee bellers hebben, Bonnie en Clyde. Bonnie belt Clyde. Allereerst moeten de telefoons van zowel Bonnie als Clyde zijn geregistreerd op een SIP-server. Het registratieproces tussen de klanten en de registrar-service is:

1. De softphone-client verzendt een REGISTREREN bericht naar de SIP-server.
2. De SIP-server reageert met een 401 ongeautoriseerd bericht inclusief een koptekst WWW-Authenticate.
3. De client verzendt vervolgens het REGISTREREN verzoek aan de SIP-server inclusief de autorisatie header.
4. Als de authenticatie correct is, retourneert de SIP-server een 200 OK reactie op de klant. In dit stadium kan de client oproepen ontvangen en initiëren.

Dit registratieproces is ook in hoge mate beschikbaar via de proxy-load balancer die we in dit artikel voorstellen.

Om beter te begrijpen hoe een gesprek tussen Bonnie en Clyde wordt uitgevoerd, raadpleegt u hieronder de stappen die in het protocol zijn gedefinieerd.

1. Bonnie begint een telefoontje naar Clyde door een NODIG UIT bericht
2. SIP-server A passeert de NODIG UIT bericht naar ontvanger SIP-server B
3. Ondertussen SIP-server A antwoorden 100 PROBEREN bericht aan Bonnie
4. SIP-server B passeert de NODIG UIT bericht aan Clyde
5. Ondertussen een 100 PROBEREN bericht naar SIP-server A
6. Clyde's apparaat is nu 180 BELLEN en verzendt het naar SIP Server B
7. SIP-server B verzendt dit 180 BELLEN naar SIP-server A
8. SIP-server A brengt dit over 180 BELLEN naar Bonnie
9. Clyde ontvangt de oproep en verzendt 200 OK bericht
10. En brengt het over 200 OK bericht naar de SIP-server B
11. SIP-server A brengt dit over 200 OK bericht aan Bonnie
12. Er wordt een verbinding tot stand gebracht tussen Bonnie en Clyde, waar Bonnie rechtstreeks uitzendt ACK aan Clyde, en zowel Bonnie als Clyde communiceren direct met elkaar
13. Elke partij verbreekt de verbinding met een gesprek DOEI
14. De andere partij stuurt de bevestiging terug 200 OK

SIP load balancing-omgeving

Als we de SIP-protocolspecificaties kennen, is het scenario dat we in dit artikel willen bereiken, dat we de SIP-servers kunnen schalen om grotere aantallen geregistreerde telefoons te kunnen verwerken en hogere aantallen oproepen te kunnen beheren. Het onderstaande diagram toont de service-architectuur in een datacenter.

Laten we hieronder kijken hoe we het moeten configureren.

Configuratie SIP-belastingsverdeling

Voordat we de virtuele service instellen, moeten we een speciale account maken virtuele IP, aangezien dit IP-adres kan worden ontvangen TCP or UDP frames. Ga hiervoor naar Netwerk> Virtuele interfaces. Klik vervolgens op Actie> Virtuele interface maken.

Selecteer vervolgens Ouder interface, interface Naam en zijn IP Adres:

Nu is het tijd om de SIP virtuele service eenvoudig in te stellen in de standaardpoorten die door SIP-services worden gebruikt TCP en / of UDP 5060 or 5061. Haven 5060 wordt vaak gebruikt voor niet-gecodeerd signaleringsverkeer en -poort 5061 wordt meestal gebruikt voor verkeer dat is versleuteld met TLS (Transport Layer Security).

Met Zevenet Load Balancer bereiken we deze configuratie door een LSLB boerderijprofiel L4xNAT met poorten 5060 or 5061. In de virtuele service worden zowel gecodeerde als niet-gecodeerde communicatie tegelijkertijd ondersteund als de poorten worden vermeld in de virtuele service.

Ga hiervoor naar LSLB> Boerderijen en maak een nieuwe zoals hieronder wordt weergegeven.

Klik na het maken op Geavanceerdselecteer SIP as Protocol Type. In dit stadium wordt de laag 4 SIP-proxy ingeschakeld in de huidige virtuele service om het saldo en de oproepen van de gebruikers correct te laden. We raden ook aan NAT as NAT type maar DTA kan ook worden gebruikt om het bron-IP-adres van de klant te verkrijgen. Klik ten slotte op bijwerken om de wijzigingen toe te passen.

Stel tenslotte de backends in, klik op Diensten, en onder de backends sectie klik op Actie> Backend toevoegen.

Vul de IP, Haven, Gewicht en klik op de Opslaan actie om de wijzigingen toe te passen.

Voeg zoveel SIP-servers toe als u nodig hebt om uw service te schalen. U kunt nu de Virtueel IP als de virtuele SIP-service in uw softphones en clients op een zeer beschikbare, betrouwbare en schaalbare manier.

Geavanceerde SIP-gezondheidschecks

In de nieuwste releases van Zevenet kunt u een geavanceerde statuscontrole gebruiken speciaal voor SIP-services waarbij de load balancer dummy SIP-oproepen uitvoert naar alle SIP-servers die zijn geconfigureerd als backends om ervoor te zorgen dat de SIP-leesservices correct worden uitgevoerd.

In het geval dat er nog geen is gemaakt a check_sip Farm Guardian commando, maak het dan in de Monitoring> Farmguardian sectie zoals hieronder weergegeven.

Om de opties die zijn opgenomen in de check_sip commando, raadpleeg dan de hulp van de health checker.

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

Gezien ons voorbeeld kunnen we onze health checker definiëren in de Farm Guardian sectie zoals hieronder weergegeven.

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

Houd er rekening mee dat de token HOST in runtime wordt gewijzigd met elke SIP-back-end die in de farm is geconfigureerd.

SIP Application Delivery Clustering

Zevenet biedt ook de mogelijkheid om de SIP-schaalbare bezorgservice in hoge beschikbaarheid in te stellen met behulp van een clusterservice tussen twee redundante eenheden. Installeer alstublieft een andere Zevenet-eenheid en raadpleeg de Systeem> Cluster sectie om het in hoge beschikbaarheid te configureren.

SIP-beveiliging verbeteren

Een beveiligingslaag toepassen op een openbare SIP-service is vrij eenvoudig met behulp van de IPDS-module die onder andere blacklisting, real-time blackhole-lijsten en DoS-beveiliging toestaat. Raadpleeg de IPDS sectie uit het hoofdmenu om meer informatie te hebben over de bescherming van een openbare SIP-service.

VoIP-telefoonclients configureren

Zodra onze SIP-service klaar is om te schalen, hoge beschikbaarheid en verbeterde beveiliging heeft, is het tijd om de nieuwe service in de softphones en clients te configureren. In dit geval raden we aan om een ​​DNS-vermelding in te stellen die naar het VIP-adres of een openbaar IP-adres voor de virtuele service leidt. Zo'n DNS or FQDN de naam voor onze virtuele SIP-service is degene die aan de clientzijde wordt gebruikt, in plaats van dat een echt SIP-IP-adres is geconfigureerd. Deze configuratie biedt de flexibiliteit om de clients gemakkelijk en automatisch te laden.

Aan de andere kant raden we aan om een ​​lagere time-out voor keep-alive aan de kant van de client in te stellen om de registratie vaker te forceren, omdat in het geval dat een SIP-server als down wordt gedetecteerd, de client dit opmerkt en opnieuw probeert om snel verbinding te maken met nog een.

Geniet nu gewoon van uw schaalbare SIP-service!

Delen op:

Documentatie onder de voorwaarden van de GNU-licentie voor vrije documentatie.

Was dit artikel behulpzaam?

Gerelateerde artikelen