Posts by FabianZ

    So das Tool ist fertig:


    https://module.si-solutions.ch/forum/11958/JSONBuilder.rar


    Entpacken und danach die Start.bat ausführen.


    Wenn es Fehler "Class has been compiled by a more recent version of the Java Environment" kommt, müsst ihr eure Java Version Updaten.


    Kurz wie das Tool funktioniert:


    Der Button Load JSON, lädt ein Zuvor mit dem Programm gespeichertes JSON fürs weitereditieren.

    Das Save JSON Speichert die Tabelle im Programm als JSON Datei.welche mit der SFM-DB kompatibel ist.


    Generate/Refresh JSON from Folder, verlangt nach einem Ordner voller .sfm Dateien (Scannt alle Unterordner ebenfalls recursiv), und baut daraus die Tabelle fürs Abspeichern als JSON. Falls zuvor eine JSON Datei geladen wurde, Updatet er die JSON Datei mit neuen Informationen (Z.b. maximumversion, approveversion, modulversion ect.), wenn eine neue .SFM Datei für ein bestehendes Modul dazugekommen ist.


    Wenn mehrere .SFM Dateien fürs gleiche Modul exisitieren, sammelt es diese, und führt diese zusammen, es funktioniert noch nicht zu 100% Aber ist besser als alles von Hand zu erfassen.


    Die Tabelle kann auch von Hand nachkorrigiert werden

    Mithilfe des Dropdowns und "Replace all" kann man auch etwas für alle Module grade updaten.


    1.png


    MfG


    Fabian

    Ich Arbeite gerade an einer GUI Oberfläche, bei der ihr einen Ordner voller .sfm Dateien angeben könnt, er Scannt alle ein, und generiert dann eine Tabelle, wo die werte noch editieren werden können, bevor eine JSON generiert wird.


    Bei über 100 Modulen, bzw. 500 Versionen pflege ich die JSON nicht von Hand :P


    Sobald sie Fertig ist, werde ich sie als DL zur Verfügung stellen.


    MfG


    Fabian

    Hallo FLoehner


    Das geht bereits.


    In dem alten, sowie dem neuen STARFACE Client.


    1.png


    Du musst im Adresbuch "Teilnehmer intern" den Teilnehmer editieren, dort kannst du, wie auch bei normalen Adressbucheinträgen, div. Telefonnummern, Wohnort ect. hinterlegen.


    Wenn du es nicht editieren kannst, ist es via Admin Konsole gesperrt worden.

    Um es zu Entsperren/editierbar zu machen musst du im Webinterface ==> Admin ==> Adressbuch ==> Benutzer ==> Schreibzugriff geben.


    MfG


    Fabian

    Hallo ismailbalik


    Dieses Problem hat damit zu tun, dass die STARFACE dem Zertifikat von https://license.starface.de nicht vertraut. Vermutlich, weil das Zertifikat zu neu bzw. deine STARFACE Version zu alt ist.


    Deine STARFACE Version ist weit ausserhalb der Supporteten Versionen. Du musst diese vermutlich von Hand neu installieren & dann ein Backup einspielen.


    Ob deine Compact noch Kompatibel ist kannst du in diesem Wiki-Artikel prüfen: https://knowledge.starface.de/…ge.action?pageId=46568852


    MfG


    Fabian

    Hallo Tilo


    Ich habe mal den Code zwischen 7.3.1.3 und 8.1.0.11 verglichen.


    Der GetConnection Baustein ist noch der genau gleiche wie in der alten STARFACE Version.


    Der Baustein selbst hat sich also nicht geändert.


    Was sich ggf. geändert hat sind die Security Standards vom Java oder der JDBC Treiber wurde geupdatet.


    Du musst vielleicht bei den Options "encrypt=false;" hinzufügen, oder "encrypt=true;trustServerCertificate=true" da sonst der Datenbanktreiber neu eventuell standardmässig auf SSL/TLS geht.


    MfG


    Fabian

    Die Fehlermeldung besagt, dass sip-rwe.de vom DNS Server nicht aufgelöst werden kann. Ich vermute es wurde im Linux im /etc/hosts manuell ein Eintrag erfasst, welcher die sip-rwe.de auf die IP des NGN Gateways zeigen lässt.


    MfG


    Fabian

    Hallo ninjavoiper


    Die ID ist fortlaufend, und wird Auto-generiert, wenn du sie beim Insert nicht mitlieferst.

    Die QueueID ist ein Foreign Key ==> queue.id


    Code
    id integer NOT NULL DEFAULT nextval(('queue_priority_datasource_id_seq'::text)::regclass),
    queueid integer NOT NULL,
    type integer NOT NULL,
    CONSTRAINT queue_priority_datasource_pkey PRIMARY KEY (id),
    CONSTRAINT queue_priority_datasource_queue_fkey FOREIGN KEY (queueid)
    REFERENCES public.queue (id) MATCH SIMPLE


    Was ich nicht weiss, ist ob die DB Insert bei der Queue sofort eine Wirkung haben, oder du die Anlage ggf. neu starten musst, damit die auftauchen. Für gewisse Komponenten verwendet die STARFACE für schnelleren access eine kopie der DB Daten aus dem Arbeitsspeicher, und aktualisiert diese dann parallel zu den DB insert.


    Ansonsten könntest du diese ggf. via Java Code Einspielen.


    MfG


    Fabian

    Es ist zwar diese Stimme, der Text ist aber nicht vorgeneriert.


    Sondern jeder Teil des Textes ist in "/var/lib/asterisk/sounds" in 3 Sprachen als .sln16 und .g722 abgelegt.


    Du musst also jede Audiodatei abhören, und dann den neuenm Text generieren und ersetzen.


    MfG


    Fabian

    Ich hätte eine einfache Idee, wie das umzusetzen wäre.


    Du erstellt einen Dummy User

    Du erstellst ein Modul, welches sich Anrufen lässt.

    Du setzt bei jedem Benutzer inkl. Dummy User dieses Modul als DW auf eine Funktionstaste, und nennst es z.b. Telefon ab/anmelden.


    Szenario 1:

    Wenn der Dummy User das Modul anruft, fragt das Modul, welcher Benutzer am Telefon angemeldet werden soll, dann gibst du dort deine Interne Rufnummer ein z.b. 200

    Das Modul prüft, ob es den Benutzer gibt.

    Wenn es den Benutzer gibt

    {

    ____ Das Modul prüft, von welchem Telefon der Dummy User gerade Angerufen hat (GetCallerChannel z.b. SIP/2227.snomd385-00000005 , String

    ____Filtern/Kürzen), und meldet diesen vom Telefon ab (REST DELETE /users/{userId}/phoneconfig/phones/{phoneId}) , und Meldet den User, dessen

    ____LoginID eingegeben wurde an (REST POST /users/{userId}/phoneconfig/phones)

    }

    Wenn es den Benutzer/LoginID nicht gibt

    {

    ____ Modul gibt Fehlermeldung aus

    }


    Szenario 2:

    Wenn ein Benutzer das Modul anruft, loggt das Modul den Benutzer am Telefon aus, und Meldet den Dummy User wieder an. Somit werden auch die Funktionstasten vom Dummy User wieder geladen, und der nächste Benutzer kann sich dann wieder "Anmelden"


    Dann noch sicherstellen dass:

    Der Dummy-User nicht angerufen werden kann (Z.b. Immer Umleitung auf Voicemailbox)

    Ggf. Sicherstellen, dass der Dummy-User nicht (Raus)-Telefonieren darf. (Durch Modul abfangen, und z.b. Busy angeben)


    Das sollte die Hotdesking Idee so in etwa decken.


    MfG


    Fabian

    Von uns gäbe es ein Modul, welches hier Behilfich sein könnte.


    Das https://wiki.si-solutions.ch/d…dungsbasierter_Chatstatus


    Dieses setzt den Chatstatus eines Benutzers, basierend auf deren Gruppenmitgliedschaft.


    Du kannst dann z.b. Gruppen Eröffnen Krank/Ferien/Ausser Haus ect.

    Wenn du einen Benutzer in der Gruppe hinzufügst, wird dann sein Chatstatus überschrieben.


    Dann kann man dem User sogar Tasten aufs Telefon legen, mit welchen er sich an den Gruppen an/abmelden kann.

    Somit reicht dann ein Tastendruck, um den Kunden z.b. als Krank zu markieren.


    MfG


    Fabian

    Hallo Andreas


    Wenn es sich zuverlässig nachstellen läst, mach mal einen Testanruf, versuche das Gespräch via dem Knopf anzunehmen, und warte dann mal eine Minute, und schaue, ob das Gespräch dann plötzlich angenommen wird.


    Wenn ja, wird es wohl ein ähnliches Problem sein, wie ich zuvor schon beobachtet habe.


    MfG


    Fabian

    Hallo Max


    Ich habe einfach vergessen, die 1070 vom Updateserver zu entfernen.

    Die ist jetzt nicht mehr Verfügbar.


    Die Modul-Versionen zählen Standardmässig immer Rauf, also ist Grössere Modulversion == Neuer (Ausser man macht ein eigenes Versioning, so wie es manche Entwickler machen)


    MfG


    Fabian

    Ich habe eine Theoretische Möglihckeit, wie man es Anlagenmässig lösen könnte, aber komplett ungetestet.


    Es gibt eine Funktion "SendCallerIDUpdateAction", mit welcher man für einen Channel von einem Gespräch die CallerID Updaten könnte.

    Ich nehme an, diese wird im Normafall verwendet, um die BLF Tasten o.ä. aufzulösen, also z.b. wenn man am Tischtelefon eine Benutzertaste drückt steht zuerst jeweils eine A-Nummer dort z.b. A1000, bevor diese dann beim klingel auf den wirklichen Namen aufgelöst wird.


    Wenn es wirklich Funktioniert, könnte man damit selbst bei Gruppenrufen on the fly die CallerID noch ändern, während es noch klingelt, und zwar nur für einen Teilnehmer.


    Würde aber bedeuten, dass pro Teilnehmer, dessen Privates Adressbuch durchsucht werden muss, da jeder in der Gruppe vllt die gleiche Nummer unter einem anderen Namen im Pers. Adressbuch hat.



    Falls sich jemand damit beschäfitgen will


    In diesem Beispiel, wenn es funktioniert, würde für jeden Angerufenen der Anrufer auf "Max Mustermann Musterfirma" gesetzt.

    Nun könnte man den Code dahingehen erweitern, dass es für jeden Benutzer sein privates Adressbuch prüft, und nur dan ggf. die Werte überschreibt.


    MfG


    Fabian