I just wanted to follow up on this item.
Just to clarify, we don't want to create a single large BACnet network across all sites, because this could create BACnet Address conflicts (adding a new device to site A it could cause a conflict with an existing device on site X). There are also traffic issues that could be caused by having every broadcast request being sent to all devices across all sites. The other option of having segregated BACnet network addresses (BAC0, BAC1...) isn't reasonable, because this would cause logistical configuration headaches at each site for device configuration without any tangible benefits that can't be already achieved by isolating the site as a LAN.
As you had mentioned on your initial response, there could be an issue in having multiple BBMD addresses in a single communication path, because you'd run into a similar situation of having ambiguous device addresses, etc.
Normally BBMD seems to be configured when setting up the route that you would use to talk to a device/site/LAN. However, when trying to do this with local BACnet I'm running into issues with available IP addresses for the local bind address. I've been able to use 0.0.0.0 and 126.96.36.199. Other IP addresses create bind errors though (since Mango isn't able to bind to an unknown IP). Are there any other suggestions/paths or approaches that I should take to try to configure these sites in Mango?
Thanks again for your assistance.
When I attempt to set up a data source using the Local device of 188.8.131.52 I get the following error when trying to 'Send WhoIS': "Cannot assign requested address (Bind failed)"
When I attempt to set up a data source using the equivalent Local device of 184.108.40.206 I get the following error when trying to 'Send WhoIS':"java.io.IOException: Invalid argument (sendto failed)"
I'm hoping to avoid too much confusion regarding networking, but I'll try to add some context and details below in case there is relevant information:
The intention is to use a single Mango server across multiple sites which are on a private WAN network, each site has a LAN with BACnet devices. There isn't any interest in trying to create a larger unified BACnet network, the preference is to keep each network isolated. The "BBMD Routers" are devices that have other primary purposes, they happen to support BBMD though which is what Mango would need to communicate with the network, since Mango is on the WAN side.
If it is beneficial I can add the IP addresses of the local test environment that we have configured and supply screencaps.
Thanks again for the responses and please let me know if there are questions that I didn't answer fully.
Regarding the bind address on the local device, I've been able to set it to 0.0.0.0 or 220.127.116.11. If I set it to an IP address that is not on the machine (i.e. 18.104.22.168), then I get a "Cannot assign requested address (Bind failed)" error when trying to send a "WhoIs".
If a suggestion is to set up multiple sink addresses, then I may need some additional information, but the Mango server is limited to a single WAN IP address due to limited network address availability.
I'm under the impression that each BBMD is used as the interface to connect with the local network of BACnet devices. In this case, we'd like the Mango server to be able to request data from each of the local BACnet networks via the BBMD on that network. I'm not able to adjust the ports, because the local devices are configured to use the default port.
Thanks for the response Phil, I should note that the IP addresses that I provided were generalized, are not the actual ones on this network, and don't accurately reflect the network topology. If you think that it is relevant I can try to provide more accurate information.
Here are the steps of what I have been finding:
When BBMD address is blank, the who-is request seems to be broadcast to the local network, showing BACnet devices on the LAN. This would be any device on the 172.10.10.x network.
When a BBMD address is specified (i.e. 22.214.171.124) and then my data source will do a device discovery and see BACnet devices on the 172.11.10.x network.
Both of those work as expected. However, I'm not sure how to set up distinct data sources to communicate with each of the networks.
Please let me know if you'd like any additional information.
As an aside, I'm not sure if this should be in BACnet4J or the Mango Automation general Discussion. This is specific to the BACnet protocol, but I'm not actually doing any work outside of the Mango interfaces. Please feel free to move the conversation if you see fit.
How should the BACnet local devices (and or data sources or any other settings) be configured to allow communication between 1 Mango server/NIC and multiple BBMD routers/networks? (example. Mango is at 126.96.36.199, BBMD routers are at 188.8.131.52, 184.108.40.206, 220.127.116.11)