Is only Apple allowed to build hardware iBeacons?

Hello everyone,

after some people raised an interesting and I think important question concerning iBeacons as comment on my blogpost http://www.mkroll.mobi/?p=1120, I decided to write a post regarding those questions only. Feel free to comment on this post or start a discussion in the forum at http://forum.mkroll.mobi/viewforum.php?f=17 where I opened an iBeacon related area.

So back to the question raised on the blogpost which was originally:

"I notice that this sample code requires mfg specific data using 
the Apple Company Identifier. Doesn’t that mean that only Apple 
could get this certified as a BLE product? I realize you 
cannot answer for Apple, but what does the Bluetooth SIG 
say about use of Company Identifiers?"

I think this is correct, but there are some iBeacons commercially available already, such as:

Now the question is still somewhat unanswered. Are companies allowed to create iBeacons using Apple’s Company identifier for commercial products? There are still no documents officially provided by Apple describing how to manipulate a BLE device to act as an iBeacon, maybe the company identifier is the reason for that?

Thanks for any insight on that,

Michael.

Addition as of 12/6/2013:

Hello all,

thanks for the discussion in this topic here on my blog and twitter as well. While listing some iBeacons available in the web, I don’t wanted to blame anybody about what they are developing. I’m working on an iBeacon as well based on a BlueGiga BLE112-A module. I was just a question risen by some others :-) My intention was to open a discussion an get as much people involved dealing with this technology. As a main result I can say “Only Cuppertino knows” :-)

Cheers and many thanks for participating in this discussion,

Michael.

9 Responses to Is only Apple allowed to build hardware iBeacons?

  1. Rafe Aldridge December 5, 2013 at 22:51 #

    Question is, did these people reverse engineer the protocol (easy to do, already well documented on the web and very simple to replicate on a ble device) or did they do it with Apples blessing? Given the lack of documentation and formal release of SDK from Apple, I presume it’s the former.

    Also I understand that whilst the SDK isn’t released it could change. Indeed there are some bytes in the iBeacon protocol that no-one seems to understand the purpose of and in every example seem to be blindly copying one example.

    Finally I’ve read the relevant section in the Bluetooth 4.0 specification and it’s unclear if using a CIC in this way means the CIC relates to the manufacturer of the beacon (and therefore how can someone else use it) or if it just means the following data is formatted in a way designed by the company whose CIC it is.

    So are the companies above being premature? Jumping on a bandwagon? I’ll let you decide.

  2. Vladimir Petrov December 6, 2013 at 10:34 #

    Since any BLE enabled device can be made to advertise the iBeacon custom advertisement packet I don’t see how Apple can stop people from building custom hardware. Certainly they can impose restrictions on using the name and claiming to be iBeacon compatible, but stopping people from building BLE enabled beacons? Don’t think so.

    Actually with all this hype we seem to forget that it was not Apple that came up with the idea of using BLE for location beacons, there was a lot of development in that area already. What they did was to put a name on it – significant in itself, and also significant due to the fact that Apple seem to back the tech to use BLE for location – the ultimate validation of the BLE beacon.

    Disclaimer: I run Blue Sense Networks and we *also* build iBeacon compatible hardware and applications.

  3. duppy December 6, 2013 at 16:35 #

    Vladimir, you are correct. This is a Bluetooth SIG policy question, not necessarily an Apple policy question.

    The question should possibly be rephrased to two parts:
    1) “If an iBeacon uses a CIC other than Apple’s will iOS7 recognize it via CoreLocation iBeacon APIs?”
    2) “If a company uses a CIC that is not it’s own in the MfgData field of a BLE advertisement, will the Bluetooth SIG approve that product?”

    Dupp

    • Rafe December 6, 2013 at 19:20 #

      Vladimir, no-one here is saying Apple invented the concept of a beacon because we know they didn’t. We’re not saying that Apple can stop people making BLE hardware or using BLE as a beacon (its most basic form really).

      What we are saying is that Apple have come up with a BLE advertising packet format that gets special treatment in iOS. We know it’s based on standard BLE spec so is easy to replicate, but doing so involves embedding Apple’s CIC in your protocol.

      As Duppy points out, can third parties legitimately do this? That is the question being asked… Can third parties legitimately make iBeacons?

      My company too is making beacons & we too have an iBeacon version of our current firmware, but the latter is no use if Bluetooth SIG say we’re not allowed to use Apple’s CIC in a non-Apple product or iOS doesn’t give special treatment to extended advertising packets with non-Apple CICs.

      Again, as Duppy points out, this is more a question for Bluetooth SIG.

      Though if they say yes people can embed other people’s CICs in their code, does that not make a mockery of the CIC registration process and/or limit what Apple can do with their own CIC (i.e. have they got a one-trick CIC)?

  4. Ramin December 7, 2013 at 05:24 #

    FWIW, I swapped out the CIC code for Apple (0x004C) with that for BlueGiga (0×0047), flashed a test device, and did a quick scan.

    iOS 7.0.4 running iBeacon scanning software found the device with no problem.

    Of course, this doesn’t mean at some point in the future Apple may not add a CIC validation check to iOS. But as of now, it doesn’t seem to matter.

    HTH.

  5. duppy December 7, 2013 at 17:55 #

    Thank you Ramin!

    I consider this answered. In summary:

    Question 1) “If an iBeacon uses a CIC other than Apple’s will iOS7 recognize it via CoreLocation iBeacon APIs?”
    Answer: Yes. The Apple CoreLocation iBeacon API takes a 16 byte UUID, a Major ID byte, and a Minor ID byte. iOS7.0.4 will find *any* BLE device that has a Mfg Data type field in it’s advertisement data with the 18 bytes of UUID, Major ID, Minor ID in the right positions of that field regardless of which Company’s CIC code is include at the start of the Mfg Data field.

    Question 2) “If a company uses a CIC that is not it’s own in the MfgData field of a BLE advertisement, will the Bluetooth SIG approve that product?”
    Answer: This question is irrelevant as any company may use their own CIC and iOS7 will see it as an iBeacon.

    Has anyone found differently?

  6. Rafe Aldridge December 9, 2013 at 07:44 #

    I tried exactly what you did Ramin and it didn’t work. Why app did you use?

  7. Rafe December 9, 2013 at 09:44 #

    Think I’ve worked out why it’s not working for me… Our CIC is ​0x010A and that doesn’t work. Any CIC with 0×00 as the upper byte seems to work, but our 0×01 doesn’t :(

Leave a Reply


*