Posts by ChrisKrause

    Ja, du hast Recht.

    Mein Angriff war nicht fair.

    Ich bin bei Starface Modulen leider schon auf die Nase gefallen, namentlich in Bezug auf die SQL Module von Oliver Baltz, die quasi unmittelbar nach Kauf nicht mehr aktualisiert wurden und nach kürzester Zeit Neukäufe erforderlich gemacht haben. Man kann das dem Kunden dann aber nicht vermitteln.

    Mir ist z.B. dein Reverse Lookup Pro sehr positiv aufgefallen, weil es den SQL Import gar nicht erst erforderlich macht und dazu auch noch günstiger ist.

    Generell sind die von dir angebotenen Leistungen aus meiner Sicht sehr gut. Sorry dafür.

    Hallo Fabian,


    ein herzliches Danke für deine unfassbar tollen Beiträge hier.

    Ich habe versucht ein Python Skript für ein Click-To Dial zu erstellen. Leider ist eher ein Türklingel-Modul draus geworden (das man z.B. mit einem Amazon-Dash-Button triggern könnte).


    Anbei das "Türklingel"-Skript, falls es jemand benötigt – ich leider nicht.

    Was ist der Unterschied? Das unten stehende Modul lässt interne oder fremde Telefone klingeln. Es geht allerdings dann niemand auf Seiten der eigenen Starface ran. D.h. es ist hilfreich, um einen Alarm auszulösen oder jemanden wach zu rütteln (Wecker, Türklingel, Alarm, etc.), aber ich möchte ein Gespräch von meinem User Default Telefon an die angerufene Nummer vermitteln.


    Wie bekomme ich es hin, dass ich einen Anruf von einem bestimmten User aus an eine externe Nummer durchführe?

    Ggf. muss gar nicht mein Skript, sondern das Modul verändert werden, sodass es das Gespräch einem User/Telefon zuweist?



    Krass, jetzt will ich auch so einen Stick und gucken, ob wirklich alles scheitert.

    Ich hatte tatsächlich mal eine Festplatte, die ich unter Windows als "dynamischen Datenträger" konvertiert hab. Da lies sich unter Linux auch nichts machen, kein dd if=/dev/zero of=/dev/xxx, ich glaub das Problem war, dass das Gerät unter Linux eben nicht einmal als /dev/sdX eingebunden wurde, weil es dieser merkwürdige dynamische Datenträger war (so wie mdadm Datenträger eben auch nicht auf die Art zu finden sind).

    Nachdem auch Google nichts von dem Problem mit den dynamischen Datenträgern gehört hatte, hab ich das abgetan als "Ich glaub ich werd verrückt", unter Windows lies sich das Ding aber "zurückkonvertieren" und danach tat er so, als wäre nie etwas gewesen.

    Wenn es eine einfache SQL Datenbank ist, bei der Name und Telefonnummern je in einer Spalte stehen, kannst du das mit meinem SQL Tool probieren.

    Ich hab ein Skript geschrieben, welches dir ein SQL Adressbuch via REST Schnittstelle in die Starface schreibt.

    Das müsste man einmal ausführen und dann regelmäßig laufen lassen, in einem Zeitintervall das zur Aktualisierung eures CRM Systems passt. (von täglich bis quartalsweise, je nach Anzahl der Neukunden).


    support.starface.de/forum/thread/?postID=65711#post65711


    Es gibt auch kostenpflichtige Module, die das übernehmen. Die haben Vor- und Nachteile. Nachteil ist i.d.R. der Kostenfaktor und die Problematik, dass die nach Starface Updates regelmäßig zerschossen werden.

    Das Tool liest Adressdaten von einem SQL- oder von einem Carddav Server (z.B. Nextcloud)


    Es prüft, ob der Name jedes Kontaktes bereits im Adressbuch ist. Wenn nein, wird er angelegt.

    Wenn ja, wird geprüft ob sich Rufnummern geändert haben und in diesem Falle der Kontakt gelöscht und neu angelegt.


    Im Gegensatz zu (kostenpflichtigen) Modulen ist die REST Schnittstelle i.d.R. sehr lange Update-Stabil und funktioniert auch mit einer Starface Free Edition.


    Abhängigkeiten

    SQL: 'apt install python3-pymssql' durchführen, um Datenbankmodul zu installieren.


    CardDav: 'apt install python3-vobject' sowie die folgende carddav.py Datei ins gleiche Verzeichnis kopieren:

    carddav-util/carddav.py at master · ljanyst/carddav-util
    A CardDAV import/export utility. Contribute to ljanyst/carddav-util development by creating an account on GitHub.
    github.com


    Konfiguration

    SQL-Parameter / CardDav + Starface Parameter eintragen

    SQL: Datenbankzuweisung machen, d.h. in das Dictionary in die letzte Spalte die Spaltennamen anpassen. Hier greife ich auf eine MSSQL "Repdoc" Instanz zu, aber andere CRM Systeme nutzen andere Datenbank-, Tabellen- und Spaltennamen.


    Aufruf

    - i sql Liest vom SQL Server

    - i carddav Liest vom Carddav Server

    -o print Ausgabe der CSV Datei in der Konsole

    -o csv Speichern der CSV Datei

    -o starface Hochladen der Daten via REST Schnittstelle


    z.b:

    ./starface_addr.py -i sql -o starface


    Feedback und Rückfragen hier ins Forum.


    Ich habe noch ein paar Ideen, z.B. könnte man eine CSV Datei als Quelle verwenden und hochladen. Vorteil: Es werden nur nicht vorhandene Kontakte oder geänderte Kontakte ins Adressbuch übernommen. Der Kunde könnte aus seiner Datenbank selbst regelmäßig einen Export anstoßen und das Skript läuft regelmäßig über den Ordner.

    Anpassung / Implementierung für spezifische Kundensituation: Kann ich kostenpflichtig auf Stundenbasis übernehmen.

    Wie lange hat es gedauert, das Tool zu schreiben? Ca. 14 Std. Bin aber kein alteingesessener Python Experte.


    Caveats:

    - Es dürfen keine zwei Kontakte mit gleichem Namen existieren, es wird dann nur der letzte Kontakt übernommen.


    Alternativer Download: krause-computer.de/starface_addr.py

    Ich habe mich mal an folgendem Skript unter Proxmox 7.2 versucht:


    Proxmox VM in einen LXC Container konvertieren – bachmann-lan.de


    Hiermit hab ich die aktuelle Starface 7.2 in einen LXC Container umgezogen. Es läuft.

    Ich würde es nicht im Produktivbetrieb empfehlen und es gibt – außer geringerem Ressourcenbedarf – auch keine wirklichen Vorteile, aber toll dass das geht.
    Mit bestimmter Hardware und Zusatzmodulen wirds aber vermutlich Stress geben.


    Nachtrag:
    - Es klappt auch mit einem unprivileged Container. Das ist ja wichtig, weil ein privileged Container unsicherer ist als ein unprivileged Container und auch als eine VM


    - Die ersten Probleme treten in der Praxis auf, z.B. die iFMC funktioniert nicht. Ist also definitiv kein empfohlenes Vorgehen. Aber war ja auch irgendwie klar.

    Ja, zwei Netzwerkinferfaces an der Starface 7 macht Probleme, das hab ich von einem Kollegen auch schon gehört.
    Probleme hatten wir auch mal mit Voice-VLAN Tags. Irgend ein Netzwerkspezi meinte, dass das cool sei. Hat nur stress gemacht, weil man Problemfälle nie nachstellen konnte, weil ein Telefon an einem Port immer in einem anderen VLAN war als ein Rechner am gleichen Port.
    Außerdem konnte man die Telefone nicht nativ an einen Switch im Voice VLAN hängen, weil es – einmal auf das Voice VLAN konfiguriert – auch an nativen Ports das VLAN Tag benutzt hat und dann kein Netz gefunden hat (war konkret ein SNOM).


    - Wenn bei uns die Starface zwingend über eine andere Internetleitung raus muss (i.d.R. weil der Telefonanbieter keine nomadische Nutzung erlaubt), dann setz beide Internet-Gateways in den gleichen Netzbereich und die Starface bekommt ein anderes Default GW als der Rest der Clients.
    - Wenn Telefonie und Netzwerk getrennt werden sollen, dann konfiguriere die VLANs nativ (ohne VLAN Tag) auf die Switchports und stecke Telefone in den Bereich, der mit dem Telefonie-VLAN belegt ist und Computer in den anderen. Das Netzwerkinterface an einem Telefon ist dann allerdings nicht mehr für einen Computer nutzbar.
    Die beiden Netze werden dann auf einem Router oder L3-Switch geroutet, sodass z.B. der UCC Client auf die Starface zugreifen darf bzw. das Default-GW des Telefonie-Netzes die Rückroute ins Computer-Netzwerk kennt.


    Gerade in kleinen Umgebungen macht die Trennung aber aus meiner Sicht keinen Sinn, weil alle wichtigen Ports der Starface in einer Firewall ohnehin freigegeben werden müssen, sonst funktionieren eben UCC Clients nicht.

    Hmm...
    - Die meisten Kunden haben ein NUC mit Proxmox, statt einer direkten Installation auf der Hardware weil man das einfach besser Fernwarten kann und die Hardwareunterstützung besser ist (Starface setzt ja meist auf recht betagte Kernel). Da ist aber nichts mit "umziehen auf einen anderen Host".
    - Um im Menü auf einem falschen Punkt zu stehen, müsste zumindest mal eine Tastatur angeschlossen sein, auf die der Kunde drücken kann; und selbst wenn das so wäre, ist diese ja nicht in die VM durchgeschleift. Darüber hinaus geht das Menü nach einigen Minuten wieder auf Defaut Zustand. Dass das nach Feierabend während der Serverwartung passiert ist, ist außerordentlich unwahrscheinlich. Und wenn doch: Na dann killt es eben die Starface beim Reboot, bisher hat das noch nie zu Problemen geführt. Das will man nicht täglich haben, aber wenn es dann doch mal so kommt...
    - Die meisten Admins schreiben keine Software / Module. Und der Aufwand, hier ein Modul zu installieren ist eine Größenordnung höher als das Skript zu installieren.
    - Der VM Ware Guest Agent ist nicht drauf. Sonst hätte ja der Shutdown via qm shutdown <VMID> funktioniert.

    Ich nutze die Starface auch auf Proxmox, seit Starface 7 läuft die VM Version nicht mehr in der virtio Konfiguration, wenn man das vmdk im qm import importiert. Die ISO Installation klappt aber einwandfrei, die ist aber natürlich weniger gut skriptbar.


    Sicherheitshalber hier mal meine Hardware-Konfiguration:
    Memory: 2 GB RAM
    Processors: 2 (1 sockets, 2 cores) [host]
    Bios: Default (SeaBIOS)
    Display: VirtIO-GPU (virtio, memory = 16)
    Machine: q35
    SCSI Controller: VirtIO SCSI
    Hard Disk: 32 G
    Network Device: virtio


    Aber wenn du sagst, dass es ein Problem ist, was nicht mit der VM zusammenhängt:
    Ich würde noch ausprobieren von der alten Maschine mal ein minimales Backup zu machen, (ohne Ansagen, CDRs, etc.).

    Das Telefon ist recht neu, ich hab diese Installation kürzlich auch so bei einem Kunden installiert und das Weiterleiten funktioniert hier.
    Wichtig war bei mir, dass ich die .259 Firmware auf dem N510 manuell nachinstallieren musste, sonst konnte ich viele Funktionen am Gigaset nicht nutzen. Auch die Handteile über die Basisstation aktualisieren.
    Und das Yealink hat mit der 7.1.1.6 auch ein Problem mit dem call transfer, der aber die Gigaset untereinander nicht betrifft. Dennoch: auf jeden Fall alles auf den aktuellen Stand bringen.


    Hast du hier mal ein Starface log für uns? Was sagt die Starface, wo geht das Gespräch hin?
    Man kann mit der N510 und den Gigaset auch über die int-Funktion verbinden. Das machen meine Kunden häufiger, weils einfacher umzusetzen ist. Die Umleitung geht dann natürlich an der Starface vorbei. Aber ggf. hilfts dem Kunden übergangsweise, bzw.: Klappt das evtl. auch nicht?

    Ich hatte das relativ lange so laufen, dass eingehende Anrufe an der Fritzbox eingehen, zur Starface geleitet werden und dann die Basis wieder mitklingeln lassen. Ich würde das definitiv nicht produktiv einsetzen, obgleich es auch einige Vorteile bietet (z.B. keine Abhängigkeit von teuren Gigaset Pro Geräten), aber die Fehleranfälligkeit ist einfach etwas höher als bei professionellen Installationen. Geärgert hat mich ein bisschen, dass alle Telefonate in der Fritzbox als zweimal eingehend angezeigt werden.


    Erfahrungsgemäß benötigt die Fritzbox sowohl als Provider als auch als Anbieter in Kombination mit der Starface immer gut 10 min, bis die Verbindung zustande kommt. Also einfach mal nen Kaffee trinken gehen und nicht aktiv warten, wenn die Benutzer erstellt sind.
    Wie gesagt, bei mir hat es so funktioniert...

    Ich habe versucht mit Ansible unsere Proxmox Instanzen mit apt update / apt full-upgrade zu versorgen und dann neuzustarten.
    Dafür müssen die VMs automatisiert heruntergefahren werden. Für Windows kein Problem, wenn man den Agent enabled und installiert hat, sowie den Seriell-Treiber.


    Starface lässt sich aber nicht herunterfahren. Dabei geht es mir darum, dass möglichst effizient auf neue Systeme auszurollen, d.h. möglichst keine Änderung an der Starface Installation selbst, die nicht Updatestabil sind. SSH wäre eine Option gewesen, allerdings hätte das vorausgesetzt irgendwo Passwörter zu speichern (weil Zertifikate hinterlegen wieder Änderungen am System bedeutet hätten).


    Vieles probiert: qm sendkey <vmid> CTRL-ALT-DELETE bootet neu, fährt aber nicht herunter. qm sendkey sysrq ist standardmäßig deaktiviert, qm monitor <vmid> + 3x system_powerdown funktioniert, lässt sich aber partout nicht skripten.



    Nun hab ich gefunden, was ich gesucht hab: Das navigiert im starface menü auf shutdown_h und bestätigt mit ok


    #!/bin/bash
    /usr/sbin/qm sendkey 100 kp_enter
    /usr/sbin/qm sendkey 100 down
    /usr/sbin/qm sendkey 100 kp_enter
    /usr/sbin/qm sendkey 100 down
    /usr/sbin/qm sendkey 100 down
    /usr/sbin/qm sendkey 100 down
    /usr/sbin/qm sendkey 100 kp_enter
    /usr/sbin/qm sendkey 100 left
    /usr/sbin/qm sendkey 100 kp_enter



    Wer bessere Vorschläge hat, gerne her damit.

    Ein Downgrade geht i.d.R. mithilfe der TFTP Methode (auch bei den berüchtigten Skype4Business-Firmwareständen)


    - TFTP Server aufsetzen (unter Windows oder Linux) und TFTP-flash fähiges ROM für das betroffene Telefon auf den TFTP packen (besteht aus ROM + zwei weiteren Dateien)
    - Lautsprecher Taste am Telefon drücken und währenddessen das Telefon mit Strom versorgen (Netzwerkkabel muss bei Stromversorgung mit Netzteil bereits gesteckt sein)
    - TFTP Update auswählen und TFTP Server sowie temporäre IP Config eingeben


    Hierfür muss eine TFTP flash-fähige Firmware auf dem TFTP liegen, diese besteht neben der ROM aus zwei weiteren Dateien.
    Da gibt es für diverse Modelle sehr alte Softwarestände, von denen du dich dann hochpatchen kannst.