KVM203v2 / 17.12.18

Verbesserungen/Bugfixes:

- Patch für den PJSIP Sipstack, damit auch bei "semi-attended" Transfers die Nummer der vermittelten Person auf dem Display erscheint
- wenn ein Benutzer einen Buddy gleichzeitig selbst abonniert hat (was beim eigenen Buddy automatisch passiert) und der Kontakt per Admin-Vorgabe einer Gruppe hinzugefügt wurde, so gilt nun immer die Admin-Vorgabe. Früher galt der ältere der beiden Einträge. Dies führte dazu, dass teilweise die User sich selber unter "Nicht sortiert" sahen, anstatt in der durch den Admin festgelegten Gruppe
- der Presence Server öffnet nun die log.db nur noch bei Bedarf und schliesst die DB danach wieder (ansonsten wurde das .wal File im WAL Modus nicht gelöscht, bis zum nächsten Neustart der PBX oder des Presence-Servers)

Update Software Versionen:

- PHP 7.2.13
- SQLite 3.25.3

Verlinkung wwphone/CTI Versionen:

- Windows (wie bei KVM203) 2.3.14
- Mac: 2.3.14.1 (achtung: neu ein .pkg File und nicht mehr .dmg, was die Installation erleichtert!)
- Linux: 2.3.15


ChangeLog wwphone/CTI 2.3.14.1 für Mac:

- die Lautstärke wird nur noch für VoIP-Calls auf den festgelegten Wert angepasst und nicht auch während des Klingelns. Zudem wird nach dem Beenden des Anrufes die Lautstärke auf den alten Wert (vor dem Anruf) zurückgesetzt

ChangeLog wwphone/CTI 2.3.15 für Linux:

