Oversigt #
VoIP står for Voice Over Internet Protocol , som dækker alle telefonopkald foretaget via internettet, men for at gøre det virkeligt blev SIP- protokollen defineret.
SIP eller Session Initiation Protocol er den protokol, der administrerer multimediekommunikationssessioner, herunder opkald (tale og video), så vi kan sige, at SIP er en af de specifikke protokoller, som VoIP er afhængig af.
I en mediekommunikationssession er SIP- protokollen ansvarlig for signaleringsoperationerne, såsom initiering og afslutning af tale- eller videoopkald. Den kommunikation, som SIP kan etablere, er unicast med to parter eller multicast med flere parter. Gennem SIP- protokollen kan eksisterende opkald ændres, for eksempel ved at invitere et andet medlem. SIP er designet på en måde, der er uafhængig af den underliggende transportlagsprotokol og kan bruges med UDP , TCP og SCTP ( Stream Control Transmission Protocol ). SIP kan også fungere sammen med andre protokoller, som kan specificere medieformatet og overføre mediet, efter at SIP har oprettet opkaldet. Routing af telefonopkald er også muligt fra et PBX -telefonsystem til det eksterne netværk, hvor PBX ( Private Branch Exchange ) er et telefonomstillingssystem, der er installeret i en privat organisation med flere interne enheder.
Denne vejledning er nyttig til opsætning af populære SIP-tjenester såsom Asterisk , Websphere SIP proxy , SIP Foundry , Elastix , FreeSWITCH , OpenPBX by Voicetronix , PBXInAFlash , FreePBX , OpenSIPs , Kamailio , 3CX , Office SIP Server osv., alle med høj tilgængelighed og klar til skalering.
Hvordan fungerer 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 være registreret på en SIP-server. Registreringsprocessen mellem klienterne og registratortjenesten er:
1. Softphone-klienten sender en REGISTRER besked til SIP-serveren.
2. SIP-serveren svarer med et 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 en 200 OK svar til klienten. På dette stadium er klienten i stand til at modtage og starte opkald.
Denne registreringsproces vil også være meget tilgængelig gennem proxy-belastningsbalanceren, som vi foreslår i denne artikel.
For bedre at forstå, 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 modtagerens SIP-server B
3. I mellemtiden SIP-server A svar 100 PRØVER besked til Bonnie
4. SIP-server B passerer INVITERE besked til Clyde
5. I mellemtiden har en 100 PRØVER besked til SIP-serveren A
6. Clydes enhed er nu 180 RINGNING og sender det til SIP-serveren B
7. SIP Server B sender dette 180 RINGNING til SIP-server A
8. SIP-server A formidler dette 180 RINGNING 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. Der etableres en forbindelse mellem Bonnie og Clyde, hvor Bonnie sender direkte ACK til Clyde, og både Bonnie og Clyde kommunikerer direkte med hinanden
13. Begge parter afbryder forbindelsen fra opkaldet med en BYE
14. Den anden part sender kvitteringen tilbage 200 OK
SIP belastningsbalanceringsmiljø #
Når vi kender SIP-protokolspecifikationerne, er scenariet, som vi ønsker at opnå i denne artikel, at være i stand til at skalere SIP-serverne for at kunne håndtere et større antal registrerede softphones og administrere højere antal opkald. Diagrammet nedenfor viser servicearkitekturen i et datacenter.
Lad os se nedenfor, hvordan du konfigurerer det.
SIP-belastningsbalanceringskonfiguration #
Før vi konfigurerer den virtuelle tjeneste, skal vi oprette en dedikeret virtuel IP-adresse , da denne IP-adresse vil kunne modtage TCP- eller UDP- frames. For at opnå dette skal du gå til Netværk > Virtuelle grænseflader . Klik derefter på Handling > Opret virtuel grænseflade.
Vælg derefter Overordnet grænseflade , grænsefladenavn og dens IP- adresse :
Nu er det tid til nemt at konfigurere den virtuelle SIP-tjeneste i standardportene, der bruges af SIP-tjenesterne TCP og/eller UDP 5060 eller 5061. Port 5060 bruges almindeligvis til ikke-krypteret signaltrafik, og port 5061 bruges typisk til trafik krypteret med TLS ( Transport Layer Security ).
Med RELIANOID Load Balancer, vi opnår denne konfiguration ved at skabe en LSLB gård profil L4xNAT med havne 5060 or 5061. I den virtuelle tjeneste understøttes både krypteret og ikke-krypteret kommunikation på samme tid, hvis portene er angivet i den virtuelle tjeneste.
For at gøre det skal du gå til LSLB > Gårde og oprette en ny, som vist nedenfor.
Efter oprettelsen skal du klikke på Avanceret og vælge SIP som protokoltype . På dette tidspunkt vil lag 4 SIP-proxyen blive aktiveret i den aktuelle virtuelle tjeneste for korrekt at belastningsbalancere registreringen og opkald fra brugerne. Vi anbefaler også NAT som NAT-type , men DNAT kan også bruges til at hente klientens kilde-IP. Klik til sidst på Opdater for at anvende ændringerne.
Til sidst skal du konfigurere backends, klikke på Tjenester , og under afsnittet Backends skal du klikke på Handling > Tilføj backend.
Udfyld IP , Port og Vægt , og klik på Gem for at anvende ændringerne.
Tilføj så mange SIP-servere, du har brug for, for at skalere din tjeneste. Du kan nu bruge den virtuelle IP som den virtuelle SIP-tjeneste i dine softphones og klienter på en meget tilgængelig, pålidelig og skalerbar måde.
Avancerede SIP-sundhedstjek #
Senest RELIANOID udgivelser, kan du bruge et avanceret sundhedstjek specifikt til SIP-tjenester, hvor load balanceren udfører dummy SIP-kald til alle SIP-servere, der er konfigureret som backends for at sikre, at SIP-læsetjenesterne er oppe og køre korrekt.
Hvis der ikke allerede er oprettet en check_sip Farm Guardian-kommando, skal du oprette den i afsnittet Overvågning > Farmguardian, som vist nedenfor.
For bedre at forstå mulighederne i check_sip- kommandoen, henvises til hjælpen til sundhedstjekkeren.
usage: ./check_sip [ optioner ] FROM TO Foretager SIP-opkald fra FROM til TO, sender stemme fra flere filer til peer. Indhold i filer skal være PCMU/8000 og kunne optages med samples/invite_and_recv.pl Indstillinger: -d|--debug Aktiver fejlfinding -h|--help Hjælp (denne info) -P|--proxy vært[:port ] brug udgående proxy, registrer der, medmindre registrator givet -R|--registrator vært[:port] registrer på given adresse -S|--send filnavn send indhold af fil, kan gives flere gange -L|--leg ip[ :port] brug givet lokal ip[:port] til udgående ben -T|--timeout T timeout og annuller invitation efter T sekunder, standard 30 --brugernavn brugernavn til autorisation --adgangskode adgangskode til autorisation Eksempler: ./check_sip -T 10 -S welcome.data -S announce.data sip:30@192.168.178.4 sip:31@192.168.178.1 ./check_sip --brugernavn 30 --password secret --proxy=192.168.178.3 -S holy.data sip:30@example.com 31
Med vores eksempel kan vi definere vores sundhedstjekker i Farm Guardian- sektionen, som vist nedenfor.
./check_sip -T 9 -S welcome.data -S announce.data sip:Bonnie@192.168.56.201 sip:Clyde@HOST
Bemærk, at token-HOST vil blive ændret i runtime med hver SIP-backend, der er konfigureret i farmen.
SIP Application Delivery Clustering #
RELIANOID giver også mulighed for at indstille SIP-skalerbar leveringstjeneste i høj tilgængelighed ved hjælp af en klyngetjeneste mellem to redundante enheder. Implementer venligst en anden RELIANOID enhed og se System > Klynge sektion for at konfigurere den i høj tilgængelighed.
Forbedring af SIP-sikkerhed #
Det er ret nemt at anvende et sikkerhedslag på en offentlig SIP-tjeneste ved hjælp af IPDS-modulet, som blandt andet tillader blacklisting, realtids-blackhole-lister og DoS-beskyttelse. Se IPDS- sektionen i hovedmenuen for at få flere oplysninger om beskyttelsen af en offentlig SIP-tjeneste.
VoIP telefon klient konfiguration #
Når vores SIP-tjeneste er klar til skalering, har konfigureret høj tilgængelighed og forbedret sikkerhed, er det tid til at konfigurere den nye tjeneste i softphones og klienter. I dette tilfælde anbefaler vi at konfigurere en DNS-post, der er relateret til VIP-adressen eller en offentlig IP-adresse til den virtuelle tjeneste. Et sådant DNS- eller FQDN- navn til vores virtuelle SIP-tjeneste vil være det, der skal bruges på klientsiden, i stedet for at have en rigtig SIP IP-adresse konfigureret. Denne konfiguration giver fleksibilitet til nemt og automatisk at load-balancere klienterne.
På den anden side anbefaler vi at konfigurere en lavere keep-alive timeout på klientsiden for at tvinge registreringen mere normalt, da i tilfælde af at en SIP-server opdages som nede, bemærker klienten det og forsøger igen at oprette forbindelse hurtigt til endnu en.
Nu skal du bare nyde din SIP-skalerbare service!







