qualify=yes Probleme

voipalex

Mitglied
Mitglied seit
18 Okt 2004
Beiträge
324
Punkte für Reaktionen
0
Punkte
16
Ich habe in meiner sip.conf für alle meine SIP-Endgeräte qualify=yes gesetzt oder auf einen Zahlenwert in ms. Trotzdem werden von Asterisk keine keep-alive SIP-Options Pakete im definierten Zeitrahmen gesendet (bei yes sollte alle 2s eines gesendet werden und bei 500 alle 500ms). Überprüft habe ich das mit tcpdump. Ich habe herausgefunden, dass alle 60s ein SIP-Options Paket zu keep-alive Zwecken gesendet wird, aber eben nicht zu dem von mir vordefinierten Intervall in ms.

Was mache ich da falsch? (Ich verwende Asterisk 1.0.7)

Meine sip.conf:

Code:
[general]
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=g729
nat=yes
externip = XXX.dyndns.org

[gxp2000]
type=friend 
context=jolext
username=gxp2000
fromuser=gxp2000
host=dynamic
secret=gxp2000
nat=yes
canreinvite=yes
dtmfmode=info
incominglimit=1
qualify=3000

[ht286]
qualify=40
type=friend 
context=jolext
username=ht286
fromuser=ht286
host=dynamic
secret=ht286
nat=yes
canreinvite=yes
dtmfmode=info
incominglimit=1

[bt101]
qualify=500
type=friend 
context=jolext
username=bt101
fromuser=bt101
host=dynamic
secret=bt101
nat=yes
canreinvite=yes
dtmfmode=info
incominglimit=1

EDIT:
Wer lesen kann ist klar im Vorteil. Qualify setzt den Timeout und nicht das Intervall, wie oft keep-alive Pakete an den Client gesendet werden. Kann man das irgendwo ändern oder muss ich dazu den Quelltext modifizieren?
 
Ich habe in meiner sip.conf für alle meine SIP-Endgeräte qualify=yes

Da solltest Du aber ziemlich vorsichtig sein - es gibt einige Endgeräte, die das überhaupt nicht mögen und einfach ihren Dienst verweigern.
 
betateilchen schrieb:
Da solltest Du aber ziemlich vorsichtig sein - es gibt einige Endgeräte, die das überhaupt nicht mögen und einfach ihren Dienst verweigern.

Ich möchte das hier mit einem ht286, ht486, bt101 und gxp2000 einsetzen. Hattest du bei einem dieser Geräte Probleme damit?

Das gxp2000 sendet ja von alleine keep-alive Pakete. Beim ht286 und beim bt101 gibt es zwar eine entsprechende Option, aber die funktioniert leider nicht bei mir (überprüft mit tcpdump).

Gruß
Alex
 
beim GXP2000 hatte ich definitiv Probleme mit dem qualify=yes

Hast Du mal auf dem Asterisk überprüft, ob dort keep-alive Pakete ankommen ? Denn beim 486 und beim BT101 hatte ich diesbezüglich noch keine Probleme, daß dies nicht funktionieren würde. Einen HT286 hab ich leider nicht zum Testen hier.
 
betateilchen schrieb:
Hast Du mal auf dem Asterisk überprüft, ob dort keep-alive Pakete ankommen?

Wie bereits erwähnt, habe ich das schon per tcpdump überprüft. Mit einer aktuellen Firmware auf den Geräten klappt das Senden von keep-alive Paketen jetzt aber.

Welches Problem ist bei dir denn genau beim GXP2000 im Zusammenhang mit qualify=yes aufgetreten?

Gruß
Alex
 
Das Telefon hat in regelmäßigen Abständen einen Reboot gemacht
Seit ich das qualify raugenommen habe, hat dieser Effekt aufgehört (das hab ich übrigens alles schon hier im Forum geschrieben)
 
Hab gerade deinen alten Beitrag dazu gelesen. Leider hast du nicht dazu geschrieben, was regelmäßig bedeutet. Mein GXP2000 (Program-- 1.0.1.8 Bootloader-- 1.0.1.2) hat gerade 3h25m Uptime.
 
evtl. ist das auch mit der neuen Firmware behoben - mein Beitrag damals ist mit 1.0.1.4 entstanden.
 
@alex

Das kannst Du nur im source ändern von chan_sip.c Zeile:

#define DEFAULT_FREQ_OK 60 * 1000

dürfte das sein.

Gruß,
Tin
 
Nachtrag:

Wenn man obigen Wert ändert und Asterisk neu compiliert (make / make install) dann ändert sich natürlich nur die globale Einstellung. Nach wie vor kannst Du nicht für einzelne Peers eigene Werte setzen.

Sich das zu bauen ist aber auch gar nicht so schwer. Wenn Du mir Deine chan_sip.c schicken magst, baue ich Dir einen Parameter "pokeinterval" ein, wo dann der Poke Interval für jedes Peer einzeln in ms gesetzt werden kann. (Deine weil sie sich ggf. von meiner in anderen Dingen unterscheidet). Hab's hier schon laufen, klappt gut.

Gruß,
Tin
 
ich denke, die Sache hat sich dadurch erledigt, daß mit aktueller FIrmware ALLE Grandstream-Geräte das NAT-keep-alive von sich aus initiieren können :wink:
 
Ganz blöde Frage:

Wenn Du mir Deine chan_sip.c schicken magst, baue ich Dir einen Parameter "pokeinterval" ein, wo dann der Poke Interval für jedes Peer einzeln in ms gesetzt werden kann
Könnte es sein, dass so etwas interessant für mehrere Leute wäre? Warum postest du nicht einen kleinen Patch, oder briengst ihn direkt in den Upstream ein?
 
Hallo crunch,

das Problem ist, dass, abhänging von der Asterisk Version, unterschiedliche chan_sip.c im Umlauf sind. Ich kann also höchstens auflisten, wo ich was eingefügt habe und jeder muß das dann selbst bei sich einfügen. Aber es scheint ja auch nicht mehr SO interessant zu sein.

Gruß,
Tin
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,526
Beiträge
2,293,573
Mitglieder
378,031
Neuestes Mitglied
Horlia