-
Notifications
You must be signed in to change notification settings - Fork 8k
Description
Summary
In some application scenarios, and for some profiles/services (ref. @Thalley), it is required/beneficial to know if the address of a peer device will change or not.
That is, one may want to defer some operation until the address has been resolved in case of an RPA being used.
After discussions with @alwa-nordic, @Thalley and more, it seems there is no definitive way for an application to know for sure if the address will be resolved or not using public APIs.
As an example, we want to know in the security_changed
callback:
zephyr/include/zephyr/bluetooth/conn.h
Line 1843 in 27fa721
struct bt_conn_cb { |
identity_resolved
callback.
Describe the solution you'd like
Ideally, we would like another callback on some form addr_operations_done(struct bt_conn *conn, const bt_addr_le_t *identity, bt_security_t level)
or similar.
This will then be called after security_changed and (if applicable) after identity_resolved
, letting the application know that this address will not change for the lifetime of this connection. This could then be because either the RPA has been resolved or the device uses a public device address which does not get resolved.
Alternatives
No response
Additional Context
No response