3CX - Erfahrungsbericht / Qualität / "most wanted" Funktionen

tkSwaggy

Customer
Mitglied seit
30. Dezember 2021
Beiträge
10
Hallo in die Runde und vorab schon mal vielen Dank für alle Tipps.
Vorwiegend hoffe ich, User mit ähnlichen Konstellationen und Erfahrungen zu finden.

Wir haben nach langer Testzeit und Planungsphase den Sprung gewagt und auch unseren Firmen-Hauptstandort mit ca. 200 - 250 Nebenstellen auf 3CX gehoben. Dort war bisher (seit 2019) nur unser Tochter-Standort mit ca. 30 Nebenstellen unterwegs.

Ich will das Forum nun gerne einmal nutzen und ein paar unserer derzeitigen Probleme am Hauptstandort sowie die "most wanted" Funktionen unserer kürzlich geschulten User ansprechen. Im Idealfall hilft es dann auch anderen Admins und/oder der 3CX-Entwicklung. Gerne das Thema verschieben, falls hier fehl am Platz.
Es soll dabei gar nicht um das leidige Thema Sprachqualität gehen. Dass diese im SIP-Bereich mittelfristig nie mehr so sein wird wie in ISDN-Zeiten ist klar. Das Risiko sind wir aber bewusst eingegangen, da der Mehrwert der vielen Funktionen und Integrationen (vor allem auch für mobiles Arbeiten) definitiv überwiegt. 3CX ist ja super fleißig im stetigen Aufwerten des Angebots.

Umgebung:
3CX Debian on prem gehostet in einer hochverfügbaren VMware Umgebung
v18 Update 8 (Build 935)
Enterprise Jahreslizenz
Getrenntes "Voice" VLAN für die Telefonie
WLAN mit Unifi Ubiquiti WIFI Network
LAN mit Aruba Switches
snom D315/D865 Festapparate
snom M700 Basen & snom M70/80 Telefone (ja, M700 sind EOL und mit manuellem, unverschlüsseltem Provisioning auch nicht top secure und empfohlen schon gar nicht -> für uns kam das EOL aber in 2020 relativ überraschend und bei rund 45 Basen an zwei Firmenstandorten ist das nicht mal kurz bereinigt... dies ist auch der Grund warum die Anlage on prem ist. Wir hatten die Anlage bereits Cloud-gehostet, dann aber auf Empfehlung wieder zurück geholt, um erst einmal keine größeren Löcher wegen der unverschlüsselten Provisionierung zu bekommen)
Mischung aus 3CX Desktop Client und WebClient mit Jabra Evolve2 65 Headsets
Mobile Clients sowohl unter Android und iOS Geräten
FortiGate 100F Firewall (Segmentation und Edge)
SDWAN Internet Breakout mit zwei flotten Glasfaser-Anschlüssen -> 3CX inbound und outbound auf einer fixen IP
SIP-Trunk bei Peoplefone

Die meisten Bildschirmarbeitsplätze arbeiten dabei nur mit dem Windows (Desktop oder Web) Client & Headset sowie der Smartphone App und haben keine Mobilteile oder Festapparate mehr. Sowohl die Windows Clients als auch die mobile Clients (Smartphones) befinden sich dabei in jeweils anderen VLANs als die 3CX Anlage. Mit entsprechenden auf die nötigen Ports beschränkten Regeln zwischen den Netzen ist das ja aber kein Problem.

Derzeit plagen uns vor allem folgende Themen:
-> Smartphone App klingelt ab und zu einfach nicht mit, wenn ein Anruf eingeht. Hierbei erübrigt sich jegliche allgemeine Rückfrage zum 3CX-Status oder zur WLAN-Verbindung etc. Ich selbst nutze 3CX in der Firma inzwischen seit Jahren. Das Verhalten ist auch bei meiner Nebenstelle immer wieder mal zu beobachten und ich finde keine Gründe dafür. Das Smartphone kann an der immer selben Stelle mit top WLAN Empfang + geschlossener App liegen und einmal klingelt es und dann wieder mal nicht. Die Funktion "Aktiv lassen" ist mir bekannt. Ich habe damit noch keinen Langzeittest gemacht aber die Lösung darf der Stromfresser aus meiner Sicht auch nicht sein. Das Verhalten hatten wir auch schon, als die 3CX noch Cloud-hosted war.
-> Smartphone App zeigt beim Telefonieren unabhängig von der Position des Smartphones (voller WLAN Empfang) im Display "Schlechte Verbindung" an. Auch ein Pingtest zur 3CX ist gefühlt alles andere als schlecht mit in der Regel 2-3ms am Windows Client oder über etwas schlechteres WLAN maximal 15-20ms. Was ist denn innerhalb der App der Auslöser für "Schlechte Verbindung"? Aufgrund welcher Daten macht dies die App fest?
-> Während Telefonaten (vor allem mit extern) hören Mitarbeiter urplötzlich die Stimme des Gegenüber nicht mehr oder anders rum. Dieses Phänomen tritt wohl immer nur einseitig auf und ist bei uns sporadisch von Windows und mobile Clients aus nicht selten.

