[Frage] Gültigkeitsdauer des Nonce bei der Registrierung

martin_g

Neuer User
Mitglied seit
12 Dez 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich habe ein Problem mit einem Client, der nicht richtig auf ein neues Nonce reagiert.

[ Hintergrundinfromation: Er versucht sich mit dem zuletzt erhaltenenen Nonce zu registrieren, ignoriert im Anschluss aber die Antwort vom Asterisk, dass das Nonce abgelaufen 8ist (stale=true) und das neue Nonce. Lasse ich das Gerät dann erneut registrieren, nimmt er das zuletzt erhaltene Nonce, das in der Zwischenzeit aber wieder abgelaufen ist usw... ]

Dieses Problem ist in der Behebung, aber solange würde ich gerne die Gültigkeitsdauer der Nonce nach oben setzen. Ist das irgendwie möglich (ohne neu zu kompilieren)? Ist ein Asterisk 12, falls das eine Rolle spielt.

Viele Grüße
Martin
 
Ist der Client ein SNOM? Mit denen habe ich dieses Verhalten derzeit auch relativ oft, ging schon viel Zeit für die Diagnose drauf, bis ich mir sicher war dass der Fehler clientseitig ist. Bin deswegen mit dem SNOM Support am diskutieren.

Nachtrag: Generell lehne ich mich jetzt mal mit der Behauptung raus, dass man die Gültigkeitszeit eines Nonce nicht erhöhen kann. Es zählt immer der, den Asterisk zuletzt rausgehauen hat.
 
Zuletzt bearbeitet:
Nein, kein snom. Ist ein embedded client auf einem Router. Weiß grad gar nicht welcher.

Nachtrag: Ich bin mir ebenfalls sicher, dass der Fehler clientseitig ist. Habe das Verhalten mit Dumps nachvollzogen. Aber trotzdem möchte ich die Gültigkeitsdauer temporär heraufsetzen, um einen Workaround zu haben.
 
Ich lass mich gerne korrigieren, aber ich fürchte wie gesagt dass es keine Gültigkeitsdauer in dem Sinn für einen Nonce gibt. Es zählt jener Nonce, der zuletzt von Asterisk übergeben wurde. Eine kurze Sichtung - mit meinen äußerst dürftigen C Kenntnissen - des chan_sip Quellcodes bestätigt mich hier tendentiell.

Wenn wir beide das gleiche Problem haben, dann stellt sich das ganze ja so dar, dass man eines Tages bemerkt, dass der SIP Client nicht mehr registriert ist. Dann schaut man sich den Debug an und bemerkt folgendes:

1) Asterisk fordert Auth. an und sendet $NONCE27
2) Client sendet eine Auth mit $NONCE26
3) Asterisk weist die Auth zurück und meckert über stale nonce
4) Asterisk sendet wieder eine Auth Anforderung mit $NONCE28
5) Client sendet eine Auth mit $NONCE27
6) Asterisk weist die Auth zurück und meckert über stale nonce

Und so ballern sich die Beiden fast mit Millisekundenbereich nieder und es geht ewig so dahin. Der Client ist immer um einen Nonce "hinten".

Ich habe mal für mich die chan_sip dahingehend gepatcht, dass ich jeweils den vorigen Nonce in eine Variable weg sichere und somit beim Authentifizieren auch diesen vorigen Nonce akzeptiere. Seitdem ist Ruhe. Das ist aber für mich keine Lösung (und schon gar nicht werde ich so ein System "in the wild" betreiben), sondern eher ein Proof, da ich erstens definitiv zu wenig C Programmierer bin um wirklich zu wisssen was ich hier tue und zweitens bin ich der Meinung dass hier der Client nachbessern muss. So harre ich derzeit in meinem Fall der Dinge, was der SNOM Support zu der Geschichte sagt.

[Beitrag 2:]

BTW - mein Bug wurde inzwischen von SNOM bestätigt (SCPP-6255)
 
Zuletzt bearbeitet von einem Moderator:

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,206
Beiträge
2,248,029
Mitglieder
373,770
Neuestes Mitglied
TomTom55
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.