<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/28542/ios-refuses-peripheral-disconnection</link><description>On my peripheral I filter the devices connected and refuses them when not bonded.
When a device not bonded tries to connect to the peripheral, it forces the disconnection and waits some seconds.
It seems to work as spected, but on iOS, there are two</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Dec 2017 13:56:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/28542/ios-refuses-peripheral-disconnection" /><item><title>RE: iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/thread/113056?ContentTypeID=1</link><pubDate>Mon, 18 Dec 2017 13:56:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb53c010-df97-464b-8f70-ce8d4f5fcfb4</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Hi Jemajuca!&lt;br /&gt;
I&amp;#39;m afraid this is related to iOS behavior, and it&amp;#39;s not much to do about this
from our side.&lt;br /&gt;
You could try to post a bug-report with apple about this problem.&lt;br /&gt;
The best way to solve this would be to find a way to delete the bonding information
on the iPhone.&lt;/p&gt;
&lt;p&gt;An alternative solution to help solve the problem might be to use whitelisting.&lt;br /&gt;
Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/thread/113054?ContentTypeID=1</link><pubDate>Thu, 14 Dec 2017 09:42:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2d40ea1-e620-4534-9897-d6f4ebbe5bb7</guid><dc:creator>jemajuca</dc:creator><description>&lt;p&gt;Hello Joakim you are right.
I know it&amp;#39;s a rare situation, but it can happen.
As described on Case 2, iOS tries to connect again and again to the peripheral.
The peripheral simply closes the connection every time, and iOS reconnects everytime, so it can causes something similar to a DoS, so other can not connect.
Android has a different behavior, it only tryies to reconnect one time, so no problem.
We have fixed the problem restarting also the advertising.
Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/thread/113053?ContentTypeID=1</link><pubDate>Wed, 13 Dec 2017 15:25:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a64bc3b-57c4-4da7-8931-d42ad6e240dd</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;I&amp;#39;m not sure if I understand your problem.&lt;br /&gt;
If the phone is bonded to the device and then somehow gets lost, then the problem should be irrelevant.&lt;br /&gt;
If the phone at a later time is found by someone that tries to connect, they won&amp;#39;t be able to access the device, as the bonding information is already deleted on the peripheral.&lt;br /&gt;
It would simply be to delete the bonding information on the phone when it is found, and then reconnect.&lt;br /&gt;
Please correct me if I&amp;#39;m misunderstanding you.&lt;br /&gt;
Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/thread/113055?ContentTypeID=1</link><pubDate>Mon, 11 Dec 2017 14:06:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d8aa266-d67c-4c99-bf60-af39ced06a9b</guid><dc:creator>jemajuca</dc:creator><description>&lt;p&gt;Hello Joakim
It is correct, I should delete the bonding on the iOS device, but I need to implement a solution for that scenario it it happens:
Let&amp;#39;s think that you have lost the phone.
You delete it&amp;#39;s bond on the peripheral, but you have no access to the phone.
If any person find the phone and tries to connect, then... the problem occurs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: iOS refuses peripheral disconnection</title><link>https://devzone.nordicsemi.com/thread/113052?ContentTypeID=1</link><pubDate>Mon, 11 Dec 2017 13:46:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d51c216-c4e1-48c2-b7f1-e6c79deff989</guid><dc:creator>Joakim Jakobsen</dc:creator><description>&lt;p&gt;Hi Jemajuca!&lt;/p&gt;
&lt;p&gt;If you remove the bonding information on the peripheral only, the bonding keys
will be deleted.&lt;br /&gt;
When iOS tries to reconnect, it will try to set up an encrypted connection using
the previously established keys.&lt;br /&gt;
If the peripheral no longes have those keys, you need to manually remove the bonding
information on the iOS side as well.&lt;br /&gt;
You can do that in the bluetooth settings on your iOS device.&lt;/p&gt;
&lt;p&gt;Let me know if you still have any questions.&lt;br /&gt;
Best regards,&lt;br /&gt;
Joakim.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>