What happens when child table is full?

My understanding is that a coordinator maintains a small (seems like 14 maximum entries) Child Table of active endpoints. An endpoint that has an entry in the table doesn’t have to rejoin the network in order to send a message, so its response time is faster than one that has to re-join first. The Child Poll Timeout determines how long each inactive endpoint stays in the table before being bumped off. My question is: what happens if the child table is full when another sleepy endpoint not currently in the table wakes up to send a message? Is its join request refused, or is one of the existing entries bumped off to make room for the newcomer?

I have a network consisting of a coordinator and a bunch of sleepy endpoints who sleep most of the time. The endpoints are send-only, i.e. they don’t wake up periodically to check for messages from the coordinator. The ≈6 second rejoin time for endpoints not in the child table represents a significant amount of battery power, so I’d like to increase the child poll timeout to its maximum, but of course I cannot have a situation where an endpoint gets locked out because the child table is full.


For this application, I would recommend using the IEEE 802.15.4 firmware instead. The 802.15.4 code or firmware supports Peer to peer, point to point, point to multi-point network configuration with an 802.15.4 coordinator and sleeping end devices. This code only limits the total number of end devices talking to a Coordinator by the number of 16 bit network addresses the coordinator can assign out.