Asterisk als SIP-Server auf einem Raspberry Pi – Zusammenfassung der Installation und Konfiguration

15. März 2021 (aktualisiert am 27. Juni 2021)

Seit über einem halben Jahr läuft bei mir als Telefonanlange ein SIP-Server mit Asterisk auf einem Raspberry Pi 3 B+. Meine nachfolgenden Beiträge beschreiben die Installation des Betriebssystems Raspbian für die erste Inbetriebnahme des Raspberry, die Installation und Konfiguration von Asterisk, die Installation von Fail2Ban und der VoIP Blacklist VoIPBL für den Schutz vor unerlaubten Eindringlingen und was bei einem Stromausfall zu beachten ist, um im Falle eines Falles das System wieder herstellen zu können.

Fragen und Antworten bitte an: https://www.wumpus-gollum-forum.de/forum/thread.php?board=73&thread=39

Zusammenfassung:

Getestet auf:
Hardware: Raspberry Pi 3 B+, angebunden über Netzwerkkabel hinter einem Router mit Portweiterleitung, DynDNS notwendig, falls sich die eigene öffentliche IP ändert.
Betriebssystem: Raspbian Buster 2020-02-13, nur Update unter CLI (sudo apt-get update), kein Upgrade, kein Update und Upgrade direkt nach der Installation des Raspian, Vergabe einer statischen IP für den Raspberry
Asterisk: Version 16.2.1, (sudo apt-get asterisk) geschützt mit Fail2Ban (sudo apt-get fail2ban)

Die Konfiguration verkraftet Stromausfälle problemlos. Nach einem Stromausfall fahren der Raspberry und Asterisk selbständig hoch und der SIP-Server ist wieder erreichbar. Die CPU-Leistung eine Raspberry Pi 3 kann mehrere 100 Telefon-Accounts verwalten. Über 30 Telefongespräche wären gleichzeitig möglich. Mit einem Raspberry Pi 4 lassen sich noch mehr Telefonverbindung gleichzeitig bewältigen. Außerdem begrenzt der Upload und der Download der Internetanbindung die maximale Anzahl der Gespräche.

Leistungsumfang des SIP-Servers: eigenständiges Telefonnetz, Gateway zu öffentlichen Telefon- und Mobilfunknetzen, Gateway zu diversen offenen und geschlossenen SIP-Providern, Gateway zu einem Amateurfunk-70cm-Relais-Verbund, Anrufbeantworter-Funktion, mehrere Konferenzräume, Rufweiterleitung, G.722-Audio-Codec für verbesserte Sprachqualität.

Vorteile: Geringe Kosten und geringer Stromverbrauch für die Hardware, die Software gibt es umsonst, hohe Verfügbarkeit abhängig von der Internet-Anbindung des SIP-Servers. Komfort-Funktionen, die kommerzielle Provider nicht anbieten oder nur gegen Gebühr. Weitgehend kostenlose Telefonate. Erhebliche Kostenreduzierung beim Telefonieren mit dem Smartphone. Meistens sind die Telefonate mit dem Smartphone umsonst oder kosten nur ein Bruchteil der üblichen Mobilfunkgebühren, was sich besonders bei Ferngesprächen bemerkbar macht.

