https://a.storyblok.com/f/270183/1368x665/61f7aeead8/build-your-own-call-center_asterisk-sip-trunking.png

Bauen Sie Ihr eigenes Callcenter mit Asterisk und Vonage SIP Trunking auf

Zuletzt aktualisiert am October 30, 2024

Lesedauer: 5 Minuten

Einführung

Callcenter sind ein wichtiger Aspekt eines jeden Unternehmens, das Kundenkommunikation betreibt. Für kleine bis mittlere Unternehmen können Callcenter intern gehostet werden, um Cloud-Hosting-Kosten zu sparen und die Netzwerklatenz zwischen dem Server und den Callcenter-Agenten zu verringern. Außerdem haben Sie so die vollständige Kontrolle über alle Vorgänge und können Änderungen problemlos vornehmen und verwalten.

In diesem Artikel werden wir eine minimalistische Version eines Callcenters einrichten, um mit minimalen Anforderungen Anrufe zu wählen und entgegenzunehmen.

Überblick über die Architektur

SIP Trunking ist eine Methode zur Bereitstellung von Telefondiensten und vereinheitlichter Kommunikation für Kunden über das Internet anstelle herkömmlicher Telefonleitungen. SIP Trunking ermöglicht es Unternehmen, herkömmliche PRI-Leitungen (Primary Rate Interface) zu ersetzen und VoIP (Voice over Internet Protocol) zur Verwaltung ihrer Kommunikation zu wesentlich geringeren Kosten zu nutzen.

SIP Trunking erfordert einen SIP Trunk Provider (z.B. Vonage), der mit einer IP-PBX-Anlage (z.B. Asterisk) verbunden ist, um VoIP-Anrufe abzuwickeln. Die IP-PBX-Anlage kann unkompliziert im eigenen Haus installiert und gehostet werden. Um einen Anruf zu tätigen, wird ein Softphone (z. B. Zoiper), das auf einem Computer installiert ist, mit einer speziellen Durchwahlnummer und Authentifizierungsdaten an ein IP-PBX-System angeschlossen. Das gesamte System kann in der folgenden Abbildung dargestellt werden:

Diagram of the architecture to implement the call center using Asterisk and Vonage SIP trunkingFig-1.1 Sip trunking architecture overview

Voraussetzungen

Um eine vollständige Inhouse-Callcenter-Lösung einzurichten, sind einige Dinge erforderlich, die den Installations- und Konfigurationsprozess erleichtern.

Zunächst müssen Sie einen API-Schlüssel und eine DID-Nummer (Direct Inward Dialling) von Vonage erhalten. Vonage ist ein führender Kommunikationsanbieter, der Entwicklern Zugang zu APIs für den Versand von Voice, Video und Nachrichten mit erweiterten Funktionen wie Betrugs- und Identitätsprüfungen bietet.

Durch Anmeldung für einen kostenlosen Accounthaben Sie Zugang zu kostenlosen Krediten und unkomplizierten Dokumentation zur Nutzung der Vonage APIs.

Sobald die Anmeldung abgeschlossen ist, fahren Sie fort mit Kauf einer DID-Nummer (Direct Inward Dialling) Nummer mit Ihrer bevorzugten Ländervorwahl. Dies wird auch als Vonage Long Virtual Number (LVN) bezeichnet und hilft Unternehmen, ihre lokale Präsenz zu erweitern.

Außerdem benötigen Sie einen Linux-Server, vorzugsweise Debian oder Ubuntu, um die Asterisk-Installation zu hosten. Asterisk kann mit einem System mit 1 GHz x86 CPU und 512 MB RAM installiert werden, aber für eine bessere Leistung werden eine 3 GHz CPU und 1 GB RAM empfohlen.

Damit VoIP-Anrufe erfolgreich sind, müssen Sie die folgenden Ports in der Firewall öffnen:

  • SIP: 5060 (UDP)

  • RTP: 10000 bis 20000 (UDP)

Es gibt noch eine weitere optionale, aber empfohlene Sache ist, einen Domainnamen oder eine statische IP-Adresse zu erhalten. Dieser Domain-Name oder die statische IP-Adresse wird immer auf den Asterisk-Server zeigen, um die Anrufe einfach weiterzuleiten. Wenn Sie keinen Domainnamen oder keine statische IP-Adresse zur Hand haben, können Sie verschiedene andere Optionen ausprobieren, wie z.B. DynDNS oder Duck DNS

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Asterisk einrichten

Installieren Sie den Asterisk Server

