Difference between revisions of "Almbus/IP"

(Created page with "<table class="toptextcells toccolours float-right infobox"> <tr> <th colspan="2" style="background:#83caff; padding:.3em .8em; text-align:center; vertical-align:top;">almbus/...")
 
(Technical)
 
(20 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
<td colspan="2" style="padding-bottom:.5em; padding-top:.5em; text-align:center; border-bottom:1px solid #a2a9b1;">
 
<td colspan="2" style="padding-bottom:.5em; padding-top:.5em; text-align:center; border-bottom:1px solid #a2a9b1;">
  
[[File:Icon_depakw.png|100px|frameless|border|almbus-ip]]
+
[[File:Almbus_icon.png|100px|frameless|border|almbus-ip]]
  
 
</td></tr>
 
</td></tr>
Line 21: Line 21:
 
<td style="width: 130px;vertical-align: top;">'''Developer'''
 
<td style="width: 130px;vertical-align: top;">'''Developer'''
 
</td>
 
</td>
<td>Netroda Technologies, HWM Fire Safety
+
<td>Netroda Technologies
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 33: Line 33:
  
 
<tr>
 
<tr>
<td style="width: 130px;vertical-align: top;">'''Media'''
+
<td style="width: 130px;vertical-align: top;">'''Transport'''
 
</td>
 
</td>
 
<td>UDP/IPv4, UDP/IPv6
 
<td>UDP/IPv4, UDP/IPv6
Line 41: Line 41:
 
</td>
 
</td>
 
<td><span style="font-family:monospace;">x-azh-almbusip</span>
 
<td><span style="font-family:monospace;">x-azh-almbusip</span>
 +
</td></tr>
 +
<tr>
 +
<td style="width: 130px;vertical-align: top;">'''Initial Release'''
 +
</td>
 +
<td>0.0.1 (2014)
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 61: Line 66:
 
</table>
 
</table>
  
 +
'''ALMBUS''' (abbreviation of ''alarm bus'') is a open, royalty free alarm signaling protocol used to publish, store and recall alarm situations on various building infrastructure devices. The suffix IP indices that this version transmits all data via a IP Networks, for example Ethernet (IEEE 802.3). ALMBUS can be used to invoke a alarm status on software devices from hardware alarms (like fire alarm system) or vice-versa.
  
'''SignMatic Application Package''' (sometimes referred to as SMAP) is a distribution file format for the open [[Digital Signage]] System [[SignMatic]].
+
== Overview ==
The File-Package contains all necessary information for a application to be installed on a local system. The file extension is .smpk
+
ALMBUS devices are connected together using a ring network (almbus-lo) or, when used as IP protocol, any possible network topology. Every enabled device has the ability to raise alarms, receive alarms and forward/repeat alarms for requesting devices. Each Device can be assigned a unique device identification, alarm groups, restrictions and / or limitations.  
  
== Overview ==
+
The actions taken once upon a device received or raises a alarm are different. for example, The Digital Signage system [[SignMatic]] displays a alarm-specific information message on all displays, and refuses to accept any user request to display something else unless all alarms are cleared.
SignMatic Application Packages are encoded file archives with a variable size header, encoded bitmap image of the Application icon and various metadata. The files are opened by the system utility smdepak (console application) or smdepakw (User Interface), that performs various compatibility checks including versioning, downgrade and upgrade options as well as the actuall unpacking and registration of the application to the signmatic applications directory.
 
  
 
== Technical ==
 
== Technical ==
The File consists of the magic sequence <span style="font-family:monospace;">0x16 0x0F 0x17 0x1B</span> followed by literal <span style="font-family:monospace;">SignMatic</span> The Relatively small header is encoded with NEFastAccess-LOffset header format (2 bytes prefix, shift n, 2 bytes suffix), and followed by the archive. The architecture is similar to other common application archives like the Chromium PAK format, Android packages (APK) and Java archives (JAR).
+
Devices that are ALMBUS-Enabled (usually part of the ES-Platform) are enabled to issue alarms. the IP version uses UDP Muticast groups to publish and receive alarms, the system can be configured to use perfect forward secrecy to minimize alarm hijacking, however it is strongly discouraged to use ALMBUS on publically accessible networks.  
 
 
File size is not limited to a certain size, the header size however must be in the range of 196 to 4096 bytes, given the fact that for the necessary metadata this is absoloutely sufficient.
 
 
 
The actual Application contents are stored in the PK-Format (ZIP)
 
  
The encoders (i.e. smpak) are responsible for maintaining proper header size, thus ensuring no malformed header may encoded
+
To prevent false alarms, ALMBUS/IP incorporates several mechanisms to ignore malformed, unsolicited messages from other protocols or services, that may wrongly use the assigned broadcast address and port in the same network.
  
== Generation ==
+
ALMBUS protocol revisions starting at 1.0.0 feature back- and forward compatibility to newer versions, however only the latest version is published, as this is the most future stable implementation.
SignMatic Application Packages can be created using the command line tool smpak (delivered with SignMatic Studio). The application folder requires a valid build information file (example below) to be present in the base directory named "build".  
 
  
A Single application must contain
+
ALMBUS supports
* A valid and unique AppId
+
* Message payload encryption
* A 3-level version
+
* Alarm groups
* The Buildfile version
+
* Alarm identities
* The minimum required SignMatic version
+
* Specific/Custom alarms
* Name
+
* Global perfect forward secrecy
* Description
+
* Single device muting
* Icon
 
* Theme Color
 
  
This file also represents vaguely the informations provided by each application besides their main archive.  
+
By default, all Extensible Services / Server compatible products include ALMBUS. The ALMBUS reference implementation is currently present in 40+ Programming languages free to use and implement.
  
<shl>
+
In theory, every ALMBUS enabled device that runs compatible implementation automatically joins the alarm group of the current broadcast domain. To connect indepenedent broadcast domains (for example different VLANS or router subnets) to the same ALMBUS group, the firewalls must be configured to pass UDP Multicast traffic in the assigned ranges or use a ALMBUS gateway solution.
{
 
"appId" : "a4bc7782c208449095bf54d5d495aad9",
 
"appVer" : [1,0,0],
 
"bVer" : 1.0,
 
"sMinReq" : [1,1,7280],
 
"appName" : "Airport",
 
"appDescription" : "This demo features a airport information screen, to display live data of passenger flights on your SignMatic.",
 
"vendor" : "Netroda Technologies",
 
"website" : "https://netroda.com/a/k/products/ess-i/signmatic/demo/",
 
"privacyPolicy" : "https://netroda.com/a/k/products/ess-i/signmatic/privacy",
 
"termsOfService" : "https://netroda.com/a/k/products/ess-i/signmatic/terms",
 
"imageIcon64" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPRSURBVGhD7ZlLaBNRFIZb67MiCKLgY6VWceNCimIXVUTd2YeCunArRcFHsYjSRVUQpAsftSj43HQl4qMiVXSjoAtBVxYEpYuCCkIVlBicSaLfdP7GpJkk80xTzQc/kzv3nP/cO/dOkkmqKlSoUOG/IJVKNaDryWTyKcdONEtdkxcm0YVSvzOg+YxDrULCAdMZehk51DprTyWXRCJxSGHBodAm9I4tcYVjvU5HAv7nNAdH6L+j0GDgtRGz77atDe0BtJ2X0xUWCnjmXakxiDmtcP/gY03qh22ZC31vUUcsFlusFN/gU3ClLNgx34hbohR/YNCM4vIsCAVHiL2EfG1T8oqulGhRin8o1oYMGbqCeItHaAdNV9uU2KIrZUHcXqUEB7M16LW8PUHeIOpAi2SXA32uVoq4/UoJD3xrMb5ol/AOuSNs1cscs7YpbbcrtU8p0UCB3eiL6vmC/AHTNFs4dutUQYgLf6WciMfjyyj2RHUjhTrRrtR4qFlN0ZN2+Wgo2Uo5QfGt3DtDGkto4BveVya/MIgFTO6WxhQY/NplXR4woAPop8bnGS5OgvyDsisvDMOoZ3BvNFZPkGeg5bIqPxjcbNSLYhqza1i1btmUL0ysX+N1DTnDqHyfkHkQtJ58TY3XE+Q1yaa8YGBdGqMvyA/nITJMuEdOaHy+YWIxFPjZLjSCrlQmbOXy+Cxzu1LEvdTLgnCRrMekatlPDG5XirgjHKZq0EUhbp1KlB63K8XWOqYU60KsJS+prrwQ16uU0kJht/dUelJjcO6M3ZUf/D+hOUoJDmbWw+QFLmoPxxuoD91GD9Bj9By9Uv2CZK5UJnTNxGPQjsoP+buUEgyKtcszDBwnNQa1GhWXF2IeKtwfeNRg0mnbBSffSo2Hmj1KcYT+XxyWKtw7GKxHQ6joTe0CV5OyoJ71hfmD8hyh/7jCvUN+DbL2fZ1pms3Wux26T/s9cvW7InFJtyuVCXlbZOEI47DuxSkKDwcMp1F4JWpFp1A/cvwpgPN3leYZBn9VNo7g3ajQ6KDIPPRZNdMwuPMK8Qzpc/Ectp1yoe+aQqOFQi9UMw3nAv0DQn6TrHKg7ytaqNDooMhN1czE8/01Hnz75JWDYRgbFBYdDOCo6qXhXODfAfGYj3K2OedK822fQttUMw3n9qg7EPjslOUotA+rK3ootgplPfrTblZ3YPC6J8/SPpdR0Ppg/Tg6o79sVndg8K5DbWqWFgpnvTPSblDX5IaJZL0z0l6hrskNE+nQnKxJlfbvnihhMq2a1MT93RMFTGj1P7VSFSpUKEBV1R+M2kmQTyMt+AAAAABJRU5ErkJggg==",
 
"color" : "486ADA"
 
}
 
</shl>
 
  
== Support ==
+
=== Message Types ===  
Support for specific applications is usually carried out by the application vendor, there is a option to reference a URL to the application vendor's product website for help.
 
 
 
== Version history ==
 
 
{| class="wikitable" style="float:center; margin:0 0 0.5em 1em;"
 
{| class="wikitable" style="float:center; margin:0 0 0.5em 1em;"
 
|-
 
|-
! Revision
+
! Alarm Type
! Released
+
! Description
! Lifecycle
 
! Compatibility
 
 
|-
 
|-
| 1.0.0
+
| Danger
| 08 Feb. 2023
+
| Indicates a dangerous situation occuring in the current context, for example mass shootings, terrorism attacks etc.
| Not announced
+
|-
| 1.1.7281+
+
| Fire
 +
| Requests immediate evacuation of the assigned area, as the building or structure is on fire
 +
|-
 +
| Evacuate
 +
| Requests immediate evacuation of the assigned areas
 +
|-
 +
| Havary
 +
| Raised when building infrastructure has severe malfunctions, like leaking pipes causing flooding or overheating of a structure due to failure on climatic systems
 +
|-
 +
| Catastrophy
 +
| Used for scenarios where a natual catastrophy is awaited or happening, for example tsunamis, hurricanes or thunderstorms
 +
|-
 +
| Clear
 +
| Indicates that a alarm has been revoked.
 +
|-
 +
| Information
 +
| Generous, non-dangerous announcements
 
|}
 
|}
 +
 +
== License ==
 +
Considering the importance of life safety, The ALMBUS specification is royalty-free and associated documentation is available to the public. Implementations that comply to the ALMBUS specification (without alterations on the base) can display the icon to indicate ALMBUS compatibility.
  
 
== See also ==
 
== See also ==
* [[Digital Signage]]
+
* [[Extensible Services Server]]
* [[SignMatic]]
 
  
[[Category:Digital Signage]]
+
[[Category:Building Safety]]
[[Category:Windows Software]]
+
[[Category:Alarms]]
[[Category:Cloud Services]]
 
[[Category:FoundationShield]]
 
 
[[Category:Extensible Services Server]]
 
[[Category:Extensible Services Server]]

Latest revision as of 04:13, 23 February 2023

almbus/ip

almbus-ip

Developer Netroda Technologies
Type Alarm Signaling Protocol
Transport UDP/IPv4, UDP/IPv6
Identifier x-azh-almbusip
Initial Release 0.0.1 (2014)
Revision 1.2.0 (2021)
Platform Extensible Services / Server
Extended from Inter-Networking Electronics Protocol

ALMBUS (abbreviation of alarm bus) is a open, royalty free alarm signaling protocol used to publish, store and recall alarm situations on various building infrastructure devices. The suffix IP indices that this version transmits all data via a IP Networks, for example Ethernet (IEEE 802.3). ALMBUS can be used to invoke a alarm status on software devices from hardware alarms (like fire alarm system) or vice-versa.

Overview

ALMBUS devices are connected together using a ring network (almbus-lo) or, when used as IP protocol, any possible network topology. Every enabled device has the ability to raise alarms, receive alarms and forward/repeat alarms for requesting devices. Each Device can be assigned a unique device identification, alarm groups, restrictions and / or limitations.

The actions taken once upon a device received or raises a alarm are different. for example, The Digital Signage system SignMatic displays a alarm-specific information message on all displays, and refuses to accept any user request to display something else unless all alarms are cleared.

Technical

Devices that are ALMBUS-Enabled (usually part of the ES-Platform) are enabled to issue alarms. the IP version uses UDP Muticast groups to publish and receive alarms, the system can be configured to use perfect forward secrecy to minimize alarm hijacking, however it is strongly discouraged to use ALMBUS on publically accessible networks.

To prevent false alarms, ALMBUS/IP incorporates several mechanisms to ignore malformed, unsolicited messages from other protocols or services, that may wrongly use the assigned broadcast address and port in the same network.

ALMBUS protocol revisions starting at 1.0.0 feature back- and forward compatibility to newer versions, however only the latest version is published, as this is the most future stable implementation.

ALMBUS supports

  • Message payload encryption
  • Alarm groups
  • Alarm identities
  • Specific/Custom alarms
  • Global perfect forward secrecy
  • Single device muting

By default, all Extensible Services / Server compatible products include ALMBUS. The ALMBUS reference implementation is currently present in 40+ Programming languages free to use and implement.

In theory, every ALMBUS enabled device that runs compatible implementation automatically joins the alarm group of the current broadcast domain. To connect indepenedent broadcast domains (for example different VLANS or router subnets) to the same ALMBUS group, the firewalls must be configured to pass UDP Multicast traffic in the assigned ranges or use a ALMBUS gateway solution.

Message Types

Alarm Type Description
Danger Indicates a dangerous situation occuring in the current context, for example mass shootings, terrorism attacks etc.
Fire Requests immediate evacuation of the assigned area, as the building or structure is on fire
Evacuate Requests immediate evacuation of the assigned areas
Havary Raised when building infrastructure has severe malfunctions, like leaking pipes causing flooding or overheating of a structure due to failure on climatic systems
Catastrophy Used for scenarios where a natual catastrophy is awaited or happening, for example tsunamis, hurricanes or thunderstorms
Clear Indicates that a alarm has been revoked.
Information Generous, non-dangerous announcements

License

Considering the importance of life safety, The ALMBUS specification is royalty-free and associated documentation is available to the public. Implementations that comply to the ALMBUS specification (without alterations on the base) can display the icon to indicate ALMBUS compatibility.

See also