Der Firewall Checker von 3CX ist natürlich in Ordnung
Codecs sind an allen Stellen eingerichtet wie empfohlen
Sämtliche online kursierende 3CX-Anleitungen für die FortiGate Firewall sind wir durchgegangen.

Welche Tools nutzt ihr zur Analyse von Netzwerkproblemen?
Mir ist bewusst, dass ein tiefer technischer Support für on prem Instanzen seitens 3CX kostenpflichtig ist und dies ist auch absolut gerechtfertigt. Allerdings suchen wir momentan noch die Richtung, in der eine Analyse und Behandlung überhaupt ansetzen muss. Oft weiß man erst gar nicht, ob nun ein 3CX-Spezialist, ein allgemeiner SIP-Spezialist, ein Netzwerk-Spezialist oder ein Firewall-Spezialist der Richtige ist...

Die "most wanted" Funktionen unserer kürzlich umgestellten Mitarbeiter:
Mit Abstand auf Platz 1 -> Ausnahmen vom Status im 3CX Client einrichten. Beispiel: Nebenstelle 2333 möchte sich selbst in den Ausnahmen hinterlegen können, dass Nebenstelle 2444 unabhängig vom Status Abwesend oder Nicht stören immer bei ihm durch kommt und die Nebenstelle klingelt.
2 -> abteilungsweises Telefonbuch. Unabhängig von den 3CX-Gruppen (die ja in der v20 zu "Abteilungen" werden sollen) wäre es sinnvoll, wenn den Nebenstellen eine Abteilung hinterlegt werden könnte und man sich abteilungsweise die Mitarbeiter anzeigen lassen könnte. Dies am besten noch mit einem PDF-Export ala 3CX "Telefonbuch zum Ausdrucken". Die Suchfunktion in 3CX hilft schließlich nicht, wenn man gar nicht weiß wen man namentlich sucht, sondern nur eine bestimmte Abteilung im Kopf hat. Mein Vorschlag wäre hier, zumindest den Azure User Sync um die Abteilung zu ergänzen.
3 -> Intelligenter Kalendersync -> wenn ein Outlook-Kalender-Termin vorzeitig endet und der 3CX Status manuell auf Verfügbar zurück gestellt wird, wird je nach Dauer des hinterlegten Termins der 3CX Status beim nächsten Sync wieder umgestellt. Es wäre toll, wenn 3CX innerhalb der Zeit eines einzelnen Termins den manuellen Wechsel erkennen könnte und den Status nicht wieder zurück stellt.



Vielen Dank & Schöne Grüße
Fabi
 
Hallo @tkSwaggy ,

ein schönes Ding was ihr da habt, danke für die Info.

Mein Senf dazu:
-> Smartphone App klingelt ab und zu einfach nicht mit, wenn ein Anruf eingeht.
Problem bekannt aber eher selten. Alle Untersuchungen unsererseits zeigen immer auf das Smartphone und dessen Einstellungen selber bzw. den Hersteller. Bei Samsung Geräte tritt das Problem gefühlt häufiger auf. Ich benutze seit Jahren Pixel Geräte und habe es sehr selten, gefühlt nie. Eine komplette Aktualisierung des Telefones, aller Apps, die Kontrolle der Energieeinstellungen des Smartphones bzgl. der 3CX App und ein Neustart beheben das Problem bisher reproduzierbar. Manchmal darf man auch die 3CX App de-, neu installieren und neu provisionieren. Das ärgert dann so richtig. Smartphones die nur innerhalb des 3CX Telefoniestandortes per WLAN betrieben werden und die nie online gehen (können) haben das Problem bisher nicht gezeigt. Dort haben wir lediglich das Problem, in größeren Abständen eine neue 3CX App aufspielen zu müssen. Aber das ist bei Android beherrschbar.

-> Smartphone App zeigt beim Telefonieren unabhängig von der Position des Smartphones (voller WLAN Empfang) im Display "Schlechte Verbindung" an. ... Was ist denn innerhalb der App der Auslöser für "Schlechte Verbindung"? Aufgrund welcher Daten macht dies die App fest?
Das würden wir auch gern wissen wollen.

