I'd like to create my own iBeacon with some Bluetooth Low Energy dev kits. Apple has yet to release a specification for iBeacons, however, a few hardware developers have reverse Engineered the iBeacon from the AirLocate Sample code and started selling iBeacon dev kits.
So what is the iBeacon Bluetooth Profile?
Bluetooth Low Energy uses GATT for LE profile service discovery. So I think we need to know the Attribute Handle, Attribute Type, Attribute Value, and maybe the Attribute Permissions of the iBeacon attribute. So for an iBeacon with a UUID of E2C56DB5-DFFB-48D2-B060-D0F5A71096E0, a major value of 1 and a minor value of 1 what would the Bluetooth GATT profile service be?
Here are some assumptions I've made from the discussion on Apple's forums and through the docs.
You only need to see the profile service (GATT) of a Bluetooth peripheral to know it is an iBeacon.
The Major and Minor keys are encoded somewhere in this profile service
Heres some companies with iBeacon Dev Kits that seem to have this figure out already:
Hopefully, in time we will have a profile posted on Bluetooth.org like these: https://www.bluetooth.org/en-us/specification/adopted-specifications