Sådan indlæser du balance og skaber højt tilgængelige SIP- og PBX-tjenester

SENDT AF Zevenet | 6. marts, 2019

Oversigt

VoIP står for Voice Over Internet Protocol, som dækker alle telefonopkald foretaget via internettet, men for at gøre det rigtigt SIP protokol blev defineret.

SIP or Session Initiation Protocol er protokollen, der styrer multimediekommunikationssessioner, herunder opkald (stemme og video), så vi kan sige det SIP er en af ​​de specifikke protokoller, som VoIP afhængig.

I en mediekommunikationssession SIP protokollen er ansvarlig for signaleringsoperationerne, såsom initiering og afslutning af tale- eller videosamtaler. De meddelelser, som SIP kan etablere er unicast, med to parter, eller multicast, flere parter. Gennem SIP Protokollen kan eksisterende opkald ændres, for eksempel at invitere et andet medlem. Det SIP er designet på en måde, der er uafhængig af den underliggende transportlagsprotokol og kan bruges sammen med UDP, TCPog SCTP (Stream Control Transmission Protocol). SIP kan også arbejde sammen med andre protokoller, som kan angive medieformatet og bære medierne efter SIP opretter opkaldet. Routing af telefonopkald er også muligt fra a PBX telefonsystem til det eksterne netværk, hvor PBX (Private Branch Exchange) er et telefonskifte system, der er installeret hos en privat organisation med flere interne enheder.

Denne vejledning er nyttig til opsætning af populære SIP-tjenester som f.eks Stjerne, Websphere SIP proxy, SIP Foundry, Elastix, FreeSWITCH, OpenPBX af Voicetronix, PBXInAFlash, FreePBX, OpenSIPs, Kamailio, 3CX, Office SIP Server, osv., alle dem i høj tilgængelighed og klar til målestok.

Hvordan virker SIP-protokollen?

Lad os antage, at vi har to opkaldere, Bonnie og Clyde. Bonnie ringer til Clyde. Først og fremmest skal både Bonnie og Clydes telefoner registreres på en SIP-server. Registreringsprocessen mellem klienterne og registratortjenesten er:

1. Softphone-klienten sender en REGISTRER besked til SIP-serveren.
2. SIP-serveren reagerer med en 401 Uautoriseret besked inklusive en overskrift WWW-Godkend.
3. Klienten sender derefter igen REGISTRER anmodning til SIP-serveren inklusive Tilladelse header.
4. Hvis godkendelsen er korrekt, returnerer SIP-serveren a 200 OK svar på klienten. På nuværende tidspunkt kan klienten modtage og indlede opkald.

Denne registreringsproces vil også være meget tilgængelig via den proxy-belastningsafbalancering, som vi foreslår i denne artikel.

For at forstå bedre, hvordan et opkald mellem Bonnie og Clyde udføres, se nedenstående trin defineret i protokollen.

1. Bonnie starter et opkald til Clyde ved at sende en INVITERE besked
2. SIP-server A passerer INVITERE besked til modtager SIP server B
3. I mellemtiden, SIP server A svar 100 PRØVNING besked til Bonnie
4. SIP-server B passerer INVITERE besked til Clyde
5. I mellemtiden har en 100 PRØVNING besked til SIP Server A
6. Clydes enhed er nu 180 RINGING og overfører det til SIP Server B
7. SIP Server B sender dette 180 RINGING til SIP server A
8. SIP-server A formidler dette 180 RINGING til Bonnie
9. Clyde modtager opkaldet og sender 200 OK besked
10. Og formidler det 200 OK besked til SIP-serveren B
11. SIP-server A formidler dette 200 OK besked til Bonnie
12. En forbindelse er etableret mellem Bonnie og Clyde, hvor Bonnie sender direkte ACK til Clyde, og både Bonnie og Clyde kommunikerer direkte med hinanden
13. Enhver part fjerner forbindelsen fra opkaldet med a BYE
14. Den anden part sender bekræftelsen tilbage 200 OK

SIP belastningsbalanceringsmiljø

Kendskab til SIP-protokollens specifikationer er, at scenariet, som vi vil opnå i denne artikel, er at kunne skala SIP-serverne for at kunne håndtere et større antal softphones, der er registreret og håndtere højere antal opkald. Diagrammet herunder viser servicearkitekturen i et datacenter.

Lad os se nedenfor, hvordan du konfigurerer det.

SIP load balancing konfiguration

Før vi opretter den virtuelle service, skal vi oprette en dedikeret virtuel IP, da denne IP-adresse vil kunne modtage TCP or UDP rammer. For at opnå det, skal du gå til Netværk> Virtuelle grænseflader. Klik derefter på Handling> Opret virtuel grænseflade.

