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