So führen Sie einen Lastenausgleich durch und erstellen hochverfügbare SIP- und PBX-Dienste

Kategorien anzeigen

So führen Sie einen Lastenausgleich durch und erstellen hochverfügbare SIP- und PBX-Dienste

6 min gelesen

Übersicht #

VoIP steht für Voice over Internet Protocol und umfasst alle Telefongespräche, die über das Internet geführt werden. Um dies zu realisieren, wurde das SIP- Protokoll definiert.

SIP oder Session Initiation Protocol ist das Protokoll, das Multimedia-Kommunikationssitzungen einschließlich Anrufen (Sprache und Video) verwaltet. Man kann also sagen, dass SIP eines der spezifischen Protokolle ist, auf die VoIP angewiesen ist.

In einer Medienkommunikationssitzung ist das SIP- Protokoll für die Signalisierung zuständig, beispielsweise für den Aufbau und die Beendigung von Sprach- oder Videoanrufen. SIP kann Unicast-Verbindungen (mit zwei Teilnehmern) oder Multicast-Verbindungen (mit mehreren Teilnehmern) herstellen. Bestehende Anrufe lassen sich über das SIP- Protokoll modifizieren, beispielsweise durch das Hinzufügen eines weiteren Teilnehmers. SIP ist unabhängig vom zugrunde liegenden Transportprotokoll und kann mit UDP , TCP und SCTP ( Stream Control Transmission Protocol ) verwendet werden. SIP kann auch mit anderen Protokollen zusammenarbeiten, die das Medienformat festlegen und die Mediendaten übertragen, nachdem SIP den Anruf aufgebaut hat. Die Weiterleitung von Telefonanrufen von einer PBX- Telefonanlage in das externe Netzwerk ist ebenfalls möglich. Eine PBX ( Private Branch Exchange ) ist eine Telefonvermittlungsanlage, die in Unternehmen mit mehreren internen Geräten installiert ist.

Dieser Leitfaden ist hilfreich für die Einrichtung gängiger SIP-Dienste wie Asterisk , Websphere SIP Proxy , SIP Foundry , Elastix , FreeSWITCH , OpenPBX von Voicetronix , PBXInAFlash , FreePBX , OpenSIPs , Kamailio , 3CX , Office SIP Server usw., die alle hochverfügbar und skalierbar sind.

Wie funktioniert das SIP-Protokoll? #

Nehmen wir an, wir haben zwei Anrufer, Bonnie und Clyde. Bonnie ruft Clyde an. Zunächst müssen die Telefone von Bonnie und Clyde bei einem SIP-Server registriert werden. Der Registrierungsprozess zwischen den Clients und dem Registrierungsdienst ist wie folgt:

1. Der Softphone-Client sendet eine REGISTRIEREN Nachricht an den SIP-Server.
2. Der SIP-Server antwortet mit einer 401 Nicht autorisiert Nachricht mit Header WWW-Authenticate.
3. Der Client sendet dann die REGISTRIEREN Anfrage an den SIP-Server inklusive der Genehmigung Header.
4. Wenn die Authentifizierung korrekt ist, sendet der SIP-Server eine 200 OK Antwort an den Client. In dieser Phase kann der Client Anrufe empfangen und initiieren.

Dieser Registrierungsprozess wird auch über den Proxy-Load Balancer, den wir in diesem Artikel vorschlagen, hochverfügbar sein.

Um besser zu verstehen, wie ein Anruf zwischen Bonnie und Clyde durchgeführt wird, sehen Sie sich unten die im Protokoll definierten Schritte an.

