Listening to relayed packet in a (Digi)Mesh network

Hi! A little topology problem(!):
I need to make a reliable network where every node is suppose to receive a copy of all the information sent by the others. It is made of 5 nodes roughly in line (1<->2<->3<->4<->5) and spaced by 150 to 300 meters.

I experiment with Directed Broadcast and DigiMesh 868LP: I measure an effective range of about 100 meters. I think that to improve this, I should get rid of Broadcast and use Unicast with some kind of eavesdropping: I would then have node 1 send an unicast to node 5, node 2 to node 1 and 5, node 3 to 1 and 4, node 4 to 1 and 5 and node 5 to node 1. But this to work, I need to be sure that node 2, 3 and 4 can keep a copy of the data packets directed to node 1 or 5 that they relay. Is this possible to configure?

An alternative I suppose would be to use XBee 868 PRO (European version) and broadcast in one hop from each node to all others: 500 meters are really reliably covered with this product? What are the possible firmware (protocols) for this module?

Thanks for your help!

Christophe

Are all units spaced at about 150 - 300m apart from each other or is that the total over all distance?

150 meters between the modules (they are following a river). I switched to 868 PRO: I measure an effective range of 450 meters (line of sight in a not too cluttered environment). I use simple broadcast, no relaying for now (if I need it, it will have to be done at application level). Have a nice day! Christophe