Problem mit 24h disconnect

segfault

Neuer User
Mitglied seit
24 Okt 2004
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo Asterisk fans!

ich habs in Otaku's Sckript-Thread schonmal gepostet, aber der ist wohl etwas
alt und eigentlich ist mein Problem fats OT.
Die Hilfe hat mir leider auch nicht wesentlich viel gebracht, oder ich habs trotz
mehrmaligen Suchens nicht gefunden...

okay.
Ihr alle wisst, dass es bei T-offline 24 disconnects gibt.
Doch obwohl ich frueher mit dyndns-name, jetzt mit Otakus script
immer fuer eine aktuelle IP in der sip.conf sorge, spammt mich asterisk
auch nach einem reload mit bescheuerten Warnings zu und ich
kann den sip channel weder eingehend, noch ausgehend benutzen.

Log:
Code:
Jan 17 19:39:38 WARNING[15896]: Maximum retries exceeded on call [email protected] for seqno 102 (Critical Request)
Jan 17 19:39:38 WARNING[15896]: Maximum retries exceeded on call [email protected] for seqno 102 (Critical Request)
Jan 17 19:39:52 NOTICE[15896]: Registration for '[email protected]' timed out, trying again
Jan 17 19:39:52 NOTICE[15896]: Registration for '[email protected]' timed out, trying again

etc.....

meine sip.conf:

Code:
[general]
port = 5061
bindaddr = 0.0.0.0
context = default
srvlookup = yes	
tos=0x18	

maxexpirey=3600	
defaultexpirey=120
disallow=all	
allow=gsm
allow=ulaw
allow=alaw

register => xxx:[email protected]/xxx 
register => yyy:[email protected]/yyy 

externip = 217.229.5.91
localnet = 192.168.5.0/255.255.255.0

canreinvite=no
insecure=very
nat=yes
dtmfmode=info

[x]
type=friend
username=xxx
secret=aaa
host=sipgate.de
fromuser=xxx
fromdomain=sipgate.de
context=remote
canreinvite=no
qualify=yes
disallow=all
allow=gsm
allow=alaw
allow=ulaw
insecure=very
nat=no
dtmfmode=info
tos=0x18

[y]
type=friend
username=yyy
secret=bbb
host=sipgate.de
fromuser=yyy
fromdomain=sipgate.de
context=remote
canreinvite=no
qualify=yes
disallow=all
allow=gsm
allow=alaw
allow=ulaw
insecure=very
nat=no
dtmfmode=info
tos=0x18

und ja, ich hab auch schon qualify=no in beiden contexts gesetzt... es bringt
einfach nix.
Ich kann Asterisk auch mit nem richtigen restart quaelen... bringt nix!

Genaugenommen reicht auch ein kaltstart nicht. Ich muss asterisk
richtig beenden, und dann erstmal ne Minute oder sowarten(!!!) bevor sich *
wieder erfolgreich registrieren kann!

Ich weiss es muss offensichtlich sein, ich weiss ich stell mich duemmlich an...
aber es kann doch nicht sein, dass mein setup perfekt funktioniert und ich lediglich
dieses eine Problem nicht hinkriege! Ich verzweifel langsam...

Bitte Leuts, bin doch nicht der einzige mit dynamischer IP....


Danke fuer jeden Hinweis! :)

SegFault
 
Liegt an Deinem DSL-Router.
Steck raus, neu rein, dann gehts.

Der Kluge VOIP Benutzer hat einen ADSL Router mit Linux, der sich per Crontab immer um 4am nachts rebootet.
Asterisk führt dann 4:05am reload aus.

Liegt an der NAT-Tabelle der bescheuerten DSL-Router.
Schau mal in die VOIP-FAQ Seite, Rajo und ich haben hierzu was geschrieben.
http://www.ip-phone-forum.de/spip/article.php3?id_article=24
 
Bevor ich das script eingesetz habe hatte ich einfach bei externip meine DynDNS Domain stehen. Mit einem nächtlichen restart per cron hatte ich damit keine probleme.

Mit dem script von Otaku habe ich auch fast keine (manchmal hängt sich der Prozess auf).

Bist Du sicher, dass das script die richtige IP einträgt (Berechtigung checken)?

jo
 
@Rollo: ja, die IP stimmt.

@Blackvel:
Alles klar, Du bist also der selbe Blackvel, der auch im openWRT Forum sein
Unwesen treibt.