-> Während Telefonaten (vor allem mit extern) hören Mitarbeiter urplötzlich die Stimme des Gegenüber nicht mehr oder anders rum. Dieses Phänomen tritt wohl immer nur einseitig auf und ist bei uns sporadisch von Windows und mobile Clients aus nicht selten.
Per wireshark mehr mitschneiden und diese Gespräche dann analysieren. Dort wird zumindest sichtbar, auf welcher Seite Audio verschwindet. Wir kennen und haben das Problem grundsätzlich nirgends. Bekannte Ausnahmen: wenn die WLAN Zelle gewechselt wird, wenn das WLAN BAnd gewechselt wird (daher überall Telefonie nur per 2,4 GHz WLAN), Wenn das WLAN verlassen wird und die 3CX auf mobiles Internet wechselt (dauert ca. 3.5 sek., Audio kommt wieder). Bei Windows Clients hatten wir das glaub noch nie.
Mit Abstand auf Platz 1 -> Ausnahmen vom Status im 3CX Client einrichten. Beispiel: Nebenstelle 2333 möchte sich selbst in den Ausnahmen hinterlegen können, dass Nebenstelle 2444 unabhängig vom Status Abwesend oder Nicht stören immer bei ihm durch kommt und die Nebenstelle klingelt.
Ja, bekannt. Das geht aktuell i.d.R. nur mit Signalisierungsgruppen leicht umständlich zu lösen. Man kann das teilweise mit einer trickreichen CFA mehr automatisieren. Aber schön ist beides nicht.
2 -> abteilungsweises Telefonbuch.
Ja, bekannt. Es wird lt. Aussage des Nick seit geraumer Zeit daran gearbeitet. Es ist halt noch nicht produktiv.
 
  • Like
Reaktionen: patrickb
@bitn2 einige der Dinge wären was für die Feature Box im EN Forum :)
 
  • Like
Reaktionen: MarcosV__3CX
Das Smartphone kann an der immer selben Stelle mit top WLAN Empfang + geschlossener App liegen und einmal klingelt es und dann wieder mal nicht.
Teilweise reichen da minimale Paketverluste damit die Push-Funktion nicht richtig ausgeführt wird. Evtl. liegt es auch einfach daran das in einzelnen Statusen die Option "Push-Nachrichten akzeptieren" aktiviert bzw. deaktiviert ist.

Während Telefonaten (vor allem mit extern) hören Mitarbeiter urplötzlich die Stimme des Gegenüber nicht mehr oder anders rum. Dieses Phänomen tritt wohl immer nur einseitig auf und ist bei uns sporadisch von Windows und mobile Clients aus nicht selten.
Am häufigsten beobachte ich dieses Phänomen wenn du im WLAN unterwegs bist das kein vernünftig konfiguriertes WLAN Roaming unterstützt bzw. die APs zu dicht gesetzt sind und daher ständig switchen oder die 2,4/5 Ghz Thematik von @fxbastler dazwischenfunkt.

Teilweise sind aber auch hier minimale Paketverluste die Ursache. Vor allem bei einem Hoster mit N am Anfang habe ich das in den letzten Monaten vermehrt als Fehlerursache identifiziert. Nach einem Wechsel zu einem mit H, hatten betroffene Kunden das Problem nicht mehr.

Wenn du On Prem und lokal unterwegs bist könnte ggf. SIP ALG noch dazwischenfunken und einzelne Pakete "verschlucken".

Einfache MTR Traces geben i.d.R. relativ schnell Aufschluss ob da was in der Richtung im argen ist. Wenn: Dann mit Wireshark wie bereits oben beschrieben.
 
Hallo und danke für die tollen Antworten!

Das Ganze hat etwas mehr Licht in die Situation gebracht.

Wegen der Sprachqualität über WLAN haben wir aufgrund eurer Nachrichten gestern Vormittag nun im betroffenen Bereich das 5 GHz-Band abgeschaltet. Auch die Konfiguration der Unifi-APs prüfen wir gerade und beobachten, ob es tatsächlich bei den Nutzern besser geworden ist.

Alternativ könnte es tatsächlich an zu dichten APs liegen, da wir immer nur pro Stockwerk geschaut haben, was die Strahlung der APs angeht, strahlen teilweise die APs durch die Böden durch, was zu häufigeren AP-Wechseln führt.

Ja, bekannt. Das geht aktuell i.d.R. nur mit Signalisierungsgruppen leicht umständlich zu lösen. Man kann das teilweise mit einer trickreichen CFA mehr automatisieren. Aber schön ist beides nicht.
Wenn überhaupt, bräuchten wir etwas, das der Nutzer einfach selbst konfigurieren könnte. Daher sind beide Wege eher ungeeignet für uns.

