Beta Tester Gesucht: netwerkfähige JFritzversion

capncrunch

Mitglied
Mitglied seit
25 Mrz 2006
Beiträge
330
Punkte für Reaktionen
0
Punkte
0
Hallo JFritz-Fans,

Nach eineinhalb Monaten ist es endlich so weit. Ich habe jetzt die erste Betaversion von dem netzwerkfähigen JFritz bereitgestellt, die das Programm nur um 50K vergrößert hat :).

Was: Diese Version ist an usern ausgerichtet, die eine zentrale Anrufliste oder ein zentrales Telefonbuch im Netzwerk haben wollen. Mit dieser Version kann man JFritz entweder als Datenserver oder oder Client betreiben, wobei der Server sämtliche Datenvorgänge für die Clients steuert. Der server speichert für jeden Client eine Kennung mit Rechten, so dass berechtigte Clients eventuelle die Daten am Server auch ändern können. Beim Client werden sämtliche FritzBox zugriffe und Rückwärtssuchen auf den Server umgeleitet, damit jeder Client keine direkten Zugriff zur Box / zum Internet benötigt.

Wer: Diese Version ist eine erste Beta, d.h. dass der Code im Allgemeinen funktioniert sollte, aber Synchronizationsfehlern durchaus vorkommen können. Normalerweise beim Beta muss man nicht mit Datenverlüste rechnen, allerdings hat diese Version viel an den internen Verwaltung im Telefonbuch / in der Anrufliste geändert, also kann es passieren, dass neue oder geänderte Daten nicht richtig / vollständig gespeichert werden (vor allem an Clients). Ich suche vor allem Leuten, die JFritz an mehreren PCs betreiben, und die bereit sind, die Vorgänge zwischen Server und Client genau zu beobachten.

Anleitung: Als allererstes solltet ihr eine Sicherungskopie von den JFritz-Dateien machen. Ihr solltet sowohl am Server als auch an allen Clients Debug-Ausgaben aktiviert haben.

Als erster Schritt müsst ihr eine JFritz-Installation als Server einrichten. Dies macht man in den Einstellungsdialog unter dem Reiter "Netzwerk". Ihr müsst mindestens eine Clientkennung einrichten, damit Clients anmelden können. Clientkennungen können gleichzeitig mehrfach von verschiedenen Clients verwendet werden. Und danach einfach den Server starten. Wenn der Server richtig eingestellt wurde sollte eine gedrückte Server-Icon im JFritz-Window erscheinen:
server.png

Der Server ist eigentlich wie eine normale JFritz-Intallation, also könnt ihr wie gewöhnt damit arbeiten.

Als näschtes solltet ihr mindestens einen Client einrichten. Dies wird wie beim Server unter dem Reiter "Netzwerk" eingestellt. Wenn der Client richtig eingestellt wurde sollte eine gedrückte Client-Icon im JFritz-Fenster erscheinen:
client.png

Je nach Einstellungen sollte jetzt sämtliche Fritz!Boxfunktionen / Rückwärtssuchen an dem Server übergeben werden. Falls die Verbindung nicht zustande gekommen ist, sollte entweder eine Fehlermeldung kommen oder den Client knopf nicht mehr gedrückt erscheinen. Der Rest sollte ohne weiteres funktionieren.

Anmerkungen: Dieser Code basiert auf JFritz-0.6.2.03, also gibts einige Bugfixes von der 0.6.2.04 nicht. Der Callmonitor bei den Clients greift noch auf die Box zu, also muss bei Clients mindestens die richtige Addresse der Box gespeichert sein. Bei allen Clients müssen die SIP-Einstellungen des Servers gespeichert sein, sonst kann es zu doppelten Einträgen kommen. Das macht man am Besten, in dem man die jfritz.sipprovider.xml bei allen Clients hinterlegt.

Also wer Lust hat, kurz hier posten, ich werde dann die Link zur Beta per PN schicken. Bitte benutzt dieses Thread für Feedback und Fehlermeldungen.

cheers,
Brian
 
Hallo capncrunch,

habe gerade das ganze installiert. Hat mich zwar ein bisschen gefuxt aber sonst ging es ziemlich einfach.

Nur jetzt habe ich beim Client das Problem, wenn ich jFritz starte, dass immer die Meldung kommt, dass er schon mal geöffnet ist, oder nicht richtig beendet wurde.
Hast du eine Idee warum das immer kommt? Kam sonst ja auch nicht^^

Hab die Einstellungen ein bisschen probiert, habe bis jetzt keine Probleme festgestellt.

Ach ja. Habe das Automatische Update eingeschaltet gelassen, dann hat er mier die Netztwerkeinstellungen der Beta wieder rausgenommen und die Final wieder draus gemacht. Ist das so gewollt?

