Das Problem
Sie haben eine Asterisk-Telefonanlage nach bestem Wissen und Gewissen aufgesetzt und SIP-Accounts für Ihre SIP-Telefone eingerichtet. Die Konfiguration sieht völlig korrekt aus. Auch die Telefone sind korrekt konfiguriert. Trotzdem können sich diese bei der Asterisk nicht anmelden.
Auch bei aktiviertem sip debug
sieht man nicht mal Fehlermeldungen. sip show peers
zeigt zwar die Accounts aber keine IP-Addressen der Telefone.
Auch das Netzwerk ist nicht das Problem: Die Telefone lassen sich von der Asterisk aus anpingen.
Die Ursache
Auf der Asterisk ist die Firewall (IP-Paketfilter, iptables
) aktiviert. Bei SUSE LINUX und anderen Distributionen ist ist dies die Standardeinstellung.
Ob der Paketfilter aktiv ist, können Sie als root
wie folgt herausfinden. Nur wenn Sie folgende Ausgabe bekommen, ist alles freigeschaltet:
root@linux# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Die Lösung
Sofern Ihre Asterisk nicht direkt mit dem Internet verbunden ist und auch sonst keine Sicherheitsaspekte dagegen sprechen, deaktivieren Sie die Firewall. Bei SUSE geht dies z.B. mit YaST unter dem Punkt Sicherheit und Benutzer -> Firewall. Wählen Sie dort bei Service starten die Option Manuell und bei An- und ausschalten den Knopf Firewall nun stoppen.