Asterisk-PBX

Einleitung

Asterisk ist eine OpenSource-Software zur Einrichtung einer kompletten Telefonanlage auf Basis der VoIP-Protokolls SIP.

Am Asterisk-Server können sich anschließend beliebige SIP-Clients (Soft-/Hardphones) anmeldet und dar¨ber untereinander telefonieren. Zur Verbindung mit der Außenwelt kann sich der Asterisk-Server selber wiederum als Client bei beliebigen SIP-Registraten anmelden.

Dieses Tutorial soll die wichtigsten Konfigurationshilfen zum Betrieb einer Asterisk-PBX zusammen mit den SIP-Providern 1&1, Sipgate und dus.net geben.

Installation

Nach dem Download der aktuellen Asterisk-Version von www.asterisk.org lässt sich diese durch den in der Unix-Welt üblichen Dreisatz "./configure && make && make install" installieren.

Möchte man den Asterisk direkt unter /usr, /var und /etc installieren, empfiehlt sich folgende configure-Zeile:

./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc

Bei einer Erstinstallation sollte man mit "make samples" noch die Beispielkonfigurationsdateien installieren.

Firewall-Konfiguarion

Wird der Asterisk-Server durch ein NAT-Gateway hindurch betrieben (d.h. hinter einem Router), so sind folgende Anpassungen empfehlenswert:

sip.conf

[general]
bindport=5060
bindaddr=0.0.0.0
tos_sip=cs3
tos_audio=ef
tos_video=af41
maxexpiry=3600
minexpiry=60
defaultexpiry=600
disallow=all
allow=alaw
language=de
registertimeout=30
registerattempts=0
externhost=<DynDNS-Name>
externrefresh=600
localnet=192.168.0.0/255.255.0.0
localnet=10.0.0.0/255.0.0.0
localnet=172.16.0.0/12
localnet=169.254.0.0/255.255.0.0
nat=no
canreinvite=no

rtp.conf

[general]
rtpstart=5004
rtpend=5023

Anschließend müssen nur noch im NAT-Gateway (=Router) die UDP-Ports 5060 und 5004-5023 an die private IP-Adresse des Asterisk-Server weitergeleitet werden.

SIP-Registrar: Sipgate

Folgende Einträge müssen in der sip.conf separat für jeden einzelnen SIP-Account eingerichtet werden:

[general]
register => <SIP-ID>:<Passwort>@sipgate.de/<SIP-ID>
[<SIP-ID>]
type=peer
username=<SIP-ID>
fromuser=<SIP-ID>
secret=<Passwort>
host=sipgate.de
fromdomain=sipgate.de
nat=no
insecure=port,invite

Zusätzlich muss einmalig folgender Eintrag erstellt werden, damit auch ankommende Gespräche korrekt angenommen werden:

[sipgate_in]
type=peer
fromdomain=sipgate.de
host=sipgate.de
insecure=port,invite
nat=yes
context=incoming

SIP-Registrar: 1&1

Folgende Einträge müssen in der sip.conf separat für jeden einzelnen SIP-Account eingerichtet werden (die Telefonnummer ist im Format 4972... einzugeben):

[general]
register => <TelNr>:<Passwort>@sip.1und1.de/<TelNr>
[<TelNr>]
type=peer
username=<TelNr>
fromuser=<TelNr>
secret=<Passwort>
host=sip.1und1.de
fromdomain=sip.1und1.de
nat=no
insecure=port,invite

Zusätzlich müssen einmalig folgende beiden Einträge erstellt werden, damit auch ankommende Gespräche über den SIP-Cluster korrekt angenommen werden:

[1und1_in_11]
type=peer
fromdomain=sip.1und1.de
host=sipbalance1-1.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_12]
type=peer
fromdomain=sip.1und1.de
host=sipbalance2-1.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_13]
type=peer
fromdomain=sip.1und1.de
host=sipbalance3-1.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_14]
type=peer
fromdomain=sip.1und1.de
host=sipbalance4-1.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_21]
type=peer
fromdomain=sip.1und1.de
host=sipbalance1-2.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_22]
type=peer
fromdomain=sip.1und1.de
host=sipbalance2-2.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_23]
type=peer
fromdomain=sip.1und1.de
host=sipbalance3-2.1und1.de
insecure=port,invite
nat=yes
context=incoming
[1und1_in_24]
type=peer
fromdomain=sip.1und1.de
host=sipbalance4-2.1und1.de
insecure=port,invite
nat=yes
context=incoming

SIP-Registrar: dus.net

Folgende Einträge müssen in der sip.conf separat für jeden einzelnen SIP-Account eingerichtet werden (die dusID ist im Format 00038... einzugeben):

[general]
register => <dusID>:<Passwort>@voip.dus.net/<dusID>
[<dusID>]
type=peer
username=<dusID>
fromuser=<dusID>
secret=<Passwort>
host=voip.dus.net
fromdomain=voip.dus.net
nat=no
insecure=port,invite

Zusätzlich müssen einmalig folgende drei Einträge erstellt werden, damit auch ankommende Gespräche über den SIP-Cluster korrekt angenommen werden:

[dus_in_talos]
type=peer
fromdomain=talos.dus.net
host=talos.dus.net
insecure=port,invite
nat=yes
context=incoming
[dus_in_zelos]
type=peer
fromdomain=zelos.dus.net
host=zelos.dus.net
insecure=port,invite
nat=yes
context=incoming
[dus_in_helios]
type=peer
fromdomain=helios.dus.net
host=helios.dus.net
insecure=port,invite
nat=yes
context=incoming
[dus_in_taris]
type=peer
fromdomain=taris.dus.net
host=taris.dus.net
insecure=port,invite
nat=yes
context=incoming