1. Bonnie beginnt einen Anruf bei Clyde, indem sie eine EINLADEN Nachricht
2. SIP-Server A übergibt das EINLADEN Nachricht an den SIP-Server des Empfängers B
3. Inzwischen SIP-Server A Antworten 100 VERSUCH Nachricht an Bonnie
4. SIP-Server B übergibt das EINLADEN Nachricht an Clyde
5. Inzwischen ist auch eine 100 VERSUCH Nachricht an den SIP-Server A
6. Clydes Gerät ist jetzt 180 KLINGELN und überträgt es an den SIP-Server B
7. SIP-Server B sendet dies 180 KLINGELN zum SIP-Server A
8. SIP-Server A vermittelt dies 180 KLINGELN zu Bonnie
9. Clyde nimmt den Anruf entgegen und sendet 200 OK Nachricht
10 Und vermittelt es 200 OK Nachricht an den SIP-Server B
11 SIP-Server A vermittelt dies 200 OK Nachricht an Bonnie
12 Eine Verbindung wird zwischen Bonnie und Clyde hergestellt, wobei Bonnie direkt sendet ACK zu Clyde, und sowohl Bonnie als auch Clyde kommunizieren direkt miteinander
13 Eine der beiden Parteien beendet das Gespräch mit einem WIEDERSEHEN
14 Die Gegenpartei sendet die Bestätigung zurück 200 OK

SIP-Lastausgleichsumgebung #

Da wir die Besonderheiten des SIP-Protokolls kennen, besteht das Szenario, das wir in diesem Artikel erreichen möchten, darin, die SIP-Server skalieren zu können, um eine größere Anzahl registrierter Softphones verarbeiten und eine höhere Anzahl von Anrufen verwalten zu können. Das folgende Diagramm zeigt die Servicearchitektur in einem Rechenzentrum.

Sehen wir uns unten an, wie es konfiguriert wird.

SIP-Lastausgleichskonfiguration #

Bevor wir den virtuellen Dienst einrichten, müssen wir eine dedizierte virtuelle IP-Adresse erstellen , da diese TCP- oder UDP -Frames empfangen kann . Gehen Sie dazu auf Netzwerk > Virtuelle Schnittstellen und klicken Sie anschließend auf Aktion > Virtuelle Schnittstelle erstellen.

Wählen Sie anschließend die übergeordnete Schnittstelle , den Schnittstellennamen und deren IP -Adresse aus :

Nun ist es an der Zeit, den virtuellen SIP-Dienst einfach in den Standardports einzurichten, die von SIP-Diensten (TCP und/oder UDP) verwendet werden: 5060 oder 5061. Port 5060 wird üblicherweise für unverschlüsselten Signalisierungsverkehr verwendet, und Port 5061 wird typischerweise für mit TLS ( Transport Layer Security ) verschlüsselten Verkehr genutzt.

Mit RELIANOID Load Balancer erreichen wir diese Konfiguration durch die Schaffung eines LSLB Betriebsprofil L4xNAT mit Anschlüssen 5060 or 5061. Im virtuellen Dienst werden sowohl verschlüsselte als auch unverschlüsselte Kommunikation gleichzeitig unterstützt, wenn die Ports im virtuellen Dienst aufgeführt sind.

Gehen Sie dazu auf LSLB > Farms und erstellen Sie eine neue Farm, wie unten gezeigt.

Klicken Sie nach der Erstellung auf „Erweitert“ und wählen Sie SIP als Protokolltyp . Der Layer-4-SIP-Proxy wird nun im aktuellen virtuellen Dienst aktiviert, um die Registrierung und Anrufe der Benutzer optimal zu verteilen. Wir empfehlen NAT als NAT-Typ ; alternativ kann auch DNAT verwendet werden, um die Quell-IP-Adresse des Clients zu ermitteln. Klicken Sie abschließend auf „Aktualisieren“ , um die Änderungen zu übernehmen.

Zum Schluss richten Sie die Backends ein, klicken Sie auf „Dienste“ und anschließend im Abschnitt „Backends“ auf „Aktion“ > „Backend hinzufügen“.

Geben Sie IP-Adresse , Port und Dateigröße ein und klicken Sie auf „ Speichern “, um die Änderungen zu übernehmen.

Fügen Sie beliebig viele SIP-Server hinzu, um Ihren Dienst zu skalieren. Sie können die virtuelle IP-Adresse nun als virtuellen SIP-Dienst in Ihren Softphones und Clients hochverfügbar, zuverlässig und skalierbar nutzen.

Erweiterte SIP-Integritätsprüfungen #