Werde das noch ein paar Tage weiter testen und Erfahrungen weitergeben

Gruß
Elephantman
 
Die Methode wirkt schon etwas umständlich?!
Da muss ja der Server immer laufen.
Würde doch reichen, wenn Server und Client einfach auf die gleichen Daten zugreifen können (einer schreibt das Telefonbuch, die anderen lesen es nur. Rest der Daten kann ja jeder für sich behalten und sich z.B. das Telefonbuch immer mal wieder vom Server laden, wenn der mal läuft).
Bisher kopiere ich immer wieder mal von Hand vom 'Server' den kompletten JFritz! Ordner an die 'Clients'.

Aber testen will ich das mit Netzwerk schon mal, wie das läuft.
 
@Elephantman: Nein, Autoupdate sollte meine Beta nicht überschreiben (habe einfach vergessen, den CVS-Tag zu ändern :oops:), und nein die Meldung sollte eigentlich nicht kommen. Hast du Client und Server am selben PC laufen?

@Mega: Ich glaube, ich habe das schon etwas umständlich erklärt :). Es ist halt so, dass jeder Client eine eigene Daten hat und speichert. Wenn die Verbindung zum Server nicht vorhanden ist, dann läuft es ganz normal weiter. Wenn die Verbindung wieder hergestellt wird, dann werden die Daten zwischen Server und Client ausgetauscht und synchronisiert. Somit muss der Server nicht immer laufen, sondern nur dann, wenn die Daten synchronisiert werden müssen.

Ich habe versucht alles so zu implementieren, dass wenn man alles unter Netzwerk eingestellt hat, es einfach läuft. Mal sehen in wie fern das mir gelungen ist.


--Brian
 
Generell wäre es schön, wenn JFritz! nicht nervt, wenn die Fritte nicht gefunden wird.
Es würde reichen, wenn es einfach bei fehlender Verbindung nix macht (evtl einmal das selbstverschwindende Popup wie bei Anrufen/Anrufimporten) und es alle paar Minuten neu probiert, ob die Box evtl mal da ist. Dazu kommt dann noch wenn man im Standby war die Meldung, wie man den Anrufmonitor auf der Box anmacht.
Es soll ja Leute geben, die Ihr Notebook auch mal woanders verwenden, oder ab und zu WLAN ausmachen (und es vorher an war beim JFritz! start), um die neu UMTS-Karte zu testen oder andere Router einrichten.

Jetzt teste ich erstmal die neue Netzwerk-Version.
1 Server, 3 Clients davon 1 Client ohne Internet-Zugriff.


-----
1ter Test:
Auf dem Notebook-Client gibt es Grafikfehler bei der Netzwerkeinstellung.
Ob es funktioniert ist unklar.

Auf dem PC-Client funktioniert es nicht.
Ein neuer Name im Telefonbuch (Seit gestern drin) erscheint dort nicht.
 
Zuletzt bearbeitet:
Hast du Client und Server am selben PC laufen?
Nein habe ich nicht. Ein Server und 3 PC's im Netztwerk. Wo wird denn hingeschrieben, dass schon eine instanz offen ist? Kann ich das manuell korrigieren?

\\Edit: Ach ja. Einige Kleinigkeiten sind mir noch aufgefallen. Wenn man mit der Maus über den Server Button fährt steht da "Enable_Disable_network" ;-). Beim Client. Wenn er verbunden steht im Einstellungsmenü unter Netzwerk "Client_is_connected"

\\Edit2:
Noch was. Das Benutzer anlegen am Server klappt ohne Probleme. Aber wenn ich auf den Button "Einstellungen" bei callerlist_filters und phonebook_filters klicke kommt die Meldung "Function not yet implemented". Die beiden Funktionen kommen noch oder?
 
Zuletzt bearbeitet:
Es entsteht eine Datei beim start, die beim beenden wieder gelöscht wird.
wenn man bei dieser Fehlermeldung das richtige Drückt, wird die Datei beim start ignoriert und es passt beim nächsten mal wieder.
 
Achso. Ist mir noch gar nicht aufgefallen.
Für alle. Es entsteht beim Öffnen von JFritz die Datei .lock im Programmverzeichniss. Beim Beenden wird diese wieder gelöscht.

Edit:
Noch was aufgefallen. Wollte gerade das Update am Client versuchen. Das funktioniert immo gar nicht. Update Dialog geht auf aber er macht nichts. Ok Button ist aktiv. Wenn ich drauf klicke schließt sich der Dialog. Nichts ist passiert.
 
Zuletzt bearbeitet:
Ja, ich habe vergessen, ein Paar Strings zu übersetzen. Das werde ich jetzt machen.

