This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How does the advertisement filter policy work?

Hi,

How does the advertisement filter policy work?

I tried both BLE_GAP_ADV_FP_FILTER_SCANREQ and BLE_GAP_ADV_FP_FILTER_BOTH, but this doesn't restrict other devices (not in white-list) to find it, while scanning (but avoids connection request).

How can i restrict my device advertisement so that devices in white-list only can see my device is advertising?

Regards, Balaji

  • Hi Balaji,

    It would be an idea to use undiscoverable advertising type, BLE_GAP_DISC_MODE_NOT_DISCOVERABLE. This would restrict other devices from showing it in the UI unless it is already known to them.

    If you are using the SDK then you could use this utility function: devzone.nordicsemi.com/.../a00949.html

    If not, then you should have a look in the bluetooth specification at Volume 3, part C (GAP) chapter 11. + Assigned numbers: www.bluetooth.org/.../generic-access-profile

    All advertising is visible to the peer, and a wrongly implemented peer could list unknown devices without them beeing discoverable.

    The only way to "hide" your own address for other devices is to use advertising data that cannot identify your device, plus the use of privacy. Currently the S110 only support the 4.1 privacy, and there you would have to make sure you distribute IRK during bonding, and then generate a private address every time you start advertising. This way only bonded devices would be able to identify the device as something they are interested in.

    BR Pål

  • Thanks for the Reply Pal,

    How can i set BLE_GAP_DISC_MODE_NOT_DISCOVERABLE advertisement type? I dont see any example application which implements it.

    As per the bluetooth core document, does setting non-connectable undirected advertisement mode enables non-discoverable advertisement?

    What is 4.1 privacy? Can i get the reference document on this?

    How can i set the own address type?

    Sorry that i couldn't able to get your suggestion, so please make it clear on next post.

    Regards, Balaji

  • Hi balaji, I updated my original post to include more date, setting the device address can be set with sd_ble_gap_address_set https://devzone.nordicsemi.com/documentation/nrf51/5.2.0/html/a00845.html#ga073bbb0a6e68fe0a0ef8bb59d829c986

    As for the privacy, that is using a IRK to encrypt part of a random number in the address, making a hash, that you put as the other half of the address. This way other devices that have your IRK can identify the address as yours. GAP 10.7 in the Bluetooth Core spesification.

Related