Bluetooth Mesh Remote Provisioning Client Model#

Bluetooth Mesh Remote Provisioning Client Model.

Remote Provisioning Client model is used to provision devices which are not within one hop from the provisioner.

Modules#

sl_btmesh_evt_remote_provisioning_client_scan_capabilities

sl_btmesh_evt_remote_provisioning_client_scan_status

sl_btmesh_evt_remote_provisioning_client_scan_report

sl_btmesh_evt_remote_provisioning_client_extended_scan_report

sl_btmesh_evt_remote_provisioning_client_link_status

sl_btmesh_evt_remote_provisioning_client_link_report

Enumerations#

enum
sl_btmesh_remote_provisioning_client_link_state_idle = 0x0
sl_btmesh_remote_provisioning_client_link_state_opening = 0x1
sl_btmesh_remote_provisioning_client_link_state_active = 0x2
sl_btmesh_remote_provisioning_client_link_state_outbound_packet_transfer = 0x3
sl_btmesh_remote_provisioning_client_link_state_closing = 0x4
}

Possible remote provisioning link states.

Functions#

sl_status_t
sl_btmesh_remote_provisioning_client_get_scan_capabilities(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
sl_status_t
sl_btmesh_remote_provisioning_client_start_scan(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t item_limit, uint8_t timeout_sec, uint8_t single_scan, uuid_128 uuid)
sl_status_t
sl_btmesh_remote_provisioning_client_get_scan_status(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
sl_status_t
sl_btmesh_remote_provisioning_client_stop_scan(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
sl_status_t
sl_btmesh_remote_provisioning_client_start_extended_scan(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t mode, uuid_128 uuid, size_t ad_types_len, const uint8_t *ad_types)
sl_status_t
sl_btmesh_remote_provisioning_client_open_link(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t dkri, uuid_128 uuid)
sl_status_t
sl_btmesh_remote_provisioning_client_get_link_status(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
sl_status_t
sl_btmesh_remote_provisioning_client_close_link(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t reason)

Enumeration Documentation#

sl_btmesh_remote_provisioning_client_link_state_t#

sl_btmesh_remote_provisioning_client_link_state_t

Possible remote provisioning link states.

Enumerator
sl_btmesh_remote_provisioning_client_link_state_idle

(0x0) Idle state

sl_btmesh_remote_provisioning_client_link_state_opening

(0x1) Link Opening

sl_btmesh_remote_provisioning_client_link_state_active

(0x2) Link active

sl_btmesh_remote_provisioning_client_link_state_outbound_packet_transfer

(0x3) Outbound packet transfer

sl_btmesh_remote_provisioning_client_link_state_closing

(0x4) Link Closing


Definition at line 19126 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

Function Documentation#

sl_btmesh_remote_provisioning_client_init#

sl_status_t sl_btmesh_remote_provisioning_client_init ()

Initialize the remote provisioning client.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.


Definition at line 19332 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_get_scan_capabilities#

sl_status_t sl_btmesh_remote_provisioning_client_get_scan_capabilities (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

Get the value of the Remote Provisioning Scan Capabilities state.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19349 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_start_scan#

sl_status_t sl_btmesh_remote_provisioning_client_start_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t item_limit, uint8_t timeout_sec, uint8_t single_scan, uuid_128 uuid)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address

[in]elem_index

Client element index

[in]item_limit

Maximum number of scanned items to be reported.

[in]timeout_sec

Time limit for a scan (in seconds). Valid value range: [1 - 255].

[in]single_scan

Whether to perform single UUID scan or multiple target scan.

[in]uuid

UUID of the device to scan. Valid only for single UUID scan

Start scanning for remote unprovisioned devices, within immediate radio range of the Remote Provisioning Server.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19376 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_get_scan_status#

sl_status_t sl_btmesh_remote_provisioning_client_get_scan_status (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

Request scan status.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19399 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_stop_scan#

sl_status_t sl_btmesh_remote_provisioning_client_stop_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

Stop Remote Provisioning Scan procedure.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19418 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_start_extended_scan#

sl_status_t sl_btmesh_remote_provisioning_client_start_extended_scan (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t mode, uuid_128 uuid, size_t ad_types_len, const uint8_t * ad_types)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

[in]timeout_sec

Time limit for a scan (in seconds). Used only if selected mode is 1 and then valid value range: [1 - 5].

[in]mode

If 1 request additional information about a specific unprovisioned device. If 0 request additional information about the Remote Provisioning Server itself.

[in]uuid

If mode is 1 identifies the Device UUID of the unprovisioned device for which additional information is requested.

[in]ad_types_len

Length of data in ad_types

[in]ad_types

list AD_types to be reported. List maximun size being 16. See https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/.

Request additional information about a specific unprovisioned device or about the Remote Provisioning Server itself.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19449 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_open_link#

sl_status_t sl_btmesh_remote_provisioning_client_open_link (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t timeout_sec, uint8_t dkri, uuid_128 uuid)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

[in]timeout_sec

Time limit for a scan (in seconds).

[in]dkri

The Device Key Refresh Interface.

[in]uuid

UUID of the device to provision. Valid if dkri is not 0xff

Establish the provisioning bearer between a node supporting the Remote Provisioning Server model and an unprovisioned device, or to open the Node Provisioning Protocol Interface.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19478 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_get_link_status#

sl_status_t sl_btmesh_remote_provisioning_client_get_link_status (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

Get the Remote Provisioning Link state of a Remote Provisioning Server model.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19500 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_remote_provisioning_client_close_link#

sl_status_t sl_btmesh_remote_provisioning_client_close_link (uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint8_t reason)
Parameters
[in]enc_netkey_index

Network key used to encrypt the request on the network layer

[in]server

Server address.

[in]elem_index

Client element index

[in]reason

0: success, 2:procedure failed, other not allowed.

Close remote provisioning link.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events


Definition at line 19520 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

Macro Definition Documentation#

sl_btmesh_cmd_remote_provisioning_client_init_id#

#define sl_btmesh_cmd_remote_provisioning_client_init_id
Value:
0x00300028

Definition at line 19104 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_get_scan_capabilities_id#

#define sl_btmesh_cmd_remote_provisioning_client_get_scan_capabilities_id
Value:
0x01300028

Definition at line 19105 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_start_scan_id#

#define sl_btmesh_cmd_remote_provisioning_client_start_scan_id
Value:
0x02300028

Definition at line 19106 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_get_scan_status_id#

#define sl_btmesh_cmd_remote_provisioning_client_get_scan_status_id
Value:
0x03300028

Definition at line 19107 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_stop_scan_id#

#define sl_btmesh_cmd_remote_provisioning_client_stop_scan_id
Value:
0x04300028

Definition at line 19108 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_start_extended_scan_id#

#define sl_btmesh_cmd_remote_provisioning_client_start_extended_scan_id
Value:
0x05300028

Definition at line 19109 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_open_link_id#

#define sl_btmesh_cmd_remote_provisioning_client_open_link_id
Value:
0x06300028

Definition at line 19110 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_get_link_status_id#

#define sl_btmesh_cmd_remote_provisioning_client_get_link_status_id
Value:
0x07300028

Definition at line 19111 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_cmd_remote_provisioning_client_close_link_id#

#define sl_btmesh_cmd_remote_provisioning_client_close_link_id
Value:
0x08300028

Definition at line 19112 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_init_id#

#define sl_btmesh_rsp_remote_provisioning_client_init_id
Value:
0x00300028

Definition at line 19113 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_get_scan_capabilities_id#

#define sl_btmesh_rsp_remote_provisioning_client_get_scan_capabilities_id
Value:
0x01300028

Definition at line 19114 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_start_scan_id#

#define sl_btmesh_rsp_remote_provisioning_client_start_scan_id
Value:
0x02300028

Definition at line 19115 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_get_scan_status_id#

#define sl_btmesh_rsp_remote_provisioning_client_get_scan_status_id
Value:
0x03300028

Definition at line 19116 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_stop_scan_id#

#define sl_btmesh_rsp_remote_provisioning_client_stop_scan_id
Value:
0x04300028

Definition at line 19117 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_start_extended_scan_id#

#define sl_btmesh_rsp_remote_provisioning_client_start_extended_scan_id
Value:
0x05300028

Definition at line 19118 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_open_link_id#

#define sl_btmesh_rsp_remote_provisioning_client_open_link_id
Value:
0x06300028

Definition at line 19119 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_get_link_status_id#

#define sl_btmesh_rsp_remote_provisioning_client_get_link_status_id
Value:
0x07300028

Definition at line 19120 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h

sl_btmesh_rsp_remote_provisioning_client_close_link_id#

#define sl_btmesh_rsp_remote_provisioning_client_close_link_id
Value:
0x08300028

Definition at line 19121 of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/mesh_app/inc/sl_btmesh_api.h