asterisk debuggen
Eine Odysee geht zu Ende. Wochen, Monate hat mich das Problem nun beschäftigt; jetzt habe ich eine Ahnung, woran es hängt, und ich bin zutiefst deprimiert. Fangen wir vorne an…
Mein Router ist eine Netra T1 von Sun (westar). Sie baut die Internetverbindung via pppoe0
auf, macht DNS, DHCP, NAT und so manches andere Geraffel. Die Clients hängen dahinter. Unter anderem der asterisk
-Server, der Pentibumm mit der ISDN-Karte, dem NTBA und dem Telekom-Adapter (fetap). Fehlerbild war und ist – und wird in der Konstellation bleiben – dass einkommende Anrufe via GMX nicht durchkommen, via T-Online und Sipgate jedoch funktioniert alles reibungslos. Ausgehend funktioniert alles bei allen drei Providern ohne Probleme. Die Fehlersuche war lang. Und arg.
Die Lösung in Kürze: GMX fragmentiert die UDP-Pakete, Sipgate und T-Online tun dies nicht. Auf dem pppoe0
-Interface des NetBSD-Routers kommen auch alle Fragmente an, das letzte Fragment des ersten Pakets geht jedoch auf dem internen Weg von pppoe0
zu hme0
verloren. Am **asterisk**
-Server selbst kommt entsprechend Datensalat an – es fehlt ein Fragment, icmp 556: ip reassembly time exceeded
, so kann das nicht funktionieren.
Offenbar ist dies also ein NetBSD-Bug (mal wieder) – ipf
oder IP-Stack oder whatever. Und da ich das Problem schon mit dem Indy-Router hatte (sgimips) ist das Problem nicht einmal auf sparc64
beschränkt! Das ist so traurig. Bleibt also nur eines: entweder die Netra T1 unter Solaris hochziehen oder gleich einen völlig andren Router einsetzen. Oder doch den Pentibumm routen lassen. Oder doch GMX treten. Was fragmentieren die auch ihre Pakete??!
Anruf aus Festnetz auf GMX fehlgeschlagen
00:41:42.640912 IP sip0.schlund.de.5060 > 192.168.1.200.5060: UDP, length: 1773
00:41:42.646815 IP sip0.schlund.de > 192.168.1.200: udp
00:41:43.295007 IP sip0.schlund.de.5060 > 192.168.1.200.5060: UDP, length: 1773
00:41:43.300893 IP sip0.schlund.de > 192.168.1.200: udp
00:41:45.314743 IP sip0.schlund.de.5060 > 192.168.1.200.5060: UDP, length: 1773
00:41:45.320661 IP sip0.schlund.de > 192.168.1.200: udp
00:41:49.354031 IP sip0.schlund.de.5060 > 192.168.1.200.5060: UDP, length: 1773
00:41:49.360382 IP sip0.schlund.de > 192.168.1.200: udp
00:41:53.394017 IP sip0.schlund.de.5060 > 192.168.1.200.5060: UDP, length: 1773
00:41:53.399920 IP sip0.schlund.de > 192.168.1.200: udp
Anruf aus Festnetz an Sipgate erfolgreich
00:37:28.764861 IP ser02.de.sipgate.net.5060 > 192.168.1.200.5060: UDP, length: 1120
00:37:28.768979 IP 192.168.1.200.1024 > westar.localwurst.de.domain: 56598+ A? blafasel.dyndns.account. (36)
00:37:28.963027 IP westar.localwurst.de.domain > 192.168.1.200.1024: 56598 1/5/5 A pxxxxxxxx.dip.t-dialin.net (232)
00:37:28.969892 IP 192.168.1.200.5060 > ser02.de.sipgate.net.5060: UDP, length: 575
00:37:28.978153 IP 192.168.1.200.5060 > ser02.de.sipgate.net.5060: UDP, length: 591
00:37:29.164457 IP 192.168.1.200.5060 > ser02.de.sipgate.net.5060: UDP, length: 591
Anruf aus Festnetz an T-Online erfolgreich
00:39:07.413868 IP 217.0.132.118.5060 > 192.168.1.200.5060: UDP, length: 832
00:39:07.417822 IP 192.168.1.200.1024 > westar.localwurst.de.domain: 56599+ A? blafasel.dyndns.account. (36)
00:39:07.501256 IP westar.localwurst.de.domain > 192.168.1.200.1024: 56599 1/5/5 A pxxxxxxxx.dip.t-dialin.net (232)
00:39:07.507569 IP 192.168.1.200.5060 > 217.0.132.118.5060: UDP, length: 460
00:39:07.511268 IP 192.168.1.200.1024 > westar.localwurst.de.domain: 6898+ A? spillerm.192.168.1.222. (40)
00:39:07.511965 IP westar.localwurst.de.domain > 192.168.1.200.1024: 6898 NXDomain 0/1/0 (115)
00:39:07.512885 IP 192.168.1.200.1024 > westar.localwurst.de.domain: 6899+ A? spillerm. (26)
00:39:07.513160 IP westar.localwurst.de.domain > 192.168.1.200.1024: 6899 NXDomain 0/1/0 (101)
00:39:07.518001 IP 192.168.1.200.5060 > 217.0.132.118.5060: UDP, length: 476
00:39:07.684523 IP 192.168.1.200.5060 > 217.0.132.118.5060: UDP, length: 476
Hintergrundbild: 849x 500px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten