Debug

Aus STARFACE Wiki

Wechseln zu: Navigation, Suche
Attention-Orange.svg Diese Anleitung behandelt ein Thema, dass tiefgreifendes Wissen von Linux und STARFACE erfordert.

Inhaltsverzeichnis

Allgemein

Auf dieser Seite sind diverse Möglichkeiten beschrieben wie man bestimmte Szenarien debuggen kann bzw. wie
man an bestimmte Informationen heran kommt und diese sammelt.

Via SSH auf die STARFACE verbinden

Allgemein

Je nach Fehlerfall muss man über die Möglichkeiten des Web-Interfaces der STARFACE hinausgehen und tiefer in das System schauen. Dies passiert am Besten über eine SSH-Verbindung mit der man direkt auf die Linux-Ebene der STARFACE schauen kann.
Als Tool hierfür empfehlen wir PuTTY.

Verbindungsaufbau

Abb.1 Neue PuTTY Verbindung

Hierzu muss schlicht PuTTY gestartet werden und dort die entsprechenden Daten für die Verbindung zur STARFACE eingetragen werden. Wichtig sind hier folgende Einstellungen:

  • Host Name (or IP Adress): Hier muss entweder der Hostname der STARFACE (starface.firma.org) oder die IP-Adresse eingetragen werden
  • Port: 22 (default für SSH)
  • Connection Type: SSH

siehe auch Abb.1

Authentifizierung

Abb.2 Shell prompt

Nach dem Öffnen der Verbindung bekommt man eine Benutzerabfrage gefolgt von einer Passwort-Abfrage. Der Benutzer für die SSH-Verbindung ist immer "root".

Informationen zu dem Passwort finden Sie im FAQ-Bereich.

Datei Transfer von/zur STARFACE Anlage

Der Datei Transfer erfolgt auch über Port 22, also über eine SSH-Verbindung. Die unterstützten Protokolle für eine Übertragung wären Secure Copy (SCP) oder SSH File Transfer Protokoll (SFTP). Für die Anmeldung werden die selben Daten benötigt, wie für eine normale SSH Verbindung auf die Konsole.

Windows

Für Windows gibt es eine Reihe von Clients, die SCP unterstützen. Ein leicht zu bedienendes und kostenloses Programm ist WinSCP.

Mac

Ein kostenloser Client für das Mac OS X Betriebsystem ist Cyberduck. Außerdem ist ein kommandozeilen Programm "SCP" in lieferumfang des Systems vorinstalliert, wobei die Benutzung nur für erfahren Benutzer empfohlen wird.

SIP debugging

Allgemein

Die hier beschriebene Syntax ermöglicht es SIP Packete mit zu schneiden. Dies wird i.d.R. eingesetzt um z.B.
eine Registrierung mit einem Provider zu debuggen oder die Anmeldung eines Telefons an der STARFACE.

Generell kann hier aber natürlich alles mitgeschnitten werden was auf SIP-Ebene passiert.
Als Grundlage wird eine aktive SSH-Verbindung benötigt, als auch eine offene Asterisk-Konsole (asterisk -rvvvv)

Syntax

sip set debug

Dadurch werden alle SIP-Packete die der Asterisk empfängt oder selbst versendet angezeigt.

sip set debug ip <IP-Adresse>

Hierbei werden alle SIP-Packete angezeigt die der Astersik an die definierte IP-Adresse sendet oder von dieser empfängt.

sip set debug peer <Peer-Name>

Es passiert eine Auflösung des Telefon- bzw. Peernamens zu der IP-Adresse der entsprechenden Gegenstelle. Daraufhin werden alle SIP-Packete
dargestellt die an diese Gegenstelle gehen oder von dieser empfangen werden

sip set debug off

Damit können alle o.g. Log-Level wieder deaktiviert werden.

Icon-attention.png Aktiviert man eines der o.g. SIP-Log Level dann werden die Daten nicht nur auf der Asterisk-Konsole angezeigt, sondern auch in das full.log geschrieben.
Deaktiviert man das logging nicht können die Logs also u.U. entsprechend schnell sehr groß und unübersichtlich werden. Wir empfehlen daher das SIP-Debugging immer nur fallweise für kurze Zeiträume zu aktivieren.

tcpdump

Allgemein

Mit dem Linux-Kommandozeilenbefehl tcpdump kann der Netzwerkverkehr von und zu der STARFACE Anlage überwacht und mitgeschnitten werden. Diese Ausgaben können auch in eine Datei geschrieben werden. Diese Datei kann dann mit dem Programm Wireshark nachträglich ausgewertet und überprüft werden.

Einfaches Mitschneiden von Paketen die über das Netzwerk laufen

eth0 bezeichnet in der Regel die erste Netzwerkkarte im System, eth1 wäre die zweite Netzwerkkarte. Die Aufnahme des Traces kann jederzeit mit "Strg + C" abgebrochen werden.

tcpdump -i eth0

Mitschneiden von Paketen direkt in eine Datei

Die Datei "dump.pcap" ist das Ziel der Trace-Ausgaben. Mit dem Parameter "s" wird angegeben wieviel von einem Paket mitgeschnitten werden soll. Mit s0 als Parameter wird das ganze Paket mitegschnitten.

tcpdump -i eth0 -w dump.pcap -s0

Mitschneiden von Paketen mit einer IP-Adresse als Quelle oder Ziel

tcpdump host 192.168.2.158 -s0 -w dump.pcap -i eth0

Mitschneiden von Paketen mit einem Port als Quelle oder Ziel

Folgender Befehl würde alle SIP-Pakete mitschneiden die über eth0 laufen.

tcpdump port 5060 -s0 -w dump.pcap -i eth0

tcpdump im Hintergrund starten

nohup tcpdump host 192.168.2.158  -i eth0 -w dump.pcap -s0 &

oder

nohup tcpdump port not http and port not ssh  -i eth0 -w dump.pcap -s0 -vv &

Prozess beenden

killall tcpdump

ISDN

Um einen Mitschnitt des D-Kanals zu aktivieren, kann folgender Befehl auf der Linux Konsole eingegeben werden

activate_sirrix_debug.sh

Nach dem nächsten Dienste-Neustart wird die komplette Kommunikation auf allen ISDN Ports gelogged und in das folgende Verzeichnis gelegt:

/var/log/sirrix-dch/

Deaktivieren des ISDN Debugs

rm -f /var/starface/sirrix_debug

Szenarien

Allgemein

Um das debuggen klarer zu gestalten, werden hier diverse Szenarien skizziert anhand derer ein bestimmtes Vorgehen zur Fehlersuche erläutert wird.

Homeoffice

Telefone die sich im Homeoffice befinden

Meine Werkzeuge