SIP ALG ist ebenfalls bereits deaktiviert auf unseren Firewalls, aber wir werden auf jeden Fall mal MTR laufen lassen und beobachten, ob Pakete verschluckt werden.

Da die Sprachprobleme teilweise sehr sporadisch auftreten und daher nicht einfach reproduzierbar sind, haben wir nun längere Traces tagsüber am laufen, um bei Meldungen genauer analysieren zu können.

Ich melde mich hierzu auf jeden Fall nochmal!
 
Wenn überhaupt, bräuchten wir etwas, das der Nutzer einfach selbst konfigurieren könnte.
Wenn die Umgebungsbedingungen stimmen, kann der Benutzer das. Wenn der Benutzer nicht Mitglied von sonstigen Signalisierungsgruppen ist und der Haken Anrufe von Signalisierungsgruppen annehmen in allen Status nicht entscheiden ist, dann:
  1. in den Weiterleitungseinstellungen im Status Abwesend und DND für interne Anrufe die Anrufe auf eine CFA leiten lassen
  2. die CFA nimmt den internen Anruf entgegen, schaut in voreingestellten Parametern (die der Benutzer der Nebenstelle z.B. vorher per DTMF eingestellt hat), ob dieser Anrufer zum Anngerufenen durchgestellt werden darf
  3. falls ja, dann:
    1. wird temprorär und dynamisch eine neue leere Signalisierungsgruppe erzeugt
    2. der Angerufene wird als einziges Mitglied in dieser SG aufgenommen
    3. der Haken Anrufe von Signalisierungsgruppen annehmen im Status der NSt. des Angerufenen wird gesetzt
    4. der Anruf wird an die Signalisierungsgruppe weitergeleitet (Transfer)
    5. es ruft beim Angerufenen - trotz Status Abwesend oder DND
    6. die CFA überwacht im Disconnect Handler die SG und den Angerufenen, ob es noch ruft
    7. sobald es nicht mehr ruft, wird die zuvor dynamisch erzeugte SG gelöscht und der Haken Anrufe von Signalisierungsgruppen annehmen im Status der NSt. des Angerufenen entfernt
Eine CFA erkennt, ob auf diese weitergeleitet (s.o.) oder ob die direkt angerufen wurde. Im ersten Fall greift das obige Szenario (Weiterleitung an eine NSt. die sonst nicht erreicht werden kann). Im zweiten Fall, ein direkter Anruf einer NSt., kann die CFA Einstellungen per DTMF von der NSt. selber entgegennehmen, z.B. per Menü die erlaubten Anrufer einstellen, gleich den Status ändern usw.. Das kommt dann einer Chef Sekretärin Funktion gleich.
 
Da die Sprachprobleme teilweise sehr sporadisch auftreten und daher nicht einfach reproduzierbar sind, haben wir nun längere Traces tagsüber am laufen, um bei Meldungen genauer analysieren zu können.
Überwacht die Accesspoints bzw. die dort angemeldeten Clients, die Zeitpunkte der An- und Abmeldung / die Wechsel der Clients.
 
Hallo, wie versprochen, ein Update zur Situation.

1. Schlechte Sprachqualität über WLAN: Durch Protokollierung konnten wir das Problem auf Benutzer zurückführen, die schlechten WLAN-Empfang an ihrem Arbeitsplatz haben (-65 bis -70 dBm, teilweise sogar noch schlechter). Das Aufhängen neuer APs ist bereits in Planung.

2. Smartphone-App klingelt manchmal nicht und One-Way-Audio: One-Way-Audio war laut unserer ausführlichen Protokollierung hauptsächlich auf die Einstellungen der Android-Handys unserer Benutzer zurückzuführen. Hier half es, die Benutzer anzuweisen, ihre Akku-Optimierung zu deaktivieren und die Telecom-API auszuschalten.

