Asterisk Service beendet? Keine ein- und ausgehende Anrufe mehr möglich

Hallo MobyDick-Freunde,

und wieder eröffnet sich ein kleines Problem in meiner Testphase.
Kurze Ausgangsituation:

Die MobyDick wird virtualisiert mit Oracle Virtualbox. Funktioniert alles soweit super.
Verwendete Community-Version ist die 7.08. Also die Letzte! :slight_smile:
Als Amt habe ich die Telekom IP Anschluss mit mehreren Accounts. Funktioniert auch alles bestens.
Die MobyDick steht hinter einer Firewall/NAT. Da es sich um eine FritzBox handelt, musste ich den Port umstellen.
Hier habe ich in den Systemeinstellungen system.asterisk.configure.sip.file.bindport = 5061 gesetzt. Diesen sowie die RTP-Ports leite ich durch die NAT weiter. Funktioniert alles soweit bestens, außer dass ich durch Icinga dauernd eine Warnung habe. Wahrscheinlich weil der Port 5060 nicht da ist. :slight_smile:

Leider verabschiedet sich aber irgendwann in der Nacht irgendwie der Dienst asterisk.
Die VM hat 512MB und 20GB. Tagsüber läuft die VM bestens. Alle aus- und eingehenden Anrufe werden ordnungsgemäß verarbeitet.
Auch eine Speichererweiterung auf 1024MB hat kein Erfolg gebracht. 2 Prozessoren sind ihr zugewiesen.

Am nächsten Morgen einfach den Dienst über SSH unter admin mit “sudo service asterisk restart” neu gestartet, funktioniert das ganze wieder den ganzen Tag. Antwort der PBX beim Neustart:

Stopping Asterisk PBX: asteriskstart-stop-daemon: warning: failed to kill 6510: No such process

Modules unloaded

Starting Asterisk PBX:
Modules unloaded
asterisk.

Ein anderes Phänomen ist jedoch, dass wenn ich einen ausgehenden Anruf starte über den asterisk -vvvvr Befehl ich das Verarbeiten des Telefonats beobachten kann. Anschließend erhalte ich ein Busy-Signal. Bei dem Versuch eingehend zu rufen, erhalten ich ein kurzes hallendes Geräusch und dann nichts mehr. Mein Handy beendet dann die Verbindung. Von einem Festnetzanschluss aus ist es dann ein Hangup-Signal. Im asterisk -vvvvr wird nichts protokolliert.

Vielleicht wisst ihr Antwort.
Grüße aus Augsburg,

Danny

Hallo Danny,

zu

Leider verabschiedet sich aber irgendwann in der Nacht irgendwie der Dienst asterisk.
Die VM hat 512MB und 20GB. Tagsüber läuft die VM bestens. Alle aus- und eingehenden Anrufe werden ordnungsgemäß verarbeitet.
Auch eine Speichererweiterung auf 1024MB hat kein Erfolg gebracht. 2 Prozessoren sind ihr zugewiesen.

Empfehlung meinerseits ist mindestens 1024 MB zu verwenden. Bei der Installation der MobyDick bzw. beim Starten der Dienste wird der Speicher den die Dienste verwenden festgelegt, abhängig was das System zu dem Zeitpunkt an Speicher zur Verfügung hat. Wenn du also in der VM nachträglich mehr Speicher zur Verfügung stellst, musst du anschließend die Dienste unter Anwenden neu starten.
Unter Anwenden->Cronjobs findest du einige Jobs, welche Nachts ausgeführt werden, evtl. ist hier die Ursache zu suchen. Bitte hier mal die Logs prüfen (Information -> Job Logs)

Ein anderes Phänomen ist jedoch, dass wenn ich einen ausgehenden Anruf starte über den asterisk -vvvvr Befehl ich das Verarbeiten des Telefonats beobachten kann.

Klappt die Telefonie tagsüber, bzw. nach dem Neustart des asterisk wieder?

