UPDATE 2017.6.3: BACRouter is compliant with BACnet Router and BBMD device profile.
Below content is not up to date.
From this paper, it is clear that the BACRouter not complies device profile “B-RTR” defined for BACnet Router by BACnet Committee. The BACRouter doesn’t even have Device object inside it.
For routing function, there is not necessary to have application layer. In Chapter 6.6 of BACnet Standard, it is stated:
“A router may, or may not, provide BACnet application layer functionality.”
There would be many unnecessary configure works introduced for providing application layer. For example, user have to care about object instance of router otherwise it would collide with other devices. If something goes wrong, user have to check application layer side because some objects/properties would change router’s behaving.
The ability to completely configure routing function from application layer by Network Port objects introduced by Addendum 135-2012ai , makes things more complicated. Few workstation software support configure router by Network Port objects. If user make mistake when modify Network Port objects, the router may be unaccessible from BACnet side, user have to goto WebUI to rescue it.
BACRouter has many proprietary features to enhance performance and usability, meanwhile keeps compatible with other BACnet devices, but these features could not be mapped to application layer by BACnet standard object model.
So we decided to implement BACRouter as simple as possible, but providing all enough functionality as router. All configure will be provided by WebUI not BACnet side.