Vielen Dank fuer den Tipp mit den NAT Tabellen, da haett ich auch selbst drauf
kommen muessen :(

OK, hab auch Deinen thread zum Thema gelesen. Aber in den originalen netfilter bugs gehts
eher um timeouts von Connections und nicht um das komplette flushen beim
reconnect...

Zu Deiner Loesung mit cron...
nein. Das ist ein Provisorium das mir ueberhaupt nicht in den Kram passt.
Leider macht die T-Com hier gelegentlich mist und dann hab ich keine vollen
24h, sondern manchmal drei Discon's am Tag, wenn Asterisk dann
ins Straucheln kommt, bringt mir die ganze Sache nix.

Also koennte man sowas machen wie wrt reboot sobald die Verbindung weg ist
=> Endless reboots im Falle, dass DSL mal wieder down ist.. => bullshit.

Deine Loesung mit dem reboot gefaellt mir ausserdem nicht, weil dann
waehrend des reboots das ganze LAN tod ist.

mein ip_conntrack ist natuerlich auch in den kernel kompiliert -> kein reload
des moduls wie in der FAQ (die ich bis dato gar nicht kannte...)


Blackvel, danke. Ich werd in der Richtung nochmal recherchieren... gibts
denn wirklich keine Moeglichkeit einen manuellen flush durchzufuehren?

Schoenen Abend noch,
SgeFault
 
Also manueller Flush, sag mir Bescheid. Such ich auch schon ewig :(

Best Case:
rmmod ip_conntrack, insmod ip_conntrack :(

Alternative (die magst Du nicht):
Roaring Penguin mit OpenWRT als PPPoE.
Das kann nach connect/disconnect auch ein Script ausführen.
z.B asterisk reload (ssh mit Clientzertifikat ohne root pwd Abfrage).

Aber wie erkennt, liegts nicht nur an Asterisk, sondern auch an der NAT Tabelle, und da bräuchte man also rmmod ip_conntrack :(

BTW, habe mit OpenWRT Cracks an ssh client Remote connect zu Asterisk herumgebastelt (dropbear, etc.).
Ging aber nie. Blöde root Passwort wurde IMMER abgefragt. Naja, was solls :)

segfault schrieb:
@Blackvel:
Alles klar, Du bist also der selbe Blackvel, der auch im openWRT Forum sein
Unwesen treibt
Huch, wie meinst denn das? Wie hast das rausgefunden? :)

Gruß

Blackvel
 
Hi Blackvel,

ja, hab ich gemerkt, dass Du das schon lange suchst ;)
Aber ich hab auch nur die selbe verheerende Aussage ueberall zu hoeren bekommen:
entweder mit module reload, oder gar ned. Is wohl auch kein Wunder,
dieses spezifische Problem haben wohl wirklich nur wir Deutschen rtet
knausrigen ISPs...

diese ganzen Sachen mit scripts bei disconnect etc... zur Not wuerd ich mir
nen winzigen tcp daemon schreiben, der auf meiner asterisk kiste sitzt und
auf eine kommandosequenz wartet und dann per sudo asterisk reloaded.
Wenns nur daran liegen wuerde, waere das mit ner ip-up/telnet/daemon
geschichte ein Klacks.... wenn doch nur mal was einfach waere...

Hast Du mal versucht ip_conntrack als Modul zu uebersetzen? Die Build-Chain
von OpenWRT war mir bisher etwas suspekt... und bevor ich meinen router
kille hab ich die Finger davon gelassen...


Wie ich das meine? Nicht negativ, keine Bange :D
Naja, war ned allzu schwer... Blackvel, Nuremberg, Germany
und dann sprichst Du im Forum von VoIP und in einigen IRC Logs von asterisk
... ein kleiner Sherlock Holmes steckt doch in jedem von uns :D


Ach ist das aergerlich... aber jetzt probier ichs doch mal ein paar Tage
mit der patentierten, Blackvel'schen Cron-Methode. Ist zwar nicht schoen,
aber besser als gar nix... und irgendwann finden wir schon was schoenes ;)

Bis dann,
SegFault

BTW: Deine Sig sagt Du hast QoS am Laufen.
Darf man fragen ob Du irgendwas wirklich perfektes zu Stande gebracht
hast? Das beste was ich bisher erreichen konnte war durch TOS tagging
und hoechstpriorisierung mit wshaper... funktioniert aber auch nicht immer perfekt.
 
Was hast Du für eine Version von Asterisk, SegFault? Hatte mit minem Asterisk hinter dem Nat-Router das gleiche Problem. Seid version 1.0.3 hat sich das aber irgendwie erledigt, und ich brauche kein Reload mehr nach einer Zwangstrennung durchführen.

P.S.: Das in der Sigantur war nicht speziell auf Dich bezogen.
 
Hupe schrieb:
Was hast Du für eine Version von Asterisk, SegFault? Hatte mit minem Asterisk hinter dem Nat-Router das gleiche Problem. Seid version 1.0.3 hat sich das aber irgendwie erledigt, und ich brauche kein Reload mehr nach einer Zwangstrennung durchführen.

Sorry, dass wollt ich schon im ersten Posting schreiben... Altsheimer...
von dicken Protz-signaturen halt ich nicht viel... daher drueck ich mich davor :)

Asterisk 1.0.3-BRIstuffed-0.2.0-RC3
die typische HFC Kombi...

Du brauchst gar kein reload ?!? Muesst ich fast mal ausprobieren...

da das Problem ja nun dank Blackvel auf die NAT Tabellen zurueckgefuehrt ist,
kann das schon sein...

aber hast Du dann irgendwas an Deiner sip cfg geaendert? Qualify=yes|no?

nat=yes|no ?

Thx und have a nice day!
 
An meiner sip-Config habe ich nichts geändert. Musste nur meinen DynDns-Eintrag bei "externip" löschen, da das nichtmehr unterstützt wurde (also das man da Domains angiebt). Sonst ist die config aber gleich geblieben.
In [general] ist net=yes, und bei den Providern ist nat=no und qualify steht garnicht drin.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.