Spätestens RELIANOID Versionen können Sie eine erweiterte Integritätsprüfung speziell für SIP-Dienste verwenden, bei der der Load Balancer Dummy-SIP-Anrufe an alle SIP-Server durchführt, die als Backends konfiguriert sind, um sicherzustellen, dass die SIP-Lesedienste ordnungsgemäß ausgeführt werden.

Falls noch kein check_sip Farm Guardian-Befehl existiert, erstellen Sie ihn im Abschnitt Monitoring > Farmguardian, wie unten gezeigt.

Um die im Befehl check_sip enthaltenen Optionen besser zu verstehen , konsultieren Sie bitte die Hilfe des Health-Checkers.

Verwendung: ./check_sip [Optionen] VON NACH Tätigt einen SIP-Anruf von VON nach NACH, sendet Sprache aus mehreren Dateien an den Peer. Der Inhalt der Dateien muss PCMU/8000 sein und kann mit samples/invite_and_recv.pl aufgezeichnet werden. Optionen: -d|--debug Debugging aktivieren -h|--help Hilfe (diese Info) -P|--proxy host[:port] ausgehenden Proxy verwenden, dort registrieren, sofern kein Registrar angegeben ist -R|--registrar host[:port] unter angegebener Adresse registrieren -S|--send filename Dateiinhalt senden, kann mehrfach angegeben werden -L|--leg ip[:port] angegebene lokale IP[:port] für ausgehenden Leg verwenden -T|--timeout T Timeout und Einladung nach T Sekunden abbrechen, Standard 30 --username Name Benutzername für Autorisierung --password Passwort für Autorisierung weitergeben Beispiele: ./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

Anhand unseres Beispiels können wir unseren Gesundheitschecker im Abschnitt Farm Guardian wie folgt definieren:

./check_sip -T 9 -S willkommen.data -S ankündigen.data sip:Bonnie@192.168.56.201 sip:Clyde@HOST

Beachten Sie, dass der Token-HOST zur Laufzeit mit jedem in der Farm konfigurierten SIP-Backend geändert wird.

SIP-Anwendungsbereitstellungsclustering #

RELIANOID bietet auch die Möglichkeit, den skalierbaren SIP-Zustellungsdienst mithilfe eines Clusterdienstes zwischen zwei redundanten Einheiten hochverfügbar zu machen. Bitte stellen Sie einen weiteren RELIANOID Einheit und beachten Sie die System > Cluster um es für hohe Verfügbarkeit zu konfigurieren.

Verbesserung der SIP-Sicherheit #

Das Hinzufügen einer Sicherheitsebene zu einem öffentlichen SIP-Dienst ist mit dem IPDS-Modul ganz einfach. Dieses Modul ermöglicht unter anderem Blacklisting, Echtzeit-Blackhole-Listen und DoS-Schutz. Weitere Informationen zum Schutz eines öffentlichen SIP-Dienstes finden Sie im IPDS- Bereich des Hauptmenüs.

Konfiguration der VoIP-Telefonclients #

Sobald unser SIP-Dienst skalierbar ist und Hochverfügbarkeit sowie erhöhte Sicherheit gewährleistet sind, kann er in den Softphones und Clients konfiguriert werden. Wir empfehlen hierfür, einen DNS-Eintrag einzurichten, der auf die VIP-Adresse oder eine öffentliche IP-Adresse des virtuellen Dienstes verweist. Dieser DNS- oder FQDN- Name für unseren virtuellen SIP-Dienst wird clientseitig anstelle einer realen SIP-IP-Adresse verwendet. Diese Konfiguration ermöglicht ein einfaches und automatisches Load Balancing der Clients.

Andererseits empfehlen wir, auf der Clientseite ein niedrigeres Keep-Alive-Timeout zu konfigurieren, um die Registrierung häufiger zu erzwingen. So bemerkt der Client, wenn ein SIP-Server als ausgefallen erkannt wird, und versucht schnell erneut, die Verbindung zu einem anderen Server herzustellen.

Genießen Sie jetzt einfach Ihren skalierbaren SIP-Dienst!

📄 Laden Sie dieses Dokument im PDF-Format herunter #

    EMAIL: *

    Bereitgestellt von BetterDocs