silvesterlangen.de

Seite
Menü

Asterisk*

Wäre es nicht schön eine eigene Telefonanlage ohne hohe Kosten zu besitzen und sie den Bedürfnissen und Veränderungen daheim einfach anzupassen? Asterisk hat zwar den wohlverdienten Ruf, dass man mindestens ein Woche braucht, um sich einzulesen, bevor man überhaupt an Installation und Konfiguration denken kann, aber wenn es ein mal läuft, dann läuft es!

Dieses HowTo ist eine Anleitung für eine einfache Installation und Konfiguration für die heimische Telefonanlage. Der Aufwand ist höchstens 90 Minuten, aber das Ergebnis hält jahrlang.

 

Das Ziel:

Das HowTo zeigt die Installation und Konfiguration einer kleinen Anlage die

  1. Telefone im Haus verbindet und untereinander kommunizieren lässt,
  2. Mailboxen für jedes Telefon anbietet und
  3. das interne Telefonnetz mit der Außenwelt verbindet.

 

Voraussetzungen:

Ich gehe von einer ganz frischen Debian Strech 9.0 Installation aus. Die IP-Adresse ist breits vergeben und die Apt-Sourcen sind ebenfalls schon eingerichtet, sodass wir Pakete daraus installieren können. Im Idealfall gibt es einen DNS-Eintrag für den Asterisk. Das ist aber kein Muss.

 

Die Installation

Zunächst installieren wir Asterisk aus dem Repository mit:

apt-get install asterisk -y

Das -y sorgt dafür, dass Apt uns nicht mehr fragt, ob wir die Pakete installieren wollen und legt gleich mit der Installation los. Wenn Apt fertig ist, dann ist die Konfiguration fällig.

 

Zwei Telefone

Fangen wir ganz klein an und konfigurieren zwei Telefone. Wir müssen dazu zwei Dateien verändern. Die erste Datei ist die sip.conf, die sich in /etc/asterisk/ befindet. Die Originaldatei kann man sich ja wegsichern. In jedem Fall empfehlen ich mit einer leeren Datei zu beginnen, um sich nicht in der Masse der Möglichkeiten zu verlieren.

/etc/asterisk/sip.conf

[general] 
port=5060 
bindaddr=0.0.0.0 
[2000] type=friend secret=1234 host=dynamic
[2001] type=friend secret=1234 host=dynamic

Das [general] ist ein Context mit Einstellungen, die global für alle gelten. Einstellungen, die speziell für einen Client gemacht werden müssen, sind innerhalb der Contexte des jeweiligen Kontos zu machen.

Jede Telefon-Nummer ist ein Context. In diesem Falle also die 2000 und 2001 in den eckigen Klammern. Die Nummer ist zeitgleich der Benutzername, den wir später im Telefon konfigurieren. Ebenfalls ist es die Telefonnummer, die wir vergeben. Das Type=friend bedeutet, dass diese Nummer anrufen und angerufen werden kann. Das Secret=1234 ist das Passwort zu dem Benutzer. Host=dynamic bedeutet, dass sich die IP des Telefons ändern darf/kann.

Jetzt haben wir zwei Telefon-Konten definiert und wir könnten schon zwei SIP-Telefone darauf konfigurieren. Allerdings können die beiden Geräte nicht miteinander kommunizieren. Dazu brauchen wir den Dial-Plan. Eine Konfigurationsdatei, die festlegt wer mit wem kommunizieren darf.

 

Die zweite Datei, die bearbeitet werden muss ist die extensions.conf. Sie liegt ebenfall in /etc/asterisk/ und auch sie sollte leer begonnen werden, um den Überblick zu behalten.

/etc/asterisk/extensions.conf

exten => 2000,1,Dial(SIP/2000)

exten => 2001,1,Dial(SIP/2001)

Die beiden Zeilen erkläre ich später etwas genauer, wenn noch weitere hinzugekommen sind. Dann ist es leichter zu verstehen. Darum bitte ich um etwas Geduld.

Ist der Inhalt erst mal in der Datei und abgespeichert, so muss Asterisk nur noch aufgefordert werden die Konfigurationsdateien neu einzulesen. Dazu müssen wir uns erst mal zum Asterisk CLI verbinden, um Asterisk Befehle mitteilen zu können. Das geht mit:

asterisk -r

und dann in der CLI:

