Wie funktioniert der Mechanismus generell?
Die Ereignisbenachrichtigung der 4voice Produkte in Versionen bis einschließlich 4.7 funktioniert so,
dass der MasterServer einen Bereich von Ports kennt, von dem er weiß, dass dort
unsere Anwendungen auf UDP-Nachrichten lauschen. Diese Ports liegen
standardmäßig zwischen 14440 und 14450 (einschließlich).
HINWEIS: Der Bereich kann aber über Einträge in der Registrierungs-Datenbank
angepasst werden
(HKLM\SOFTWARE\WOW6432Node\4voice\ServerSolution3\MulticastClientPorts).
TTL der Pakete ist standardmäßig auf 5 eingestellt. Dies kann ab 4voice Produkte
Version 4.x konfiguriert werden:
HKLM\SOFTWARE\WOW6432Node\4voice\ServerSolution3\MulticastClientPorts
Wert: Typ Default
Minimum DWORD 14440
Maximum DWORD 14450
WICHTIG: Darauf zu achten ist, dass diese Anpassung dann sowohl am
MasterServer als auch an allen Clients identisch erfolgen muss!
Wie oft/wann werden diese Nachrichten verschickt?
Beim Eintreten eines Ereignisses (z.B.: "Ein neues Diktat wurde gespeichert") sendet
der MasterServer jeweils ein UDP-Paket mit Informationen zum jeweiligen Ereignis an
die Multicast-Gruppe 225.1.1.1, für jeden der Ports im obigen Bereich ein Paket mit
identischem Inhalt. Die TTL der Pakete ist auf 5 eingestellt, so dass diese Pakete
auch in größeren Netzwerken mit ggf. mehreren Switches/Routern zwischen
MasterServer-Rechner und Client-Rechner noch bis zum Client gelangen.
Wie groß sind die Nachrichten?
Die Größe der Pakete wird dabei vom MasterServer vor dem Versenden überprüft -
sollte das Paket > 16KB groß sein, wird nichts verschickt, sondern ein Fehler im
MasterServer protokolliert. Die tatsächlich verschickten Pakete sind maximal ca. 1-
2KB groß. Das Protokoll selbst hat eine maximale Paketgröße von 64KB
(Längenangabe im Header ist 16bit) hier liegen die Pakete weit drunter.
An welche IP-Adressen/Multicast-Gruppen werden die Nachrichten
verschickt?
Die Clients (AdminTool, Recorder, Manager, ...) treten beim Start der MulticastGruppe 225.1.1.1 bei und beginnen, auf ihrem (pro Clientanwendung
unterschiedlichen) Port auf die UDP-Pakete vom MasterServer zu warten (die erste
Anwendung schaut, ob 14440 frei ist. Wenn nicht, probiert sie 14441 usw. dies ist
insbesondere für Citrix-Umgebungen notwendig, weil 2 Anwendungen, die in
unterschiedlichen Sitzungen laufen, trotzdem nicht auf demselben Port lauschen
können).
Wird ein entsprechendes Paket empfangen, entscheidet der Client anhand des
Inhalts, ob etwas getan werden muss (z.B. im Manager: Bei neuen Diktaten soll ggf.
die Diktatliste automatisch aktualisiert werden oder ein Benachrichtigungsfenster
angezeigt werden).
Welche Einschränkungen bestehen wenn UDP-Multicast nicht möglich ist?
Falls der UDP Multicast nicht möglich ist, können die Clients nicht über
Serverereignisse informiert werden. Momentan gibt es genau 3 Stellen in den 4voice
Anwendungen, an denen diese Ereignisse auch tatsächlich eine Auswirkung haben:
1. Beim Aufruf von "Administration/Serverereignisse testen" im AdminTool zeigt jede
Anwendung, die das Ereignis erhält einen kleinen "TestEvent received"-Dialog an.
2. Im Manager kann bei neuen/geänderten Diktaten ein Benachrichtigungsdialog
angezeigt, ein Sound abgespielt und/oder die Diktatliste aktualisiert werden.
Wenn die Möglichkeit der Ereignissignalisierung per UDP Multicast unterbunden
wird, muss die Diktatliste im Manager manuell (z.B. per F5) aktualisiert werden.
3. Sofortbenachrichtigungen werden ebenfalls über diesen Mechanismus verschickt.
Sollte UDP Multicast nicht möglich sein, erreichen Sofortbenachrichtigungen die
Clients ggf. nicht.
Welche weiteren Ports benötigen die 4voice Produkte?
Port 8433 für den Master-Server Dienst
Port 8435 für den Lizenz-Server Dienst
Port 8989 für den Workgroups-Server Dienst
Port 8444 für den Import-Server Dienst
Port 54444 für den Web-Service Dienst
Port 8991 für den HL7Shadow Dienst
HINWEIS: Alle Port-Adressen können in entsprechenden Konfigurationsdateien angepasst
werden.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.