I am using mesh SDK v4.2.0.
I read the documentation of the remote provisioning example (pb_remote) and took look at the code.
My first feeling was that the remote provisioning in this example is done through a specific device on the mesh that implements the pb_remote_server and is chosen to start the process using the device that implements the pb_remote_client, most likely the provisioner device.
Before a detailed reading of this example, I thought the provisioner just flooded the mesh with provisioning messages and all devices repeated those messages and could add a new device to the mesh. While the provisioning data is indeed passed through the mesh as I expected to, only one specific device, the one chosen by the pb_remote_client, seems to be able to convey the message on the last jump to the new unprovisioned device.
How can the provisioner know beforehand the best device to choose as the final messager? Is it possible to activate many pb_remote_servers at the same time? Do we need to alternate which device is scanning for unprovisioned devices periodically? I think there might be many ways of doing this, so I am asking for advice, or correction if I understood something wrong.