Der Raspberry 3 B+ als Asterisk-SIP-Server ist hier noch ohne Gehäuse im Einsatz. Angeschlossen sind das Netzwerkkabel, eine USB-Maus, eine USB-Tastatur, ein HDMI-Monitor und ein Netzteil mit Micro-USB-Stecker. Eine Micro-SD-Karte steckt im SD-Kartenslot. Für die Datensicherung kann noch ein USB-Stick Verwendung finden.
Nur ein Beispiel von vielen möglichen Konfigurationen einer Telefonanlage über das Internet mit drei Internetanschlüssen und sechs Telefonen. Alle Telefone können mit allen Telefonen über den Raspberry Verbindungen herstellen. Die Anlage ist jederzeit erweiterbar. In Deutschland haben FritzBoxen als Modemrouter einen Marktanteil von etwa 50%. In diesen FritzBoxen können in der Regel weitere Accounts (Telefonnummern) von fremden SIP-Providern eingetragen. Zu diesen fremden SIP-Providern gehört dann auch der hier beschriebene  Asterisk-SIP-Server. Lässt sich in den Router kein weiterer SIP-Provider eintragen, kann hinter diesem Router ein FritzBox betrieben werden, die die als ATA dient. Ein ATA ist eine Box, in der man am Eingang ein Netzwerkkabel reinsteckt und am Ausgang ein ganz normales analoges Telefon. In der ATA müssen noch die Account-Daten konfiguriert werden.

Mein eigener SIP-Server dient nicht nur als Haustelefonanlage. Er stellt auch ein eigenes Telefonnetz mit Hilfe des Internets dar. Es basiert auf dem für die Internet-Telefonie (auch VoIP oder IP-Telefonie genannt) üblichen SIP-Protokoll. Dieser SIP-Server ermöglicht kostenloses Telefonieren ohne fremde Telefonanbieter und und kommerzielle Provider. Mehrere Asterisk-SIP-Server lassen sich zu größeren Netzen verbinden. Die Zugänge zu den Providern Sip2Sip, OpenSips, IpTel, AntiSip, Ippi, Sipgate, Dus.net und viele weitere SIP-Provider sind bereits integriert.

Es geht um das klassische und ganz normale Telefonieren. Selbst alte Wählscheibentelefone lassen sich über den Asterisk-SIP-Server betreiben. Diese analogen Telefone älterer Bauart sind mit dem FON-Eingang älterer FritzBoxen, die neben dem Mehrfrequenzwahlverfahren noch das Impulswahlverfahren beherrschen, zu verbinden. Diese Fritzboxen sind als ATAs konfiguriert und sind wiederum über das LAN mit dem Internet per Netzwerkkabel verbunden und können dadurch mit dem Asterisk-SIP-Server als Nebenstellen- oder Hauptanschlüsse ihren Dienst verrichten. Der Teilnehmer wählt und telefoniert wie gewohnt und merkt von der Technik, die dahinter liegt, nichts.

Das eingehende und ausgehende Telefonieren in alle öffentlichen  Fest- und Mobilfunknetze ist über Gateways ebenfalls möglich.

Asterisk bietet zudem integrierte Anrufbeantworter. Es lassen sich sogar alte mechanische Faxgeräte über den Asterisk-Server betreiben.

Lizenzierte Funkamateure können per Telefon bestimmte Amateurfunk-FM-Relais anwählen und über sie Gespräche führen. Ein vorschriftsmäßig begrenzter Zugang zum geostationären Amateurfunk-Satelliten Oscar-100 ist in Planung.

Anleitungen: Die nachfolgenden Anleitungen bieten zusammenfassend praktisch alle notwendigen Informationen, die für einen zuverlässigen Betrieb eines kleinen Asterisk-SIP-Servers auf einem Raspberry Pi notwendig sind:

 

Auf einem Raspberry Pi kann ein vollwertiger SIP-Server mit der Telefonsoftware Asterisk laufen, der zudem mit Fail2Ban vor Angriffen aus dem Internet geschützt ist.
Asterisk mit Fail2Ban und VoIPBL auf einem Raspberry Pi installieren und konfigurieren – 8. Oktober 2020: Mein kleiner Asterisk-SIP-Server ist vor einigen Tagen von einer alten FritzBox 7170 auf einen Raspberry Pi 3 B+ umgezogen. Zur Sicherheit wurde noch Fail2Ban installiert und konfiguriert, damit er vor mehrfachen erfolglosen Verbindungsversuchen, die Passwörter knacken wollen, geschützt ist. Dies hat sich als notwendig erwiesen, da mein SIP-Server nicht nur eine Haustelefonanlage ist. Die Nebenstellen können sich über das Internet von überall auf der Welt verbinden. – weiter

