We are actually looking into iMesh as it was announced that ZigBee is capable of.
But stuying the ZStack, I'm not very sure how an iMesh can be implemented (or is already implemented?).
Our network consists basically of routers (all router) + the coordinator.
How does a (child-)router know that its parent(-router) is gone (battery empty or whatever)?
How can teh router join another router after he has detected the lost?