With the increasing adoption of ZigBee PRO there has been growing interest in larger networks. To achieve this, EmberZNet incorporates a ZigBee PRO feature known as many-to-one routing. This feature sets the network up around a central aggregation node, or concentrator, and uses a common inbound route on each node into the concentrator, and a source route out to the router nodes in the network. The inbound routes are created or refreshed each time the concentrator sends out a 'many-to-one route request.' The source route is created via an initial message into the concentrator where the route is recorded, and handed up to the concentrator. The concentrator can either be 'high RAM', where it maintains a current list of these routes and only receives the routes once for each many-to-one route request, or 'low RAM', where the network provides the route each time a node sends a message to the concentrator.
One thing to keep in mind about high RAM concentrators is that nodes communicating with it will continue to send in the route record packet with every inbound message until they receive their first source-routed packet from the concentrator that uses that recorded route. This source routed packet is what tells the node that the source route worked. The APS acknowledgement, if these are turned on, will count as this source routed packet. Also, this route-record suppression is even true for messages routed through this node. Thus, if outlier A sends to concentrator C via many-to-one route A-B-C, the first source routed message from C to B to A will cause B (and A) to stop sending route records up to the concentrator.