Anlage nimmt Invite nicht an

Hallo Community,

ich benötige einmal Rat.

Wir haben eine Anlage mit einem SIP-Provider. Die Anlage läuft jetzt seit 4 Monaten konstant ohne Probleme o.ä…
Seit knapp einer Woche haben wir das Phänomen das ein Anruf beim ersten Versuch nicht ankommt. Wählt man die Nummer direkt neu funktioniert alles wunderbar. Es wurde nichts an der jeweiligen Hardware (Router , Anlage o.ä.) geändert. Mein Problem ist das dies sehr sporadisch ist. Ein tcpdmp über einen gesamten Tag brachte mir nur 2 große Pcap´s da an diesem Tag diese Phänomen nicht aufgetreten ist.

Ich habe mich an den Provider gewendet und bekam folgende Aussage:
Bei dem Gesprächsversuch 14:25 Uhr war wieder die Situation, dass die VoIP-TK-Anlage auf das INVITE der enviaTEL nicht reagiert hat und aus diesem Grund die Verbindung beendet wurde.
Es handelt sich hierbei also nicht um ein netzseitigen Fehler, die Ursache liegt auf der Kundenseite. Bitte daher Einstellungen und Netzwerk auf Kundenseite prüfen und ggf. optimieren.

Jetzt mein Anliegen. Wie kann ich auf der pascom dieses Verhalten loggen ohne mich vorher via SSH auf die Anlage zu verbinden und einen tcpdmp zu starten?

VG Mirko

Hallo Mirko,

um einen Mitschnitt des SIP Traffics wird man leider nicht rumkommen, solltest du aber tatsächlich nur SIP und nicht RTP MItschneiden, sollte sich die Größe der Pcap’s aber in Grenzen halten. Du kannst das ganze auch in einem “screen” starten, dann muss die SSH verbindung nicht offenbleiben. Ich würde aber auch das Asterisk Log hierzu auf verbose setzen.

Ich vermute eines der folgenden Probleme:
-register Timer wird vom provider anders erwartet als von der anlage
-Invite kommt von anderem Host den der Asterisk diesem Trunk nicht zuordnen kann
-SIP ALG

Grüße,
Steve

Hallo @Steve,

welcher Befehl ist es damit ich nur die SIP-Daten ( Invite Ringing usw.) mitschneiden kann?
Wie kann ich den Register Timer setzen?
SIP Alg könnt ich auch ausschließen bzw. hab ich da keinen Zugriff, da die Anlage an einem Router des Anbieters hängt.
Von anderem Host würde bedeuten das es in die No-Auth-In läuft?

Danke

Hi @Mirko,

Beispiel bei einer UDP Registrierung, wenn der Provider über eth1 (meist die Schnittstelle mit default Gateway wenn du keine Routen gesetzt hast):

tcpdump -i eth1 -s0 -n -W 100 -C 100 -w /BACKUP/debug.eth1. port 5060 and udp

-W gibt die Anzahl der Dateien an, durch die rotiert wird
-C gibt die Größe der Einzeldateien in MB an
-w gibt das/die File/s an in das/die geschrieben wird

Solltest du TCP oder andere Ports verwenden, solltest du das natürlich anpassen. Da 5060 auch TCP eigentlich nur für SIP genutzt wird kannst du “and udp” auch weglassen.

Das mit den Registertimer würde ich mir nur ansehen, wenn du den Invite vom Provider auch siehst. Wenn hier nichts dazwischen funkt (SIP ALG) gibt es eigentlich kein Problem. Ich glaube im Default versucht es der Asterisk alle 2 Minuten und er lässt alles zwischen 20 und 3600 Sekunden zu.
Ansonsten kannst du mal das probieren:
ignoreregexpire = yes

Viel wahrscheinlciher ist, das der Invite gar nicht bis zur Anlage kommt, weil z.B. der/die Router dazwischen einen zu kurzen UDP Connection Timeout haben. Das könntest du versuchen mit

 qualify=yes
 qualifyfreq=10

zu umschiffen. qualify=yes ist default und qualifyfreq default ist 60 (sekunden). Die Anlage wird also auch bei dir schon jede Minute ein Option SIP Paket zum Provider schicken, um zum einen zu prüfen ob er noch da ist und zum anderen die UDP Connection am Router am Leben zu halten. Manche Hersteller haben hier jedoch einen kürzeren Timeout (also weniger als eine Minute), dann würde der Invite vom Provider blockiert werden.

Grüße,
Steve

Hallo @Steve,

danke für die Infos.
Der Registertimer würde ja nur helfen wenn mein SIP-Trunk sich nicht sauber registriert bzw. reregistriert.
Das müsste ja der Provider sehen und die Info geben können.

Das mit dem qualify teste ich nochmal.