Der Asterisk-Server läuft hinter einem Router im LAN auf einem Raspberry Pi 3 B+. Als Betriebssystem dient Raspbian.
Eine einfache Asterisk-Konfiguration für einen SIP-Server als Telefonanlage – 15.10.2020: Die hier vorgestellte Asterisk-Konfiguration dient als Muster für einen einfachen SIP-Server, der als Telefonanlage hinter einem Router arbeitet. Die Nebenstellen des SIP-Servers sind sowohl innerhalb des eigenen LANs als auch über das Internet erreichbar. Außerdem ermöglicht dieses Konfigurationsbeispiel Zugänge aus anderen Netzen über zwei fremde Provider. Über diese beiden Provider kann mit Hilfe von Vorwahlen das Einwählen in andere Netze stattfinden.

Außerdem sind noch verschiedene Testnummern integriert. Der hier vorgestellte Code dient als erweiterbares Schema und er wurde auf Asterisk 1.4.22 und auf Asterisk 16.2.1 über ein Jahr lang in einem realistischen Dauereinsatz getestet. Die Asterisk-Software steht kostenlos zur Verfügung. – weiter

Asterisk-CLI während einer Telefonkonferenz
Telefon-Konferenzschaltungen mit Asterisk und Confbridge -25. Juni 2021: Mit der Telefon-Software Asterisk lassen sich auch Telefon-Konferenzen schalten. Mehrere Teilnehmer können sich dann in Konferenzräumen treffen und unterhalten. In meinem Beispiel habe ich die Teilnehmerzahl auf 10 begrenzt, obwohl noch mehr Teilnehmer möglich sind. Für die Einrichtung ist die confbridge.inf zu konfigurieren und die extensions.conf zu ergänzen. Weiterhin sind noch zwei txt-Dateien anzulegen. Und schon ist Asterisk für Konferenzen fähig. Das erste Beispiel beschränkt sich auf die Einrichtung eines Konferenzraums. Im zweiten Beispiel wurden 4 weitere Konferenzräume eingerichtet. – weiter
Raspberry Pi 3 B+
Asterisk-Raspberry-Crash wegen eines Stromausfalls  – 10. März 2021:  Seit fast einem halben Jahr lief bei mir auf einem Raspberry 3 B+ mein Asterisk-Server mit Fail2Ban ohne Eingriffe, Abstürze und Unterbrechungen absolut zuverlässig. Aber dann traten drei kurze Stromausfälle in den Morgenstunden eines stürmischen Sonntags auf.  Diese Stromunterbrechungen veränderten mein Vertrauen in den Raspberry. Inzwischen ist die Ursache gefunden. Nach der Deinstallation von VoIPBL (VoIP Blacklist) übersteht der Raspberry Stromausfälle wieder zuverlässig. Dennoch ist der Artikel wegen der Beschreibung der Datensicherung lesenswert. – weiter
Raspberry Pi 3 B+ mit Asterisk, Fail2Ban und VoIPBL für den optimalen  Schutz gegen unerwünschte Eindringlinge.
Installation der VoIP Blacklist VoIPBL für Asterisk auf einem Raspberry Pi – 13. März 2021: VoIPBL ist eine kostenlose Blacklist für Asterisk mit Fail2Ban. Diese Blacklist enthält über 20.000 IP-Adressen und wird regelmäßig automatisch aktualisiert, damit sich Asterisk unerwünschte Eindringliche fernhalten kann. Der Dienst funktioniert sehr zuverlässig. Vorsicht: Bei meiner Konstellation führte VoIPBL dazu, dass durch Stromausfälle das Betriebssystem nicht mehr bootete und eine Neuinstallation notwendig war, weshalb ich mich von VoIPBL leider wieder verabschieden musste.weiter