Der Asterisk-Server ist sehr leichtgewichtig und hat minimale Hardware-Anforderungen auf einem Linux-Server. Hier ist ein kurzer Überblick über die Befehle zur Installation des Asterisk-Servers unter Debian 11 (Bullseye):

sudo apt update # updates the package list from the repositories
sudo apt install wget build-essential subversion # install essential tools
cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz # download asterisk
sudo tar -xvf asterisk-18-current.tar.gz # extract files
# following set of commands will compile and install asterisk
# with example configuration files
cd asterisk-18*/
sudo contrib/scripts/install_prereq install
sudo ./configure
sudo make
sudo make install
sudo make samples
sudo make config # start asterisk automatically when system boots
sudo ldconfig # updates the system's shared library cache
sudo systemctl start asterisk # starts asterisk service
sudo systemctl enable asterisk # auto-start asterisk at boot time

Konfigurieren Sie den Asterisk Server

Melden Sie sich bei Ihrem Vonage SIP Trunking Account um den API-Schlüssel, z. B. Master (c85.....), und das API-Geheimnis zu erhalten, das als SIP-Benutzername und -Passwort verwendet wird. Für den SIP-Server (Proxy), siehe die Dokumentation um den nächstgelegenen Endpunkt entsprechend Ihrem Standort zu wählen (z. B. sip-eu-3.vonage.com).

Um sich mit dem Vonage SIP-Endpunkt zu verbinden, verbinden Sie sich per SSH mit dem Asterisk-Server und fügen die folgende SIP-Konfiguration in /etc/asterisk/sip.conf:

[general]
  context=public
  allowguest=no
  udpbindaddr=0.0.0.0
  tcpenable=no
  transport=udp
  srvlookup=yes
  nat=force_rport,comedia
  register => SIP_USERNAME:SIP_PASSWORD@ip.nexmo.com

[outbound]
  type=friend
  context=from-internal
  host=sip-eu-3.vonage.com
  username=SIP_USERNAME
  secret=SIP_PASSWORD
  insecure=port,invite
  canreinvite=no
  disallow=all
  allow=ulaw
  nat=force_rport,comedia

Ersetzen Sie SIP_USERNAME und SIP_PASSWORT durch Ihre Vonage-Anmeldedaten.

Der nächste Schritt besteht darin, einen Wählplan hinzuzufügen, der es den Benutzern ermöglicht, sich mit Asterisk zu verbinden und ausgehende Anrufe zu tätigen. Bearbeiten Sie dazu /etc/asterisk/extensions.conf:

[globals]
  TRUNK=SIP/outbound

[from-internal]
; Extension for making an outgoing call
exten => _9.,1,NoOp(Outgoing call through SIP trunk)
 same => n,Dial(${TRUNK}/${EXTEN:1})
 same => n,Hangup()

In diesem Beispiel:

  • Die globals Abschnitt definiert eine globale Variable TRUNK die auf den abgehenden SIP-Trunk zeigt, der in sip.conf.

  • Die Website von-intern Kontext wird für Nebenstellen verwendet, die ausgehende Anrufe tätigen.

  • Das Muster _9. passt zu jeder Zahl, die mit 9 beginnt und von einer oder mehreren Ziffern gefolgt wird. Dies wird häufig zur Unterscheidung zwischen internen und externen Anrufen verwendet.

  • ${EXTEN:1} entfernt die führende 9, bevor die Nummer an die SIP-Leitung gesendet wird.

Softphone einrichten

Die Einrichtung eines Softphones erfordert sowohl eine Server- als auch eine Client-Konfiguration. Zunächst fügen wir einen Softphone-Benutzer mit der Durchwahl "1001" hinzu, indem wir die folgende Konfiguration in /etc/asterisk/sip.conf😀

[1001]
  type=friend
  context=from-internal
  host=dynamic
  secret=yourpassword
  disallow=all
  allow=ulaw
  nat=force_rport,comedia

Starten Sie Asterisk neu, um alle Änderungen zu übernehmen, indem Sie sudo systemctl restart asterisk Befehl.

Um den Client zu konfigurieren, laden Sie ein Softphone wie Zoiper oder linphone. Sobald der Download abgeschlossen ist, führen Sie das Installationsprogramm auf Ihrem Computer aus und starten das Softphone. Im folgenden Beispiel verwenden wir die Zoiper-Desktop-Anwendung als Client. Um das Zoiper-Softphone beim Asterisk-Server zu registrieren, geben Sie ein 1001 als Benutzernamen ein, gefolgt von Ihr Kennwort

