Hi Admins. Kann man das Ding irgendwie Global über alle VOIP Hardware-/Software + alle Router hängen ? 
Ich habe die Ursache der Probleme gefunden, dass Software/Hardware sich nicht mehr neu bei Sipgate registrieren kann.
Trifft auf alle Router zu, incl. Linux.
Ebenso nicht nur auf Asterisk, sondern auch auf alle ATA's und Hardware Phones.
Ursache:
NAT, DSL mit dynamischer IP.
Wo die Probleme nicht auftauchen:
Kein NAT.
Kein 24h disconnect.
Feste IP bei Provider.
Asterisk direkt auf Linux-Router (keine externip gesetzt, falls doch, dann auch hier!)
Problembeschreibung:
Asterisk kann sich nicht mehr bei Sipgate (die Meldungen kamen zwar bei Nikotel nicht, aber trotzdem ist es falsch, auch für IAX!) registrieren.
Meldungen flooden den Bildschirm:
Sep 23 15:59:18 NOTICE[81925]: chan_sip.c:3922 sip_reg_timeout: Registration for '[email protected]' timed out, trying again
Sep 23 15:59:24 WARNING[81925]: chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 187 (Critical Request)
Dieses Problem tritt auf, wenn man beim ISP gekickt wird (24h disconnect).
Der Router wählt sich daraufhin wieder neu ein.
Das Problem ist aber NAT, wo unter Linux die ip connection tracking table weiterhin die alten Connections sind.
Das Problem ist jetzt, die alte IP in dem gespeicherten Paket.
Der Router scheint einfach keine neue Connection in die Conntrack Table einzustellen, trotz alldem Asterisk sich ständig versucht, bei Sipgate neu zu registrieren.
NAT denkt wohl, er hätte schon die richtige Connection in der NAT Tabelle.
Aber halt leider mit der falschen Destination, d.h Sipgate schickt das Packet an die falsche Zieladresse.
Workaround.
1. Möglichkeit
Crontab, und den Router nachts z.B um 4am rebooten.
Damit wird die IP resettet, ebenso wird die NAT Tabelle geflusht.
Es tritt nicht nur bei Linux Routern auf!
Auch andere Route haben eine NAT Tabelle, die falsche Einträge beinhaltet!!!
Dann kann z.B per Crontab Asterisk um 4:10am angewiesen werden, einen reload durchzuführen (Aktualisierung der externip dyndns IP).
-> Dies ist leider notwendig, aber Asterisk spezifisch (da sonst One-Way Audio, weil Asterisk sich noch falsche IP merkt).
2. Möglichkeit
Per crontab das ADSL Stoppen und wieder neu starten.
-> Der Router bekommt eine neue IP.
-> Vorteil von crontab : Man macht es nachts, wo es nicht stört.
Dann muss man aber ebenso die NAT Tabelle löschen.
Unter Linux:
rmmod ip_conntrack
insmod ip_conntrack
Ein Schelm der da ist, der connection tracking mit in den Linux Kernel kompiliert hat.
Der hat hier leider das nachsehen, da es scheinbar laut Netfilter Mailinglist keine Möglichkeit gibt, die Tabelle ohne Modul Reload zu flushen.
Hier noch eine Anleitung für einen ATA + Nicht-Linux Router:
1. Im ATA /IP-Telefon wird man nix machen müssen (der merkt sich ja keine IP, oder doch ?)
2. Per Zeitschaltuhr den Router nachts auschalten, und wieder einschalten lassen.
Dann ist die IP eine Neue + NAT Tabelle gelöscht.
Viel Spaß beim Fluchen
Blackvel
PS: Die Welt ist grausam!

Ich habe die Ursache der Probleme gefunden, dass Software/Hardware sich nicht mehr neu bei Sipgate registrieren kann.
Trifft auf alle Router zu, incl. Linux.
Ebenso nicht nur auf Asterisk, sondern auch auf alle ATA's und Hardware Phones.
Ursache:
NAT, DSL mit dynamischer IP.
Wo die Probleme nicht auftauchen:
Kein NAT.
Kein 24h disconnect.
Feste IP bei Provider.
Asterisk direkt auf Linux-Router (keine externip gesetzt, falls doch, dann auch hier!)
Problembeschreibung:
Asterisk kann sich nicht mehr bei Sipgate (die Meldungen kamen zwar bei Nikotel nicht, aber trotzdem ist es falsch, auch für IAX!) registrieren.
Meldungen flooden den Bildschirm:
Sep 23 15:59:18 NOTICE[81925]: chan_sip.c:3922 sip_reg_timeout: Registration for '[email protected]' timed out, trying again
Sep 23 15:59:24 WARNING[81925]: chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 187 (Critical Request)
Dieses Problem tritt auf, wenn man beim ISP gekickt wird (24h disconnect).
Der Router wählt sich daraufhin wieder neu ein.
Das Problem ist aber NAT, wo unter Linux die ip connection tracking table weiterhin die alten Connections sind.
Code:
udp 17 175 src=192.168.1.2 dst=217.10.79.9 sport=5060 dport=5060 src=217.10.79.9 dst=213.23.37.141 sport=5060 dport=5060 [ASSURED] use=1 mark=0
udp 17 172 src=192.168.1.2 dst=69.73.19.178 sport=4569 dport=4569 src=69.73.19.178 dst=213.23.37.141 sport=4569 dport=4569 [ASSURED] use=1 mark=0
Das Problem ist jetzt, die alte IP in dem gespeicherten Paket.
Der Router scheint einfach keine neue Connection in die Conntrack Table einzustellen, trotz alldem Asterisk sich ständig versucht, bei Sipgate neu zu registrieren.
NAT denkt wohl, er hätte schon die richtige Connection in der NAT Tabelle.
Aber halt leider mit der falschen Destination, d.h Sipgate schickt das Packet an die falsche Zieladresse.
Workaround.
1. Möglichkeit
Crontab, und den Router nachts z.B um 4am rebooten.
Damit wird die IP resettet, ebenso wird die NAT Tabelle geflusht.
Es tritt nicht nur bei Linux Routern auf!
Auch andere Route haben eine NAT Tabelle, die falsche Einträge beinhaltet!!!
Dann kann z.B per Crontab Asterisk um 4:10am angewiesen werden, einen reload durchzuführen (Aktualisierung der externip dyndns IP).
-> Dies ist leider notwendig, aber Asterisk spezifisch (da sonst One-Way Audio, weil Asterisk sich noch falsche IP merkt).
2. Möglichkeit
Per crontab das ADSL Stoppen und wieder neu starten.
-> Der Router bekommt eine neue IP.
-> Vorteil von crontab : Man macht es nachts, wo es nicht stört.
Dann muss man aber ebenso die NAT Tabelle löschen.
Unter Linux:
rmmod ip_conntrack
insmod ip_conntrack
Ein Schelm der da ist, der connection tracking mit in den Linux Kernel kompiliert hat.
Der hat hier leider das nachsehen, da es scheinbar laut Netfilter Mailinglist keine Möglichkeit gibt, die Tabelle ohne Modul Reload zu flushen.
Hier noch eine Anleitung für einen ATA + Nicht-Linux Router:
1. Im ATA /IP-Telefon wird man nix machen müssen (der merkt sich ja keine IP, oder doch ?)
2. Per Zeitschaltuhr den Router nachts auschalten, und wieder einschalten lassen.
Dann ist die IP eine Neue + NAT Tabelle gelöscht.
Viel Spaß beim Fluchen
Blackvel
PS: Die Welt ist grausam!