Vælg derefter Forældreinterface, grænseflade Navn og dens IP Adresse:

Nu er det tid til nemt at oprette SIP virtuel service i de standardporte, der bruges af SIP-tjenester TCP og / eller UDP 5060 or 5061. Havn 5060 bruges almindeligvis til ikke-krypteret signaltrafik og port 5061 bruges typisk til trafik krypteret med TLS (Transport Layer Security).

Med Zevenet Load Balancer opnår vi denne konfiguration ved at skabe en LSLB gårdsprofil L4xNAT med havne 5060 or 5061. I den virtuelle tjeneste understøttes både krypteret og ikke-krypteret kommunikation samtidig, hvis portene er angivet i den virtuelle tjeneste.

For at gøre det skal du gå til LSLB> Gårde og opret en ny som vist nedenfor.

Efter oprettelsen skal du klikke på Avanceret, Vælg SIP as Protokol Type. På nuværende tidspunkt aktiveres lag 4 SIP proxy i den aktuelle virtuelle tjeneste for at indlæse balancen korrekt registrering og opkald fra brugerne. Vi anbefaler også NAT as NAT type men DNAT kan også bruges til at få klientens kilde-IP. Til sidst skal du klikke på Opdatering for at anvende ændringerne.

Endelig skal du oprette backendene, klikke på Serviceydelser, og under underliggende programmer sektion klik på Handling> Tilføj backend.

Udfyld IP, port, Vægt og klik på Gem handling for at anvende ændringerne.

Tilføj så mange SIP-servere, du har brug for til at skala din service. Du kan nu bruge Virtual IP som SIP virtuel service i dine softphones og klienter på en meget tilgængelig, pålidelig og skalerbar måde.

Avancerede SIP Health Checks

I de seneste Zevenet-udgivelser kan du bruge en avanceret sundhedstjek, specielt til SIP-tjenester, hvor belastningsbalanceren udfører dummy SIP-opkald til alle SIP-servere, der er konfigureret som backends for at sikre, at SIP-læsningstjenesterne fungerer korrekt.

Hvis der ikke allerede er oprettet en check_sip Farm Guardian kommando, og opret den derefter i Overvågning> Farmguardian sektion, som det er vist nedenfor.

For bedre at forstå de muligheder, der er inkluderet i check_sip kommando, henvis venligst til sundhedstjekkerens hjælp.

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

I betragtning af vores eksempel kan vi definere vores sundhedstjekker i Farm Guardian sektion, som det er vist nedenfor.

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

Bemærk, at symbolet HOST vil blive ændret i runtime med hver SIP-backend konfigureret i gården.

SIP Application Delivery Clustering

Zevenet giver også mulighed for at indstille SIP skalerbar leveringstjeneste i høj tilgængelighed ved hjælp af en clusteringstjeneste mellem to redundante enheder. Venligst indsæt en anden Zevenet enhed og henvis til System> Klynge afsnit for at konfigurere det i høj tilgængelighed.

Forbedre SIP-sikkerhed

Anvend et sikkerhedslag til en offentlig SIP-tjeneste er ganske let ved hjælp af IPDS-modulet, der tillader blacklisting, real-time blackhole lister og DoS-beskyttelse blandt andre. Se venligst på IPDS afsnit fra hovedmenuen for at få flere oplysninger om beskyttelse af en offentlig SIP-tjeneste.

VoIP telefon klient konfiguration

Når vores SIP-tjeneste er klar til at skalere, opsætte høj tilgængelighed og med forbedret sikkerhed, er det tid til at konfigurere den nye tjeneste i softphones og klienter. I dette tilfælde anbefaler vi at opsætte en DNS-post, der løser til VIP-adressen eller en offentlig IP-adresse til den virtuelle tjeneste. Sådan DNS or FQDN Navnet på vores virtuelle SIP-tjeneste vil være den, der skal bruges på klientsiden, i stedet for at have en rigtig konfigureret SIP IP-adresse. Denne konfiguration giver fleksibiliteten til at indlæse afbalancering af klienterne nemt og automatisk.

På den anden side anbefaler vi, at du konfigurerer en lavere holdbar timeout på kundens side for at tvinge registreringen mere normalt, som hvis en SIP-server registreres som nede, bemærker klienten det og forsøger at genoprette forbindelse hurtigt til endnu en.

Nu kan du bare nyde din SIP-skalerbar service!

Del på:

Dokumentation i henhold til GNU Free Documentation License.

Var denne artikel til hjælp?

Relaterede artikler