- Qt5.6 anstelle von GTK2 (erhöht die Stabilität, da der GTK2-Wrapper von Lazarus buggy war...)
- HighDPI Support (berücksichtigt wird die Umgebungsvariable QT_FONT_DPI => per Default gilt 96dpi, optimiert wurde die Anwendung für 96 (100%), 120 (125%), 144 (150%), 168 (175%), 192 (200%), 216 (225%) und 240 (250%) => die nächste Windows Version des Clients wird ebenfalls HighDPI unterstützen, wodurch auf hochauflösenden Displays die Anwendung nicht mehr verschwommen dargestellt wird
- die PJSIP Library wurde dahingehend angepasst, dass nicht mehr snd_pcm_drain, sondern snd_pcm_drop beim Schliessen von Audio-Devices verwendet wird. => unter Fedora kam es ansonsten zu Deadlocks beim Schliessen der Audio-Device mit Pulseaudio
- unter gewissen Distributionen funktioniert die Device-Audio-Pegel-Regelung nicht wie gewünscht... (bei mir unter Debian allerdings absolut problemlos) => daher wurde diese Funktion nun wieder per Default ausgeschaltet (resp. eine Option namens "Lautstärkeregler nur für programminterne Lautstärke verwenden", was soviel bedeutet, dass nur auf dem Software-Layer das Signal verstärkt resp. leiser gemacht wird, nicht aber der Alsa Mixer gepegelt). Man kann aber diese Option deaktivieren, um wieder den Alsa-Mixer anzusteuern
- ist die Anwendung unsichtbar und ruft man sie (ohne Parameter, sonst klappt das sowieso bereits) auf, so wird das Fenster eingeblendet. Somit funktioniert das aus/einblenden auch, wenn das Task-Icon im verwendeten Desktop-Einvornment nicht angezeigt wird (dann kann man einfach wieder auf das Programmsymbol klicken und das Fenster erscheint wieder)

KVM203 / 19.10.2018

Neue Features/Anpassungen


Bugfixes


Neuerungen im CTI-Client Version 2.3.12 (resp. 2.3.12.1 macOS)

alle Betriebssysteme:

nur macOS:

nur Linux:


KVM202 / 23.03.2018

Neue Funktionen:

- Unterstützung von Apple Push Notifications, so dass mit der kommenden Version von wwmobile für iOS auch ankommende Anrufe angenommen werden können ohne Umleitung

- QR Code für das Einlesen der wwmobile Config (zurzeit nur iOS)

- im Menü Telefonnummern gibt es nun eine Suchfunktion: es kann z.B. nach sämtlichen Nummern gesucht werden, welche Dialpläne enthalten, in welchen eine gewisse Zeichenkette vorkommt. (Also z.B. sämtliche Nummern, welche bei User Hansli klingeln, natürlich ohne Nummer, bei welchen er einfach Mitglied einer Gruppe ist. Dort müsste man nach dem Gruppennamen suchen)

- es wurde die X.83.0.10er Firmware für Yealink integriert

- beim Aktivieren/Deaktivieren von Sonderschaltungen kommt nun nicht mehr "gespeichert" als Ansage, sondern "Sonderschaltung aktiviert" resp. "Sonderschaltung deaktiviert"

- in Warteschleifen werden nun ebenfalls externe Teilnehmer unterstützt (man kann also auch eine Handy-Nummer als Agent einer Warteschleife verwenden). Allerdings wird bei externen Teilnehmer nicht der Besetztstatus der externen Nummer berücksichtigt für die Auswahl des Agents, was bei internen Agents der Fall ist

- die Warteschleife lässt sich so einrichten, dass man mittels DTMF (Taste 1) die Annahme eines Anrufes bestätigen muss, wenn man das Telefon abgenommen hat. Sinn der Sache: es kann nun natürlich aufgrund der externen Teilnehmer einer Warteschleife passieren, dass der Anruf in der Combox landet... in diesem Fall soll aber die PBX beim Anrufe weiterhin Klingeln signalisieren und es nach einem Timeout bei einem nächsten Agent (oder nochmals beim selben) versuchen. Der Anruf wird erst dann durchgestellt (und nicht mehr Klingeln signalisiert), wenn der Agent die Anrufannahme via DTMF bestätigt

- unter PBX Einstellungen lässt sich das Web-Design anpassen

- im Dialplan kann man SET: NUMMER (Freitext erfordert erst die Auswahl von "Externe Nummer...") eingeben, um die angezeigte Nummer umzuschreiben (verwendet man eine Nummer, die nicht zum number_pool gehört, wird das dann aber ignoriert...). => nützlich, wenn jemand bei einer Umleitung die Firmennummer signalisieren möchte

- unter PBX Einstellungen lassen sich nun ein paar intern genutzte Nummern anpassen (z.B. Parking Nummern, Echotest, Voicemail Nummer), welche zuvor via Konsole direkt in der Datenbank angepasst werden mussten. Ebenso lässt sich die Sprache der Nummern anpassen und ob ein Auto-Answer Header an die Telefone geschickt werden soll bei per TAPI ausgelösten Calls. Auch der G722 Codec lässt sich innerhalb der PBX (nicht aber auf dem SIP-Trunk vorerst) aktiviere. Achtung: beim Anpassen der Voicemail-Nummer ist Vorsicht geboten, da die 900 auf die Telefone provisioniert wird als Reaktion auf das Drücken des Messages Knopfs.

Zwar wird bei den meisten Modellen (aber nicht allen) dynamisch der konfigurierte Wert übernommen anstelle der 900er, ein Ändern der Nummer würde aber ein Reprovisionieren sämtlicher Geräte nötig machen!

- Support von Cisco SPA502G und Linksys SPA 9XX Provisioning (beide nur via VPN-Box/TFTP!)


Verbesserungen/Fixes:

- Sonderschaltungen gelten nun auch für Fax- und Konferenznummern.

Früher blieben Faxe und Konferenzräume auch dann aktiv, wenn man "Alle"

Nummern wählte bei den Sonderschaltungen oder die Fax/Konferenznummer Teil der Auswahl war

- Die Anzahl Sprünge per "LINK: " wird gezählt, um unendliche Loops zu vermeiden. Nach 30 Nummernwechseln per LINK innerhalb desselben Calls wird der Vorgang abgebrochen

- wenn man einen Benutzernamen unter Benutzer/Telefone ändert, werden die Dialpläne automatisch angepasst, in welchen der alte Benutzername vorkam (früher musste man die manuell nachkorrigieren)

- in der Verbindungsstatistik werden nur noch die 10 letzten Registrierungen eines Users angezeigt (bei nicht korrekt funktionierenden Firewalls, bei welchen der Port aufgrund des zu niedrigen UDP-Session-Timeouts andauernd gewechselt wurde, gab es sonst mehr Einträge, als der Browser damit umgehen konnte...)

- mit chan_pjsip werden nun wieder Provider unterstützt, welche den From User auf einen bestimmten Wert gesetzt haben müssen und bei welchen man die anzuzeigende Nummer mittels P-Preferred-Identity übermitteln muss

- vm.min_free_kbytes wird neu auf 24576 gesetzt. Dies verhindert, dass beim Verarbeiten gewisser Netzwerkpakete, welche nicht zu Flushen von Filesystem-Caches führen, out of memory Probleme entstehen können

- Die Datenbank-Änderungslogs (Modifikationen via Webinterface) werden neu 14 Tage anstelle von 3 Tagen aufbewahrt

- Bei Callthrough auf interne Teilnehmer wurden im CTI-Client etwas unnachvollziehbare Von/An Werte angezeigt (Einwahlnummer als Zielnummer). Nun sollten dieselben Werte angezeigt werden, wie bei internen Anrufen

- die maximale Länge der src,dst Strings beim Abruf der Call-History wurden auf 30 Zeichen begrenzt. Mit längeren Strings hatte wwmobile unter iOS Probleme (solche kamen auch nur dann zustande, wenn sich jemand den Spass erlaubte, sehr lange ungültige Nummern wählen...)






KVM201 / 1.11.2017

- Notrufnummern können auch von Anschlüssen her gewählt werden, für welche die Option "Anrufe auf sämtliche externen Nummern blockieren" angeklickt wurde
- Die neue Regel "Mappings unabhängig von den unten gewählten Optionen immer erlauben" wurde erstellt. So ist es möglich, für jemanden bloss Anrufe auf unter Mappings hinterlegte und interne Nummern zuzulassen und den Rest der Anrufe (ausser Notrufe) zu blockieren
- der slapd LDAP Server von openldap.org wurde in die Distribution eingebaut, dieser kann im Menü Adressbuch aktiviert werden. Danach erfolgt ein automatischer Import des Adressbuches in die LDAP-Datenbank, ergänzt durch die Liste der Mitarbeiter. Mutationen etc. sollten ebenfalls automatisch übernommen werden. Die nötigen LDAP-Einstellungen werden automatisch auf Yealink Telefone provisioniert, sobald der LDAP-Server aktiviert wurde und man das Telefon neu provisioniert
- eine spezifische Voicemailbox kann nun per Wahl VOICEMAIL_EINWAHLNUMMER*VOICEMAIL_NUMMER angesteuert werden. Man muss also nicht mehr erst die Einwahlnummer wählen und per DTMF die gewünschte Nummer eingeben, falls man mehrere Voicemail-Boxen abonniert hat
- beim Provisionieren von Panasonic Telefonen werden nun die folgenden im Provisioning unter "Allgemeine Einstellungen" gesetzten Parameter ebenfalls berücksichtigt: Admin Passwort, Benutzer Passwort, Timeserver
- es gibt einen Filter bei den Sonderschaltungen mittels welcher eine Sonderschaltung nur dann gültig ist, wenn der Anrufer den Filter erfüllt. Setzt man * (Default) oder leer, so gilt kein Filter. Sobald ein Filter gesetzt wurde, wird er berücksichtigt. Filter enthalten komplette Nummern oder aber Prefix* . Es können auch mehrere Nummern definiert werden, diese sind per ; zu trennen. Beispiele:
Beispiel 1: 0556667788;022*;033*;044*
Beipsiel 2: 044555*
Beispiel 3: 0556667788
Beispiel 4: 033*;0445556677;055*
So kann man dann z.B. folgendes machen: alle Calls von 032700* landen per LINK: in einem anderen Dialplan (diesen kann man dann wieder nach Zeit etc. steuern). Oder aber man lässt allen Anrufern mit der Callerid anonymous eine böse Ansage abspielen etc.
- Loop-Prevention: ein User konnte out of memory auslösen, indem er ein Endgerät direkt auf dem Gerät (nicht auf der PBX) wieder zurück auf eine Nummer der PBX umleitete, welche eine Anrufverteilung machte, von der er wieder Mitglied war (so nahm die Zahl der Kanäle bis zum Abnehmen natürlich exponentiell zu). Eine Umleitung mit 302 wird nun abgelehnt, falls auf dieselbe Nummer umgeleitet wird, von welcher her der Anruf kam. Was weiterhin möglich ist: Nummer A klingelt unter anderem bei B, B leitet auf Nummer C um, Nummer C klingelt unter anderem bei D und D leitet auf A um. Solche Loops werden noch nicht abgefangen.
- automatisches Generieren von Ansagen unter Ansagen/Wartemusik (ich behalte mir vor, evtl. aus der finalen oder einer kommenden Version dieses Feature wieder zu entfernen. Grund: ich verwende da eine Anbindung an Webservices eines Fremdanbieters, ich muss da noch schauen, dass ich die Kosten für das Verwenden des Services im Griff habe...)
- RTCP Statistiken werden gespeichert und für ein paar Tage aufbewahrt, was beim Debugging von Packetloss oder Meldungen von Kunden bezüglich schlechter Qualität helfen kann...

Bugfix:
- (Regression): es wird nun wieder alle 20 Sekunden ein RTP-Keepalive Paket an den Switch geschickt, falls kein RTP-Stream aktiv ist (z.B. im Voicemail Szenario bricht sonst der SS7-Gateway den Call nach 60 Sekunden Aufsprechzeit ab)

CTI 2.2.3 unter Windows mit folgenden Neuerungen:
- es können neu mehrere Kontakte gleichzeitig in die Kontaktliste gezogen werden
- im Flex Gui Modus wird die Verbindung automatisch mit demjenigen Flex Core hergestellt, dessen Hostname in der von VMWare, Citrix oder RDP gesetzten Umgebungsvariable steht, sofern ein gleichbenannter Host im Flex Core Pool vorhanden ist
- seit dem Start bei ankommenden Anrufen in tel.search gefundene Nummern werden nun auch in der Anrufliste mit dem gefundenen Namen des Anrufers versehen
- Update PJSIP von Version 2.6 auf 2.7
- Netzwerk-Änderungs-Meldungen von Windows werden berücksichtigt, somit erfolgt ein schnellerer Reconnect wenn man das Netz wechselt (z.B. von WLAN auf LAN, neue IP, Wechsel von 4G auf WLAN etc.)
- Während des Verbindungsaufbaus wird eine Animation mit dem Text "Verbinden..." angezeigt, damit der User nicht glaubt, das Programm wäre abgestürzt/eingefroren wenn die Buddy-Liste ausgeblendet wird
- Calls überstehen Netzwerk-Wechsel: es ist z.B. möglich, während eines laufenden Calls vom LAN ins WLAN zu wechseln oder vom WLAN auf 4G etc. Nach einem minimalen Unterbruch (SIP-REINVITE) läuft der Call weiter
- Flex Core Devices werden alphabetisch sortiert
- Fix: Crash bei ankommendem Anruf, wenn eine Warteschleifen Nummer unter LDAP auffindbar war und die Nummer seit dem Start des Clients noch nie anderweitig nachgeschlagen wurde und die Anruf-Benachrichtigung beim entsprechenden Agent bereits vor dem Rendering des Anrufs in der Warteschleife erfolgte
- Fix: gelegentlicher Startup Crash seit Verwendung der neuen Lazarus Version fürs Kompilieren (ab Version 2.1.0)
- Fix: teilweise falsche Haltung/Verbunden Anzeige bei einem Geprächsstart, falls das letzte Gespräch während der Haltung beendet wurde
- Fix: es werden nun Windows Benutzernamen mit Sonderzeichen (z.B. Umlauten) unterstützt, in Versionen vor 2.1.0 gab es ansonsten Probleme mit dem Speicherpfad
=> diese Version ist dank Verwendung der neuen Lazarus Version (1.8 anstelle von 1.4) grundsätzlich vorbereitet für hochauflösende Bildschirme, sodass nicht alles verschommen aussieht aufgrund der Skalierung durch Windows. Entsprechende Anpassungen sind in Arbeit

und

Noch ein kleiner Hinweis: es gibt ja (wenige) Benutzer, welche unter Windows Benutzernamen mit Umlauten verwenden, was mit dem Client in gewissen Konstellationen zu Problemen führte. Daher wurde dann ja beim Kompilieren von Lazarus 1.4.X auf Lazarus 1.8 umgestiegen, da dort Freepascal die neuen APIs von Microsoft verwendet, welche mit Unicode (teilweise aber Multibyte und nicht UTF8) umgehen können (dafür ist man nicht mehr mit der Win 9x Linie kompatibel etc.).

Wie sich gezeigt hat, ging hier noch eine Anpassung vergessen, welche das Auto-Update betrifft. Bedeutet: die Versionen > 2.1.X funktionieren zwar mit Benutzernamen mit Umlauten, der Client crasht aber beim Start, sobald ein Auto-Update angeboten wird. Das bedeutet: Benutzer mit Umlauten im Windows Benutzernamen müssen (sobald die PBX Version KVM201 aktualisiert wird, welche die Version 2.2.3 anbietet) MANUELL auf die Version 2.2.3 updaten! Ab Version 2.2.3 funktioniert auch das Auto-Update wieder korrekt.