I'm testing against a simulator, and initially things work fine. The simulator is on network 20, address [1,0,0,0,0,0].
When I call SubscribeCOV, the service succeeds, but then first unconfirmed notification comes from the simulator without the Source Network and Source Address in the NPDU. Bacnet4j interprets this as a new Address with network 0, address [ac,10,7f,9d,ba,c0] (IP/port) and updates the Address in the cached RemoteDevice.
Now all subsequent communication with the device fails because its being sent to the wrong address.
Is this a bug in the simulator or a problem with bacnet4j?
I can provide a Wireshark capture of this if necessary.