Anwählen über Client funktioniert nicht mehr

Hallo zusammen,

ich habe hier ein Problem, bei dem ich leider nicht weiterkomme und deshalb um Rat fragen möchte.

Wir verwenden bei uns mehrere snom-Telefone (320 und 370) und daneben noch Yealink-Telefone (T41P und T46P).

Nun haben wir seit mittlerweile 2 oder 3 Wochen das Problem, dass wir über den Anrufen-Button im MD-Client nicht mehr einen Anruf tätigen können. Wenn man auf den grünen Hörer klickt, dann verfärbt er sich kurz grau (also dieses Event, wenn man den Button klickt) und wird dann wieder nomal grün. Das Telefon stellt aber keine Rufverbindung her. Dies ist unabhängig, ob ich nun eine Nummer aus dem Telefonbuch, Journal, Team-Liste oder sonst wo wähle.
Wenn jedoch ein Anruf rein kommt, dann kommt das Pop-Up über den eingehenden Anruf. Klicke ich hier auf den grünen Hörer, passiert wieder nichts, kann aber den Anruf mit dem roten Hörer beenden.
Wenn ich über das Telefon eine Nummer wähle und anrufe, registriert dies der Client ebenfalls sofort und gibt die entsprechende Anzeige (Nummer des Gesprächspartners und Dauer des Telefonats). Auch hier kann ich wieder über das rote Hörersymbol das Telefonat beenden.

Jetzt jedoch das merkwürde: Betroffen sind hiervon nur die snom-Telefone. Jedoch haben wir keinerlei Updates oder sonstige Änderungen an unseren Systemen vorgenommen.

Die MobyDick-Telefonanlage liegt auch nicht bei uns im eigenen Netzwerk, sondern liegt außerhalb in einem externen Rechenzentrum.

Der Vollständigkeit wegen noch die Versionen:
Telefonanlage MobyDick: mobydick 7.12.02
md-client getestete Versionen: 3.06.05.R, 3.07.01, 3.08.01.R (bei allen das gleiche Problem)
OS auf den Rechnern: Linux Mint 17.1
Java-version auf den Rechnern: 1.08.0_60

Jetzt meine Frage: hat jemand eine Ahnung, an was das liegen könnte? Immerhin scheint ja die Verbindung Telefon <-> md-client zumindest teilweise zu stehen, denn sonst könnte ich ja eine Anrufe beenden/ablehnen bzw hätte keine Anzeige des laufenden Telefonats. Es betrifft nur das Symbol, um einen neuen Anruf über den md-client zu tätigen (grünes Hörersymbol).

Vielen Dank schonmal!

mfg
Lukas

Hallo Lukas,

du hast die selbe Frage auch schon unserem Support gestellt, richtig?

Das Problem liegt aller Wahrscheinlichkeit nach in der Netzwerktopologie. Und zwar aus folgenden Gründen:

  • Ablehnen von Anrufen bzw. das Überwachen des Anruf-Status erfolgt komplett Serverseitig, d. h. die mobydick generiert entsprechende Events und schickt diese an den Client, der dann die Anrufe anzeigt. Aufgelegt wird der Kanal direkt im Asterisk (also auch Serverseitig). Hier besteht keine Notwendigkeit, direkt mit dem Telefon zu reden.
  • Bei Yealink Telefonen erfolgt die Fernsteuerung / Kommunikation via SIP und nicht via HTTP, was alle NAT-Probleme einfach umgeht. Bei Snom ist dies zur Zeit nicht möglich.
  • Wenn die mobydick ein Telefon fernsteuern muss gibt es hier zwei Wege bei einem Snom Telefon: Wir versuchen einen HTTP Request zum Telefon durchzuführen. Wenn dieser fehlschlägt (HTTP-Status != 200) oder keine Antwort kommt, dann wird ein Fallback auf einen sogenannte Originate-Dial durchgeführt. Das bedeutet, die mobydick ruft das Telefon an, und wenn der Benutzer abnimmt, wird der Anruf weiter zum eigentlichen Ziel vermittelt. Ist nicht so schön, da ja das eigene Telefon erstmal klingelt bevor man telefonieren kann, funktioniert aber.

Die Krux ist hier folgendes: Bei einem NAT kann es passieren, das die mobydick nicht die “echte”-IP des Telefons sieht, sondern nur die des NAT-Routers. Wenn auf dieser IP jetzt auch noch ein WebServer hockt, der die Anfrage der mobydick einfach mit “200 OK” beantwortet, dann glaubt die mobydick einfach, dass der Anruf erfolgreich war und macht keinen Fallback. Das äußert sich dann unter “Es passiert einfach nichts”.

Wie auch im Support-Ticket erwähnt, könnte ein Update auf die 7.13.01 hier weiterhelfen, da die Ermittlung der Telefon-IP dort Überarbeitet wurde, was dazu führen müsste, dass die mobydick in diesem Fall die “korrekte” IP sieht. Diese ist zwar auch nicht direkt erreichbar, aber der Fallback auf den Originate-Dial sollte dann korrekt funktionieren.

Grüße,
Jan

Hallo,

ja, ich hatte auch schon mal ein Support-Ticket eröffnet, dachte aber, dass ich doch einfach hier nochmal nachfrage, ob es noch gute Ideen gibt.
Zuerst vielen Dank für die ausführliche Antwort!

Ich hatte bezüglich eines Updates schon mal Rücksprache mit meinem Chef gehalten. Er meinte, dass ein Update auf 7.13 ausgeschlossen ist, da dies nicht die stable-Version ist, sondern nur die current. Stable muss laut ihm definitiv bleiben.

Wäre es denn zufällig möglich, im md-client den Originate-Dial zu erzwingen, also direkt auf den Fallback?

Die NAT-Sache werde ich mir aber ebenfalls noch ansehen.

Vielen Dank und viele Grüße!

Hallo Lukas,

du kannst noch versuchen die Systemeinstellung “sys.api.identity.dial.mode” anzulegen und auf den Wert “1” zu setzen. Das erzwingt einen Originate-Dial in allen Fällen mit Ausnahme des mobydick Softphones. Was im Umkehrschluss aber bedeutet, dass die Yealink-Telefone auch via Originate angerufen werden.

Grüße,
Jan

1 Like

Hallo zusammen,

das Problem ist endlich gelöst dank der Hilfe von Jan.

Ich habe die IP-Adresse eines snom-Telefons, wie sie in der MobyDick angezeigt wird, mal von extern aufgerufen und bekam dann eine Apache2 - it works Seite. Die hat dann, wie von Jan vermutet, den HTTP Request beantwortet.
Wir haben die Standard-Seite jetzt deaktiviert und zack - funktionieren die snom-Telefone wieder.

Vielen Dank nochmal!

Hallo Lukas,

schön wenn es klappt!

Grüße,
Jan

PS: Verstehe ich das richtig, dass euere Telefone damit direkt von extern Erreichbar sind? Die Netzwerktopologie ist zwar nicht Rahmen dieses Threads, aber ich hoffe ihr habt dann die entsprechenden Sicherheitsvorkehrungen getroffen?

Hallo,

nein, unsere Telefone sind von außen nicht direkt erreichbar. Wir haben noch eine Firewall. Und in dieser war die Weiterleitung auf den besagten Webserver drin, da sie alle Anfragen auf Port 80 auf diese virtuelle Maschine weitergeleitet hatte.
Dennoch danke :slight_smile:

Viele Grüße
Lukas