Routing Mechanismus
BOSWatch 3 hat einen Routing Mechanismus integriert. Mit diesem ist es auf einfache Weise möglich, den Verlauf von Alarmpaketen zu steuern.
Ablauf
Nachfolgender Ablauf soll am Beispiel eines Alarms mit einem Pocsag Paket erklärt werden.
- BOSWatch startet alle Router, welche in der config als
alarmRouter
konfiguriert worden sind (in diesem Fall nurRouter1
) - Der Router
Router1
beginnt seine Ausführung und arbeitet die einzelnen Routenpunkte sequentiell ab- Das Modul
descriptor
wird aufgerufen und fügt ggf. Beschreibungen zum Paket hinzu - Das Modul
doubleFilter
wird aufgerufen und blockiert doppelte Alarme
(hier würde die Ausführung dieses Routers und damit des kompletten Alarmprozesses stoppen wenn der Alarm als doppelter erkannt würde) - Der Router
Router2
wir nun aufgerufen (bis zur Rückkehr ausRouter2
ist der RouterRouter1
angehalten)
- Das Modul
- Der Router
Router2
beginnt seine Ausführung und arbeitet die einzelnen Routenpunkte sequentiell ab- Das Modul
modeFilter
wird aufgerufen und stoppt den Router da es sich nicht um ein FMS Paket handelt - Es wird zur Ausführung von
Router1
zurückgekehrt
- Das Modul
- Der Router
Router3
beginnt seine Ausführung und arbeitet die einzelnen Routenpunkte sequentiell ab- Das Modul
modeFilter
wird aufgerufen und leitet das Paket weiter da es sich um ein Pocsag Paket handelt - Das Plugin
Telegram
wird aufgerufen - Das Plugin
MySQL
wird augerufen - Es wird zur Ausführung von
Router1
zurückgekehrt
- Das Modul
- Der Router
Router1
setzt seine Ausführung fort- Das Modul
modeFilter
wird aufgerufen und stoppt den Router da es sich nicht um ein ZVEI Paket handelt
- Das Modul
Jetzt sind alle Routenpunkte abgearbeitet und die Alarmierung damit abgeschlossen.
Konfiguration
Nachfolgend ist die Router Konfiguration des BW3-Servers für das obige Beispiel zu finden:
alarmRouter:
- Router1
router:
- name: Router1
route:
- type: module
res: descriptor
config:
[...]
- type: module
res: filter.doubleFilter
config:
[...]
- type: router
res: Router2
- type: router
res: Router3
- type: module
res: filter.modeFilter
config:
allowed:
- zvei
- type: plugin
res: sms
config:
[...]
- name: Router2
route:
- type: module
res: filter.modeFilter
config:
allowed:
- fms
- type: plugin
res: mysql
config:
[...]
- name: Router3
route:
- type: module
res: filter.modeFilter
config:
allowed:
- pocsag
- type: plugin
res: telegram
config:
[...]
- type: plugin
res: mysql
config:
[...]