Freie IT-Beratung
Rolf Winterscheidt http://www.rowi.net Main.SideBar (edit)SciroccoDas Scirocco-Wiki ist nun unter: http://wiki.sciroccoforum.deIP-TelefonieSecondLifeWeitere Themen
|
Gerade als Einsteiger in die Welt von Asterisk ist es nicht leicht, jede Fehlermeldung genau und eindeutig zu interpretieren. Aber auch Leuten mit Tiefenwissen in Asterisk können bestimmte Konstellationen auch graue Haare bereiten. Wichtig ist es in diesem Zusammenhang aber ganz besonders, dass man nicht wahllos an irgendwelchen Parametern dreht, in der Hoffnung, dass es vielelciht irgendwie wieder klappt. Eine genaue Analyse mit den geeigneten Werkzeugen führt viel erfolgversprechender zum Ziel. Erst wenn man verstanden hat, um was es da eigentlich geht, kann man ein stabiles System aufbauen.
EtherealBesonders aus der Windows-Welt ist Ethereal bekannt (http://www.ethereal.com). Es lässt sich einfach herunterladen und installieren. Für jemanden, der sich mit Asterisk beschäftigt, sollte das eine Kleinigkeit sein. Doch was wollen wir mit Windows-Programmen? Asterisk läuft doch unter Linux. Naja, als Arbeits-PC habe ich nach wie vor gern einen Windows-Rechner und da bin ich wohl nicht der einzige, man weiss halt das Beste aus beiden Welten zu vereinen :-). Mit dem Ethereal kann man z.B. mit einem alten Hub (kein Switch!) die Daten auf dem Netzwerk mitlesen. Es gibt zwar auch manageable Switches, die den Traffic auf einen Port durchreichen können, doch müssen wir das hier nicht komplizierter als nötig machen. Auch mit Hilfe von z.B. X-Lite, einem Softclient, der wohl heute nicht mehr frei erhältlich ist, kann man mit Ethereal auf dem gleichen PC testen. Ethereal ist recht selbsterklärend. Unter Capture >> Start startet man das Mitschneiden. Sind mehrere Netzwerkkarten verbaut, sollte man die entsprechende vorher auswählen. Ein fertiger Mitschnitt mit entkoppeltem RTP-Stream (direkt von Telefon zu Telefon) sieht dann etwa so aus:![]() Doch was ist, wenn man die Daten von Asterisk nehmen möchte? Geht das? Und wie! Mit dem Export von tcpdump captures: Tcpdump und ngrepJeder, der sich mal etwas mit Netzwerken unter Linux beschäftigt hat, wird tcpdump kennen. Mit einem einfachentcpdump port 5060sieht man die SIP-Pakete (und nur die!), doch besser zur Streamanalyse eigenet sich da Ethereal, also kann man einfach alles mitschneiden, was sich auf dem Server tut (bitte nicht nur Port 5060, denn wir wollen ja auch wissen, was das RTP macht). Das geht z.B. so: tcpdump -s 0 -w capture.capMit dem Parameter s, der auf 0 gesetzt wird, sagen wir tcpdump, dass es die mitgeschnittenen Pakete nicht begrenzen soll (sonst mag das Ethereal nicht so). Abbrechen kann man tcpdump mit CTRL-C (oder neudeutsch STRG-C). Ist dann die Datei capture.cap wie auch immer auf den Windows-Rechner transferiert (scp kann da gute Dienste leisten), braucht man es nur noch aufzurufen (Die Endung .cap ist dabei wichtig). |