Filters für Anrfuliste und Telefonbuch gibts zuerst noch nicht. Ich habe zwar eine Schnittstelle dafür implementiert, aber ich muss noch eine GUI für die Filters schreiben und dazu noch jede Menge Tests laufen lassen. Die Filters kommen wahrscheinlich nicht mit der nächsten Version sonder mit der übernächsten.

Läuft es bei euch zufriedenstelled? Wie sieht es mit Performanz aus? Merkt man überhaupt einen Unterschied?

--Brian
 
Also so weit läuft das ganze gut. Bis auf diese Probleme eben, die ich schon angesprochen habe.
Probleme habe ich auch noch mit der Syncronisation der Kontakte.
Wenn ich im Client einen Kontakt hinzufüge und somit er in der Anruferliste mit Namen erscheint, wird es am Server erst nach Restart von JFritz ausgeführt.

Sollte das Update jetzt funktionieren?
 
Ne, schalte das Update am besten aus. Updates funktionieren nur für offizielle Versionen, und diese ist eben eine Art Sonderversion.

--Brian
 
Außerdem funktioniert das Update derzeit nicht mal für die offiziellen Versionen, da ich noch einen Bug entdeckt habe. Habe ich aber schon irgendwo hier im Forum erwähnt :)
 
Der Telefonbuch-abgleich hat jetzt wohl geklappt.
der fehlende eintrag ist da.
 
warum muss man denn überhaupt eine "Server"-Version haben?

Ich habe beispielsweise einen Server laufen (ohne GUI, somit ohne JFritz), auf dem ich gern die Daten zentral speichern würde. Somit wäre für meinen Bedarf eine ideale Lösung, daß ich pro JFritz-Installation einen UNC angeben kann, und in dem Verzeichnis werden die Daten (in Kopie) synchronisiert.
Wichtig wäre nur, zu gewährleisten, daß nie mehr als 1 Instanz zu schreiben versucht. ;)
 
Das Problem mit deinem Vorschlag, ist dass die Dateien für die Anrufliste und Telefonbuch immer wieder eingelesen müssen, um neue Daten zu erkennen. Dateien einzulesen ist ein sehr teuerer Rechenvorgang (beseonders Dateien übers Netzwerk), und würde daher das Programm erheblich bremsen. Noch dazu wäre das Problem, dass eine Instanz einen Datensatz ändert, schreibt die Datei neu, und die anderen lesen es ein, ohne zu wissen welchen Datensatz geändert wurde, also gäbe es den Datensatz bei den anderen zweimal (alt und geänderte).

Diese Vorgänge sind viel einfacher zentral zu steuern. Wieso lässt du jfritz nicht einfach auf dem server laufen, du brauchst die GUI eigentlich nicht, wenn du ihn einfach als Server betreibst. So viel speicher ohne sollte JFritz nicht gebrauchen.

--Brian
 
Hallo capncrunch,

Einlesen müßte man nur, wenn sich was geändert hat (timestamp prüfen). ;)
Das mit dem nicht doppelt schreiben passiert bei einer vernünftigen Sync nicht; da nutzt man ein Semaphor/LockFile, damit eben keiner zu lesen oder gar schreiben versucht, während eine Instanz schreibt...

Aber ich wußte gar nicht, daß man JFritz ohne GUI betreiben kann... :eek:
Dann muß ich mir das wohl noch mal genauer zu Gemüte führen, das wäre in der Tat noch 'ne Maßnahme.
 
Fehler:
Jfritz! Client erhängt sich, wenn von Anfang an kein Internet/Fritz!Box vorhanden ist. Man kann den PC dann erst runterfahren, wenn man es über den Taskmanager abwürgt.
 
Alles klar, ich habe eigentlich auch solche Problem gehabt. Ich werde vorab mal einen Timeout für die Verbindung zum Server setzen, und hoffentlich auch bald den Code so umformen, dass die Clients gar nicht mehr auf die Box zugreifen versuchen. Dadurch sollte das Programm nie aufhängen...


--Brian
 
Läuft jetzt bei mir stabil auf Server2003 und Clients XP SP2 und Vista Ultimate. Ein Server und 4 Clients. Netzwerk mit Domäne. Eventuelle Bugs oder Probleme ergeben sich dann in den nächsten tage im Praxisbetrieb. Wenn man jetzt noch 2 Boxen überwachen könnte, dann wäre das der Gipfel.
 
sehr schön. Wie sieht die Leistung am Server aus? Verbraucht der JFritz-Server viel rechenzeit oder ist er eher unbemerkbar.

Ich werde noch ein Paar Bugs mit dem Code beheben, und wenn alles so weit klappt, dann mache ich mit der Überwachung von 2 Boxen weiter, und danach vielleicht an den SIP-Einstellungen basteln.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.