
Teilen Sie:
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.
Bauen Sie Ihr eigenes Callcenter mit Asterisk und Vonage SIP Trunking auf
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:
Fig-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
Fig-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)
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:
Fig-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".
Fig-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.
Fig-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:
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.