Gruß
Markus

Hallo Markus,

Unter Anwenden->Cronjobs findest du einige Jobs, welche Nachts ausgeführt werden

Hier finde ich leider keine Cronjobs. Lediglich aktualisieren kann ich diese. Unter Information -> Job Logs muss ich zugeben, dass diese nicht viel hergeben für dieses Problem! Einige Logs zeigen ein Backup auf? Mehr schon aber auch nicht.

Ich habe jetzt den Speicher auf 1024 MB wieder gesetzt und die VM neu gestartet (MobyDick). Ich glaube, dass hier auch die Dienste aktualisiert werden. :slight_smile:

Klappt die Telefonie tagsüber, bzw. nach dem Neustart des asterisk wieder?

Ja, nach dem Neustart des Dienstes funktioniert die Telefonie wieder wie von euch versprochen. :slight_smile:
Der Fehler passiert irgendwann nachts! Dachte schon an mein Backup des Hauptservers (Windows 2008 R2 - NovaBackup mit VSS). Hab dieses aber mal abgeschaltet und der Fehler trat trotzdem auf. Auch dachte ich an die Fritzbox, an der DECT Telefone hängen. Aber die lasse ich vollkommen unberührt. Ich starte ausschließlich den asterisk-Dienst neu!

Zusätzlich habe ich hier noch einen Post wegen der TAPI; Vielleicht kannst du da mal als Entwickler reinschauen?
http://community.pascom.net/showthread.php?1290-TAPI-Fehlermeldung-bei-Auflegen-am-Telefon&p=6690&viewfull=1#post6690

Gruß, Danny

Hi,

kannst du mal im* /var/log/syslog* nachschauen bzw. im dmesg. bzw. das mal posten.
Ist der Dienst komplett beendet, also läuft nicht mehr top, ps ax

Gruß
Markus

Hey :slight_smile:

in den Logfiles und in dmesg hab ich schon nachgeschaut. Da sind keine Einträge vorhanden.
Worauf ich noch nicht kam, war in ps ax nach zu schauen. Und siehe da. Der Dienst läuft noch! Danke für den Hinweis erstmal.

Aber ích habe gerade durch probieren herausgefunden, dass wenn ich unter *asterisk -vvvvr *den Befehl *sip reload *eingebe, dann funktioniert die Telefonie wieder. Das lenkt uns in die Richtung Amt? Wie denkst du?

Gruß, Danny

Re,

wenn du von Telefonie sprichst, meinst du intern als auch extern?
Wenn es nur am Amt liegt, dann sollte die interne Telefonie auf jeden Fall funktionieren. Wie siehts damit aus?
Falls nur das Amt nicht mehr funktioniert, spricht eingehende Anrufe wie ausgehende, bitte beides ausprobieren. Dann überprüfe doch bitte mal mittels sip show peers und sip show registry wie es dort aussieht.

Gruß
Markus

So schnell die Antworten :slight_smile:

Das kann ich dir sofort sagen. Die interne Telefonie funktioniert. Sorry, das hatte ich vergessen zu erwähnen. Man kann auch einen ausgehenden Anruf protokollieren über asterisk -vvvvr. Ausgehend und eingehend funktioniert nicht. Bei ausgehend ein Busy-Signal. Bei eingehend ein kurzes hallendes Geräusch und dann wird die Verbindung getrennt.

Unter sip show peers und sip show registry sind bei tel.t-online.de die Rufnummern registriert und die Peers vorhanden.
Meine Konfiguration habe ich unter diesem Beitrag schon geteilt, weil sie bei mir nur so funktionierte.

Meine neue Vermutung liegt bei der Zwangstrennung?! Wie verhält sich Asterisk bzw. MobyDick hier?

Gruß, Danny

Hi,