Zoiper configuration wizard to set up a username and passwordFig-5.1 Zoiper username and passwordAls nächstes geben Sie die lokale IP-Adresse des Asterisk-Servers an (normalerweise beginnend mit 192.168.x.x)

The Zoiper configuraiton wizard to stablish the hostname (IP)Fig-5.2 Zoiper IP configurationKlicken Sie auf "Überspringen" für andere Optionen und es wird schließlich angezeigt, dass der Zoiper-Client verbunden ist:


The screen shows the main screen of ZoiperFig-5.3 Zoiper main screen
Um die Konfiguration für ausgehende Anrufe zu testen, wählen Sie eine Nummer mit einer vorangestellten 9. Um beispielsweise 18012312312 zu wählen, würden Sie 918012312312 wählen.

Rufumleitung einrichten

Bisher haben wir unser Softphone so konfiguriert, dass es ausgehende Anrufe wählt. Damit das Softphone Anrufe entgegennehmen kann, müssen wir die von Vonage bereitgestellte DID-Nummer (Direct Inward Dialling), manchmal auch Long Virtual Number (LVN) genannt, so konfigurieren, dass sie eingehende Anrufe entgegennimmt und an die vom Asterisk-Server gehostete SIP-URI weiterleitet.

Gehen Sie dazu auf Numbers Dashboard und bearbeiten Sie die Nummer, um das Konfigurationsfenster anzuzeigen. Wählen Sie im Konfigurationsfenster unter der Option "Weiterleitung" die Option "SIP" aus, geben Sie die SIP-URI ein, die auf dem Asterisk-Server gehostet wird, und klicken Sie auf "Speichern".

The image shows the dialog of the Vonage dashboard to set up a voice call forwardingFig-6.1 Vonage Voice Forwarding

Sobald die Konfiguration gespeichert ist, werden die Anrufe automatisch an den Asterisk-Server weitergeleitet. Hier müssen wir Folgendes bearbeiten /etc/asterisk/extensions.conf bearbeiten, um zu beschreiben, welche Nebenstelle eingehende Anrufe bearbeiten soll. In diesem Beispiel leiten wir eingehende Anrufe an den Agenten mit der Durchwahl 1001 weiter.

[provider]
exten => _X.,1,NoOp(Someone is calling from provider)  ; dial any number
same => n,Answer()
same => n,Wait(1)
same => n,Dial(SIP/1001,30,r)

Starten Sie Asterisk neu, um alle Änderungen zu übernehmen, indem Sie sudo systemctl restart asterisk Befehl. Wenn ein Anrufer die LVN-Nummer (wie in Abb. 6.1 beschrieben) wählt, wird der Anruf von nun an über das Softphone an den Callcenter-Agenten mit der Durchwahl 1001 weitergeleitet.

The image shows Zoiper receiving a phone callFig-6.2 Testing the call center

Weitere Konfiguration

Obwohl hier nicht behandelt, ist es möglich, bei Bedarf weitere Konfigurationen zu aktivieren. Zum Beispiel Anrufaufzeichnung, IVR-System, Überwachung und Berichterstattung. Alle diese Funktionen werden über Wählpläne aktiviert. Für Details, siehe bitte die Asterisk-Dokumentation.

Schlussfolgerung

In diesem Artikel haben wir erfolgreich eine minimalistische Version von Asterisk installiert und konfiguriert, die sowohl Anrufe bearbeiten als auch ausgehende Anrufe tätigen kann. Dieses Server-Setup kann problemlos um zusätzliche Funktionen erweitert werden. Um die maximale Effizienz von SIP-Diensten zu nutzen, ist es sehr empfehlenswert, die KI-fähige, bedarfsgesteuerte, elastische SIP Trunking-Lösung die von Vonage angeboten wird.

Kontakt aufnehmen

Haben Sie Fragen oder Anregungen zu diesem Tutorial? Teilen Sie Ihre Gedanken mit uns auf Twitter) oder unserem Vonage Community Slack-Kanal und zitieren Sie diesen Artikel, um eine schnelle Antwort zu erhalten. Sie können sich auch mit mir auf Twitter.

Viel Erfolg und viel Spaß beim SIP Trunking!


Teilen Sie:

https://a.storyblok.com/f/270183/400x400/620f535ce9/atique-khan.jpg
Atique Khan

Atique is a computer graduate and proficient Python developer with a passion for exploring new technologies. With a strong background in programming and system engineering, he holds over 10 years of experience in automation, testing, and integration. His interests span single-board computers, software-defined radios, and continuous experimentation with generative AI tools.