reload

Die CLI verlässt man übrigens mit exit bzw. quit. Um Asterisk etwas geschwätziger zu machen, dass man mehr Informationen zu den Vorgängen bekommt fügt man einfach ein paar "v" hinzu. Je mehr "v", desto geschwätziger wird Asterisk. Das geht bis zu 10 x "v".

asterisk -vvvvvr

Hat Asterisk erst mal die Konfiguration neu eingelesten, so können die Telefone konfiguriert und verbunden werden. Als SIP-Server dient die IP vom Asterisk. Der Benutzername ist die Nummer und das Passwort hier im Beispiel ist 1234.

Ob die Verbindung zum Asterisk funktioniert hat sieht man direkt in der CLI. Reicht die Geschwätzigkeit noch nicht ganz aus, so fügt man einfach noch ein oder zwei v hinzu oder innerhalb der CLI kann man auch "core set verbose 7" setzen.

Das Telefonieren mit beiden Geräten sollte nun möglich sein. Möchte man mehr als zwei Telefone, dann muss die Konfiguration (beide Dateien) einfach erweitert werden. Ganz genau nach dem Vorbild wie wir es jetzt haben.

 

Die Mailboxen einrichten

Natürlich bietet Asterisk auch Mailboxen (Anrufbeantworter) an. Das zu konfigurieren ist ein Kinderspiel. Dazu muss die Datei voicemail.conf, die sich in /etc/asterisk/ befindet konfiguriert werden. Auch hier gilt das gleiche wie bei den anderen beiden Dateien zuvor: Leer beginnen.

/etc/asterisk/voicemail.conf

[general]
format = wav
[default]
2000 => 4711,Hans Mustermann,hansi@company.de
2001 => 0815,Ute Beispiel,ute.beispiel@company.de

Und danach die sip.conf noch mal editieren und so anpassen, dass sie wie folgt ausschaut:

/etc/asterisk/sip.conf

exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,VoiceMail(2000,u)
exten => 2001,1,Dial(SIP/2001,20) exten => 2001,2,VoiceMail(2001,u)
exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

Ist das geschehen, dann kann wieder mit reload die Konfiguration neu eingelesen werden. Wie man sieht haben beide Zeilen jeweils noch mal eine Zeile hinzubekommen. Zusätzlich hat die erste Zeile ein ",20" angehängt bekommen. Das ",20" ist die Zeit in Sekunden bis die Mailbox ran geht. Die letzte Zeile mit der Nummer 2999 ist die Zeile für die Mailbox. Um sie zu erreichen, um Nachrichten abzuhören gibt man einfach 2999 als Telefonnummer ein.

 

Anbindung an die Außenwelt

Damit sich unser Asterisk zum SIP-Anbieter (hier ein Beispiel für die Telekom VoIP) verbinden kann, bedarf es noch ein paar Einträge. Also die sip.conf nochmal öffnen und direkt unter [general] folgende Zeile hinzufügen.

register => 021121556501:123456789:0017283936854-0001@tel.t-online.de/021812155501~480
;                              ^                 ^                      ^                                ^                      ^
;                              |                  |                      |                                 |                      |
;                          TelNr      Passwort     Anschl-Kennung           Provider             TelNr
;                                                               + Mitbenutz#

[ext-sip-account]
type=peer
username=0017283936854-0001
fromuser=021121556501
secret=123456789
fromdomain=tel.t-online.de
host=tel.t-online.de
realm=tel.t-online.de
canreinvite=no
dtmfmode=info
; insecure=very
nat=force_rport,comedia
qualify=3600

Am Schluss der Register-Zeile dieses ~480 unbedingt anhängen.

Als letztes fügen wir in die extensions.conf noch folgende Zeilen hinzu, dass Asterisk weiß wie es mit Nummer ins Festnetz umgehen soll.

exten => _0[1-9].,1,Dial(SIP/${EXTEN}@ext-sip-account)

[von-voip-provider]
exten => 002469308721,1,Dial(SIP/2000)

Jetzt noch den Port 5060 UDP auf die IP des Asterisk forwarden und dann sollte es gehen. Wenn der Router ebenfalls VoIP-Telefonanlage ist wie Speedport 724w, dann klappt das nicht, weil der Speedport 5060 für sich beansprucht.

 

 

 

 

weiter zu:

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login