das wäre gut möglich, besonders wenn du eine neue IP zugewiesen bekommst.
Du kannst mal versuchen beim Amt in den SIP Optionen qualify=yes mit reinzupacken, falls noch nicht passiert.
Oder die Timeouts für Registrierung anzupassen. Einträge under den Systemeinstellungen

sys.asterisk.configure.sip.file.defaultexpirey=60
sys.asterisk.configure.sip.file. registertimeout=60
sys.asterisk.configure.sip.file. registerattempts=10

Mit einem sip reload kannst du das dann einfach mal verifizieren, wenns nicht mehr klappt.
Andernfalls könntest du versuchen in der sip.conf srvlookup auf “no” zu setzen, falls an dem Eck Probleme gibt.

Gruß
Markus

Hallo Markus,

vielen Dank für die Infos nochmal.
Leider brachten auch diese kein Erfolg. :frowning:

Den Eintrag sys.asterisk.configure.sip.file.defaultexpiry=60 macht bei Telekomanschlüssen Probleme. Hier kommt dann eine Meldung, dass ich mindestens 480 einstellen muss. Den Eintrag in den Peers qualify=yes habe ich bereits gesetzt. srvlookup=no macht bei mir keine Probleme und bringt auch keine Veränderung. Ich muss nach wie vor jeden morgen den Befehl sip reload unter asterisk -r ausführen, damit die Telefonie wieder einwandfrei nach außen und von außen funktioniert. :frowning:

Kann man als eine Lösung diesen Befehl als einen Cron-Job anlegen? Wenn ja, wie?
Eigentlich sollte bei einem Verbindungsverlust wie durch die Zwangstrennung nach Verbindungaufnahme der Router den DynDNS-Namen aktualisieren und die PBX bzw. MobyDick doch meinen DynDNS-Namen übermitteln?! Wie kann ich prüfen, ob die Telekom den richtigen DynDNS-Namen, Port, RTP-Portrange, IP usw. erhalten hat?! Die Telekom selbst kann das nicht prüfen! So die Aussage der Techniker.

In den Beitrag mit dem TAPI-Problem hast du nicht zufällig reingeschaut und eine Lösung parat? :slight_smile:

Gruß aus Augsburg,
Danny

Hallo Danny,

du kannst das auch per cronjob machen. Musst hier dann allerdings u.a. mit crontab -e auf der shell arbeiten. Das Commando, welches du auch auf der Shell ausführen kannst wäre asterisk -rx “sip reload”.

Du kannst dir während der Registrierung bzw. einem Anruf per sipgrep oder tcpdump den Datenverkehr anschauen, falls du das meintest.

Gruß
Markus

Okay. Vielen dank!
Werde das mal probieren.
Wie kann ich eine Registrierung neu anstoßen um den Datenverkehr auszulesen?

Re,
mit dem Commando wie zuvor genannt :wink:

Gruß
Markus

Guten Morgen Markus,

also mit dem Cron-Job funktioniert das wie gewünscht. Danke.
Heute habe ich zum ersten mal keinen Login auf die SSH-Shell machen müssen! :slight_smile:

Ich glaube inzwischen auch, dass es an der neuen IP-Adresse liegt.
Meine Vermutung: Mein DynDNS-Anbieter und Router ist nicht so schnell den externhost=dyndns.name anzupassen, wie die Telefonanlage die Rufnummern neu registriert. Bei der Auflösung des Host durch die Telekom wird dann immer noch die alte IPv4-Adresse zurückgegeben und diese wird bei der Telekom als Erreichbar eingetragen. Dann kommt es evtl. zu diesem Fehler.

Aber mit dem Cron-Job konnte ich das jetzt gut lösen. Ich hoffe, der bleibt bei einem Neustart auch erhalten?!
Eingetragen habe ich ihn in /etc/crontab mit vi :slight_smile:

0 5 * * * root asterisk -rx ‘sip reload’

Für alle mit ähnlichen Problemen! :wink:
Grüße aus Augsburg,

Danny