| .. _bluetooth_mesh_models_priv_beacon_srv: |
| |
| Private Beacon Server |
| ##################### |
| |
| The Private Beacon Server model is a foundation model defined by the Bluetooth |
| mesh specification. It is enabled with |
| :kconfig:option:`CONFIG_BT_MESH_PRIV_BEACON_SRV` option. |
| |
| The Private Beacon Server model is introduced in the Bluetooth Mesh Protocol |
| Specification version 1.1, and controls the mesh node's Private Beacon state, |
| Private GATT Proxy state and Private Node Identity state. |
| |
| The Private Beacons feature adds privacy to the different Bluetooth Mesh |
| beacons by periodically randomizing the beacon input data. This protects the |
| mesh node from being tracked by devices outside the mesh network, and hides the |
| network's IV index, IV update and the Key Refresh state. The Private Beacon Server |
| must be instantiated for the device to support sending of the private beacons, |
| but the node will process received private beacons without it. |
| |
| The Private Beacon Server does not have an API of its own, but relies on a |
| :ref:`bluetooth_mesh_models_priv_beacon_cli` to control it. The Private Beacon |
| Server model only accepts messages encrypted with the node's device key. |
| |
| The application can configure the initial parameters of the Private Beacon |
| Server model through the :c:struct:`bt_mesh_priv_beacon_srv` instance passed to |
| :c:macro:`BT_MESH_MODEL_PRIV_BEACON_SRV`. Note that if the mesh node stored |
| changes to this configuration in the settings subsystem, the initial values may |
| be overwritten upon loading. |
| |
| If present, the Private Beacon Server model must only be instantiated on the primary element. |
| |
| API reference |
| ************* |
| |
| .. doxygengroup:: bt_mesh_priv_beacon_srv |
| :project: Zephyr |
| :members: |