3. Sporadische Sprachprobleme bei der Telefonie allgemein: Wir konnten einen klaren Trend erkennen. Eine relativ große Abteilung, die an einem großen Switch angeschlossen ist, hat Verzögerungen beim Rufaufbau, ein störendes, zeitversetztes Echo (2 Sekunden) und zudem unregelmäßige kurzzeitige Sprachaussetzer (unabhängig vom verwendeten Gerät). Einige Benutzer wurden auf einen anderen Switch umgesteckt und hatten danach keine Probleme mehr. Wir vermuten daher, dass das Problem beim Switch selbst oder bei der Switch-Konfiguration liegt (der Switch ist ein ProCurve J8773A Switch 4208vl).
Ein mir nicht erklärliches Detail jedoch: Um das Echo und die anderen Probleme nachvollziehen zu können, habe ich das Gespräch nach Rücksprache aufgezeichnet. Das Seltsame ist, dass das Echo, das der Mitarbeiter aus der Abteilung bei mir hört, tatsächlich in meinem Audiostream enthalten ist, der zu ihm gesendet wird. Man könnte denken, dass das Echo von meinem Headset kommt. Tests haben jedoch gezeigt, dass es nicht von meiner Seite stammt. Und wie bereits erwähnt, hatte dieser Benutzer kein Echo mehr, nachdem er auf einen anderen Switch umgesteckt wurde. Wie kann das sein?

Außerdem, bezüglich der Call Flow App, @fxbastler: Ich habe versucht, mich in den Call Flow Designer einzuarbeiten, aber ich verstehe nur Bahnhof. Die größte Hürde für mich ist zu verstehen, wie diese DTMFs funktionieren. Deiner Nachricht zufolge können diese wie eine Variable verwendet werden. Aber wie kann ich sie als Variable nutzen, die auch in der Nebenstelle des Nutzers gespeichert wird? Ich nehme an, das funktioniert über die Properties.
 
1. Schlechte Sprachqualität über WLAN: Durch Protokollierung konnten wir das Problem auf Benutzer zurückführen, die schlechten WLAN-Empfang an ihrem Arbeitsplatz haben (-65 bis -70 dBm, teilweise sogar noch schlechter). Das Aufhängen neuer APs ist bereits in Planung.

2. Smartphone-App klingelt manchmal nicht und One-Way-Audio: One-Way-Audio war laut unserer ausführlichen Protokollierung hauptsächlich auf die Einstellungen der Android-Handys unserer Benutzer zurückzuführen. Hier half es, die Benutzer anzuweisen, ihre Akku-Optimierung zu deaktivieren und die Telecom-API auszuschalten.

3. Sporadische Sprachprobleme bei der Telefonie allgemein: Wir konnten einen klaren Trend erkennen. Eine relativ große Abteilung, die an einem großen Switch angeschlossen ist, hat Verzögerungen beim Rufaufbau, ein störendes, zeitversetztes Echo (2 Sekunden) und zudem unregelmäßige kurzzeitige Sprachaussetzer (unabhängig vom verwendeten Gerät). Einige Benutzer wurden auf einen anderen Switch umgesteckt und hatten danach keine Probleme mehr. Wir vermuten daher, dass das Problem beim Switch selbst oder bei der Switch-Konfiguration liegt (der Switch ist ein ProCurve J8773A Switch 4208vl).
Ein mir nicht erklärliches Detail jedoch: Um das Echo und die anderen Probleme nachvollziehen zu können, habe ich das Gespräch nach Rücksprache aufgezeichnet. Das Seltsame ist, dass das Echo, das der Mitarbeiter aus der Abteilung bei mir hört, tatsächlich in meinem Audiostream enthalten ist, der zu ihm gesendet wird. Man könnte denken, dass das Echo von meinem Headset kommt. Tests haben jedoch gezeigt, dass es nicht von meiner Seite stammt. Und wie bereits erwähnt, hatte dieser Benutzer kein Echo mehr, nachdem er auf einen anderen Switch umgesteckt wurde. Wie kann das sein?
Sehr schön. So wie ich das lese, wurden die wesentlichen Qualitätsprobleme gelöst.
Die größte Hürde für mich ist zu verstehen, wie diese DTMFs funktionieren. Deiner Nachricht zufolge können diese wie eine Variable verwendet werden. Aber wie kann ich sie als Variable nutzen, die auch in der Nebenstelle des Nutzers gespeichert wird? Ich nehme an, das funktioniert über die Properties.
Eine CFA kann Benutzereingaben per DTMF entgegennehmen. Ja, Daten / Variablen permanent zu speichern geht über die 3CX Parameter / Properties. Man kann bestehende verwenden oder eigene definieren, sowohl global als auch per DN (Nebenstelle, SG, WS, IVR, SIP Trunk usw.). Um zu sehen, was es alles an Variablen schon so gibt, setze in der 3CX unter Einstellungen / Parameter den Parameter DEVELOPMENT_DNTABLE_EXPOSE auf 1 und drück F5, dann erscheinen neue Tabs.
 
  • Like
Reaktionen: tkSwaggy

Statistik des Forums

Themen
44.414
Beiträge
232.716
Mitglieder
78.330
Neuestes Mitglied
uvitas