• Version: V1.0.0

  • Version Date: 2015-May-19

  • Prepared By: Direction Finding Working Group

  • Feedback Email: df-main@bluetooth.org

Revision History

Revision Number

Date

Comments

V1.0.0

2015-May-19

Adopted by the Bluetooth SIG BoD

Contributors

Name

Company

Rasmus Abildgren

Samsung Electronics Co., Ltd

Casper Madsen

Samsung Electronics Co., Ltd

Juha Salokannel

Nokia Corporation

Arne Bestmann

Lambda:4 Entwicklungen GmbH

Ian Blair

Cambridge Silicon Radio

Phil Corbishley

Nordic Semiconductor ASA

Patrik Javad

Huawei

Robert D. Hughes

Intel

Victor Zhodzishsky

Broadcom

DISCLAIMER AND COPYRIGHT NOTICE

This disclaimer applies to all draft specifications and final specifications adopted by the Bluetooth SIG Board of Directors (both of which are hereinafter referred to herein as a Bluetooth “Specification”). Your use of this Specification in any way is subject to your compliance with all conditions of such use, and your acceptance of all disclaimers and limitations as to such use, contained in this Specification. Any user of this Specification is advised to seek appropriate legal, engineering or other professional advice regarding the use, interpretation or effect of this Specification on any matters discussed in this Specification.

Use of Bluetooth Specifications and any related intellectual property is governed by the Promoters Membership Agreement among the Promoter Members and Bluetooth SIG (the “Promoters Agreement”), certain membership agreements between Bluetooth SIG and its Adopter and Associate Members, including, but not limited to, the Membership Application, the Bluetooth Patent/Copyright License Agreement and the Bluetooth Trademark License Agreement (collectively, the “Membership Agreements”) and the Bluetooth Specification Early Adopters Agreements (1.2 Early Adopters Agreements) among Early Adopter members of the unincorporated Bluetooth SIG and the Promoter Members (the “Early Adopters Agreement”). Certain rights and obligations of the Promoter Members under the Early Adopters Agreements have been assigned to Bluetooth SIG by the Promoter Members.

Use of the Specification by anyone who is not a member of Bluetooth SIG or a party to an Early Adopters Agreement (each such person or party, a “Member”) is prohibited. The use of any portion of a Bluetooth Specification may involve the use of intellectual property rights ("IPR"), including pending or issued patents, or copyrights or other rights. Bluetooth SIG has made no search or investigation for such rights and disclaims any undertaking or duty to do so. The legal rights and obligations of each Member are governed by the applicable Membership Agreements, Early Adopters Agreement or Promoters Agreement. No license, express or implied, by estoppel or otherwise, to any intellectual property rights are granted herein.

Any use of the Specification not in compliance with the terms of the applicable Membership Agreements, Early Adopters Agreement or Promoters Agreement is prohibited and any such prohibited use may result in (i) termination of the applicable Membership Agreements or Early Adopters Agreement and (ii) liability claims by Bluetooth SIG or any of its Members for patent, copyright and/or trademark infringement claims permitted by the applicable agreement or by applicable law.

THE SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, SATISFACTORY QUALITY, OR REASONABLE SKILL OR CARE, OR ANY WARRANTY ARISING OUT OF ANY COURSE OF DEALING, USAGE, TRADE PRACTICE, PROPOSAL, SPECIFICATION OR SAMPLE.

Each Member hereby acknowledges that products equipped with the Bluetooth wireless technology ("Bluetooth Products") may be subject to various regulatory controls under the laws and regulations applicable to products using wireless non licensed spectrum of various governments worldwide. Such laws and regulatory controls may govern, among other things, the combination, operation, use, implementation and distribution of Bluetooth Products. Examples of such laws and regulatory controls include, but are not limited to, airline regulatory controls, telecommunications regulations, technology transfer controls and health and safety regulations. Each Member is solely responsible for the compliance by their Bluetooth Products with any such laws and regulations and for obtaining any and all required authorizations, permits, or licenses for their Bluetooth Products related to such regulations within the applicable jurisdictions. Each Member acknowledges that nothing in the Specification provides any information or assistance in connection with securing such compliance, authorizations or licenses. NOTHING IN THE SPECIFICATION CREATES ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING SUCH LAWS OR REGULATIONS.

ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OR FOR NONCOMPLIANCE WITH LAWS, RELATING TO USE OF THE SPECIFICATION IS EXPRESSLY DISCLAIMED. To the extent not prohibited by law, in no event will Bluetooth SIG or its Members or their affiliates be liable for any damages, including without limitation, lost revenue, profits, data or programs, or business interruption, or for special, indirect, consequential, incidental or punitive damages, however caused and regardless of the theory of liability, arising out of or related to any furnishing, practicing, modifying, use or the performance or implementation of the contents of this Specification, even if Bluetooth SIG or its Members or their affiliates have been advised of the possibility of such damages. BY USE OF THE SPECIFICATION, EACH MEMBER EXPRESSLY WAIVES ANY CLAIM AGAINST BLUETOOTH SIG AND ITS MEMBERS OR THEIR AFFILATES RELATED TO USE OF THE SPECIFICATION.

If this Specification is an intermediate draft, it is for comment only. No products should be designed based on it except solely to verify the prototyping specification at SIG sponsored IOP events and it does not represent any commitment to release or implement any portion of the intermediate draft, which may be withdrawn, modified, or replaced at any time in the adopted Specification.

Bluetooth SIG reserves the right to adopt any changes or alterations to the Specification it deems necessary or appropriate.

Copyright © 2013–2015. The Bluetooth word mark and logos are owned by Bluetooth SIG, Inc. All copyrights in the Bluetooth Specifications themselves are owned by Ericsson AB, Lenovo (Singapore) Pte. Ltd., Intel Corporation, Microsoft Corporation, Motorola Mobility, LLC, Nokia Corporation and Toshiba Corporation. Other third-party brands and names are the property of their respective owners.

Document Terminology

The Bluetooth SIG has adopted portions of the IEEE Standards Style Manual, which dictates use of the words “shall”, “should”, “may”, and “can” in the development of documentation, as follows:

The word shall is used to indicate mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (shall equals is required to).

The use of the word must is deprecated and shall not be used when stating mandatory requirements; must is used only to describe unavoidable situations.

The use of the word will is deprecated and shall not be used when stating mandatory requirements; will is only used in statements of fact.

The word should is used to indicate that among several possibilities one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required; or that (in the negative form) a certain course of action is deprecated but not prohibited (should equals is recommended that).

The word may is used to indicate a course of action permissible within the limits of the standard (may equals is permitted).

The word can is used for statements of possibility and capability, whether material, physical, or causal (can equals is able to).

The term Reserved for Future Use (RFU) is used to indicate Bluetooth SIG assigned values that are reserved by the Bluetooth SIG and are not otherwise available for use by implementations.

1. Introduction

The Indoor Positioning Service exposes location information to support mobile devices to position themselves in an environment where GNSS signals are not available, for example in indoor premises. The location information is mainly exposed via advertising and the GATT-based service is primarily intended for configuration.

1.1. Conformance

If conformance to this service is claimed, all capabilities indicated as mandatory for this service shall be supported in the specified manner (process-mandatory). This also applies for all optional and conditional capabilities for which support is indicated. All mandatory capabilities, and optional and conditional capabilities for which support is indicated, are subject to verification as part of the Bluetooth qualification program.

1.2. Service Dependencies

This service has no dependencies on other GATT-based services.

1.3. Bluetooth Specification Release Compatibility

This service is compatible with any Bluetooth core specification host that includes the Generic Attribute Profile (GATT) and the broadcast mode in the Generic Access Profile (GAP).

1.4. GATT Sub-Procedure Requirements

Requirements in this section represent a minimum set of requirements for a Server. Other GATT sub-procedures may be used if supported by both Client and Server.

Additional GATT sub-procedures required beyond those required by the GATT are indicated in Table 1.1.

GATT Sub-Procedure

Requirements

Read Multiple Characteristic Value

M

Read Long Characteristic Value

C1

Write Characteristic Value

C2

C1:

Mandatory if location name size greater than ATT_MTU-1 is supported by the device

C2:

Mandatory: If characteristic is configurable via an ATT bearer, else optional

Table 1.1. Table showing additional GATT sub-procedures

1.5. Transport Dependencies

The service may operate over LE and BR/EDR transports. However the broadcasting of the location information will only operate in LE advertising mode.

Note

Note: Where the term BR/EDR is used throughout this document, this also includes the optional use of AMP.

1.6. Application Error Codes

This service defines the following Attribute Protocol Application Error code:

Name

Error Code

Description

Invalid Value

0x80

An attempt was made to write a value to the characteristic that is invalid (e.g. out of range) by this Server.

Table 1.2. Attribute Protocol Application Error code defined by this service

Note

Note: Even if the value of the characteristic being written is acceptable from this specification point of view, the Server may use this error code to indicate that the value is not acceptable from the application point of view.

1.7. Byte Transmission Order

All characteristics used with this service shall be transmitted with the least significant octet first (i.e., little endian). The least significant octet is identified in the characteristic definitions in [1].

2. Service Requirements

2.1. Declaration

The service shall be either a «Primary Service» or «Secondary Service» and the service UUID set to «Indoor Positioning Service» as defined in [2].

2.2. Behaviors

This section describes the service behaviors, including any behaviors associated with each of the characteristics that make up the service.

2.2.1. Service Characteristics and Behaviors

The attribute permissions for the characteristics shall include at least readable and writeable permissions. Additional permission requirements are implementation specific.

Characteristic Name

Status

Indoor Positioning Configuration

M

Latitude

M

Longitude

M

Local North Coordinate

O

Local East Coordinate

C1

Floor Number

O

Altitude

O

Uncertainty

O

Location Name

O

C1:

Mandatory if Local North Coordinate is present else excluded.

Table 2.1. The Characteristics defined for the Indoor Positioning Service

When a characteristic value is written, the Server may check the validity of the value. If the value is invalid, the Server can reject the write request by sending the error "Invalid Value". The characteristic value will then not be updated.

2.2.1.1. Indoor Positioning Configuration Characteristic Behavior

The Indoor Positioning Configuration Characteristic describes the advertise information data embedded in the Indoor Positioning Service AD type [7] (see Section 2.2.2).

Reserved for Future Use (RFU) bits in the Indoor Positioning Configuration Characteristic value shall be ignored.

When read, the Indoor Positioning Configuration Characteristic shall return the current value of the characteristic.

When written, the Server shall update the broadcast information associated with the Indoor Positioning Service AD type, according to the new configuration written, and update this characteristic value with the written value.

The configuration of the broadcast information data included in the Indoor Positioning Service AD-type's data is set according to the description in Section 3.1.

2.2.1.2. Latitude Characteristic Behavior

The Latitude Characteristic describes the global WGS84 North coordinate [5] of the device.

When read, the Server shall return the current value of the Latitude Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.3. Longitude Characteristic Behavior

The Longitude Characteristic describes the global WGS84 East coordinate [5] of the device.

When read, the Server shall return the current value of the Longitude Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.4. Local North Coordinate Characteristic Behavior

The Local North Coordinate Characteristic describes the North coordinate of the device using a local coordinate system, see Section 3.4.

When read, the Server shall return the current value of the Local North Coordinate Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.5. Local East Coordinate Characteristic Behavior

The Local East Coordinate Characteristic describes the East coordinate of the device using a local coordinate system, see Section 3.5.

When read, the Server shall return the current value of the Local East Coordinate Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.6. Floor Number Characteristic Behavior

The Floor Number Characteristic describes the floor number in which the device is installed.

When read, the Server shall return the current value of the Floor Number Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.7. Altitude Characteristic Behavior

The Altitude Characteristic describes the altitude of the device above the WGS84 datum.

When read, the Server shall return the current value of the Altitude Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.8. Uncertainty Characteristic Behavior

The Uncertainty Characteristic describes the uncertainty of the location information the device exposes.

When read, the Server shall return the current value of the Uncertainty Characteristic.

When written, the Server shall update the characteristic value as well as the broadcast information.

2.2.1.9. Location Name Characteristic Behavior

The Location Name Characteristic describes the name of the location in which the device is installed in accordance to the civicLocation definition [3].

When read, the Server shall return the current value of the Location Name Characteristic.

When written, the Server shall update the value of the Location Name Characteristic.

2.2.2. Service Behavior

The Server shall broadcast its positioning information according to the information and configuration stored in the service characteristics.

The service can be used by multiple Clients. If a Server can support multiple Clients, the Server shall use the most recent value written by any Client.

For each update of a characteristic selected to be broadcast (defined in the Indoor Positioning Configuration Characteristic), the Server shall regenerate its broadcast information.

If the flags (defined by the Indoor Positioning Configuration Characteristic), in the broadcast indicate that further information is stored in the GATT database then a minimum of 1 advertisement per second should be connectable. This also applies if the Flags field is excluded, (i.e. all flags are zero) from the advertisement, despite location information being available in the GATT database.

Note

Note: Connectable advertisement without the Flags field does not guarantee that the location information is set in the GATT database.

The connectable advertisements may be less frequent than 1 per second, if the Server's database is only used for configuration (i.e. no additional information is stored in the database compared to the broadcasted data in the advertisement), or another means for making the Server connectable may be provided by the device (e.g. pushing a button to put the Server into configuration mode).

The advertisement interval shall not be longer than 1 second.

The broadcast data associated to the Indoor Positioning Service AD-type is organised using the order described in Table 2.2, according to the Indoor Positioning Configuration Characteristic Value.

Note

Note: The Location Name is not included in the broadcast information of the Indoor Positioning Service.

Location

Order

Name

Property

Length of the field

Reference

LSO

1

Length

M

1 octet

N/A

2

AD-type: Indoor Positioning Service

M

1 octet

Bluetooth assigned numbers [7]

3

Flags

C1

1 octet

Table 3.2

4a

Global Coordinates (Latitude)

C2

4 octets

3.3

5a

Global Coordinates (Longitude)

C2

4 octets

3.2

4b

Local Coordinates (North)

C2

2 octets

3.5

5b

Local Coordinates (East)

C2

2 octets

3.4

6

Tx Power

C3

1 octet

N/A

7

Floor Number

C3

1 octet

3.6

8

Altitude

C3

2 octets

3.7

9

Uncertainty

C3

1 octet

3.8

RFU

C1:

Included in the advertisement packet if at least one bit of the Flags field is non zero in the Indoor Positioning Characteristic, otherwise excluded

C2:

Included in the advertisement packet if specified in Flags, otherwise excluded. Bit 1 of the Flags specifies whether the coordination system is using Global or Local Coordinates.

C3:

Included in the advertisement packet if specified in Flags, otherwise excluded

Table 2.2. The order of the broadcasting information of the Indoor Positioning Service data.

Flags describe how the broadcasted positioning information is presented using the description in Section 3.1. For example, the length and type of the coordinate fields is set according to the bit 1 of the Flags field indicating the used coordinate system. If all flag values are set to zero, the Server shall omit the Flags field from the advertisement packet.

If only the AD-type is advertised, the device shall use a public device address for its advertisement and will be stationary. This enables a client to use the device address for location estimation based on a database look-up.

Tx Power for advertisement may be included to enable path loss estimation. The configuration of the Tx Power level is not specified in this service specification. It is set by other means (e.g. another service or the device configuration).

3. Characteristics

The following characteristics are defined for use with the Indoor Positioning Service. The characteristics property requirements are stated in Table 3.1.

Characteristic Name

Broadcast

Read

Write Without Response

Write

Notify

Indicate

Signed Write

Reliable Write

Writable Auxiliaries

Indoor Positioning Configuration

X

M

C2

C1

X

X

X

C2

X

Latitude

X

M

C2

C1

X

X

X

C2

X

Longitude

X

M

C2

C1

X

X

X

C2

X

Local North Coordinate

X

M

C2

C1

X

X

X

C2

X

Local East Coordinate

X

M

C2

C1

X

X

X

C2

X

Floor Number

X

M

C2

C1

X

X

X

C2

X

Altitude

X

M

C2

C1

X

X

X

C2

X

Uncertainty

X

M

C2

C1

X

X

X

C2

X

Location Name

X

M

C2

C1

X

X

X

C2

X

C1:

Mandatory: If Characteristic is configurable via an ATT bearer, else optional

C2:

Optional if Write is supported, else excluded

Table 3.1. Characteristics Property Requirements

Requirements marked with ‘M’ are mandatory, ‘O’ are optional and ‘X’ are excluded (not permitted).

For each characteristic that supports Reliable Write a Characteristic Extended Properties Descriptor shall be present with value 0x0001 (supported).

3.1. Indoor Positioning Configuration Characteristic

The Indoor Positioning Configuration Characteristic is mandatory.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable and writeable permissions. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Indoor Positioning Configuration Characteristic is a bit field. The meaning of each bit is described in Table 3.2:

Bit

Description

0

Presence of coordinates in advertising packets

(0 = coordinates are not present, 1 = coordinates are present)

1

Coordinate system used in advertising packets

(0 = WGS84 coordinate system, 1 = Local coordinate system)

2

Presence of Tx Power field in advertising packets

(0 = Tx Power is not present, 1 = Tx Power is present)

3

Presence of Altitude field in advertising packets

(0 = Altitude is not present, 1 = Altitude is present)

4

Presence of Floor Number in advertising packets

(0 = Floor Number is not present, 1 = Floor Number is present)

5

Presence of Uncertainty in advertising packets

(0 = Uncertainty is not present, 1 = Uncertainty is present)

6

Location Name available in the GATT database.

(0 = Location Name is not present, 1 = Location Name is present)

7

Reserved for Future Use

Table 3.2. Indoor Positioning Configuration bit field

The format of the characteristic is an unsigned integer of size 8 bits.

The characteristic UUID shall be set to « Indoor Positioning Configuration » as defined in [2].

3.2. Latitude Characteristic

The Latitude Characteristic is mandatory.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

Latitude is based on WGS84 [5] datum. The relation between the Latitude X in range [-90°, 90°] and the encoded (transmitted) number N is

N = floor   X 90 2 31

where N is bounded to the range  − 231 + 1 ≤ N ≤ 231 − 1  . If N exceeds the bounds, the closest value within the bounds shall be used.

The floor operation shall be performed according to [4].

The value 0x80000000 in the Latitude Characteristic indicates not configured.

The format of the characteristic is a signed integer of size 32 bits encoded as signed magnitude.

The characteristic UUID shall be set to « Latitude » as defined in [2].

3.3. Longitude Characteristic

The Longitude Characteristic is mandatory.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

Longitude is based on WGS84 [5] datum. The relation between the Longitude X in range [-180°, 180°] and the encoded (transmitted) number N is

N = floor   X 180 2 31

where N is bounded to the range   − 231 + 1 ≤ N ≤ 231 − 1. If N exceeds the bounds, the closest value within the bounds shall be used.

The floor operation shall be performed according to [4].

The value 0x80000000 means the Longitude characteristic is not configured.

The format of the characteristic is a signed integer of size 32 bits encoded as signed magnitude.

The characteristic UUID shall be set to « Longitude » as defined in [2].

3.4. Local North Coordinate Characteristic

The Local North Coordinate Characteristic is optional. If used, the Local North Coordinate shall be present together with Local East Coordinate.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Local North Coordinate is relative to the north orientation on a predefined map downloaded prior to using the Indoor Positioning Service at the given location.

The Local North Coordinate value is encoded in decimeters and has a range of -32767 decimeters to 32767 decimeters. The value 0x8000 means the Local North Coordinate information is not configured.

The format of the characteristic is a signed integer of size 16 bits.

The characteristic UUID shall be set to « Local North Coordinate » as defined in [2].

3.5. Local East Coordinate Characteristic

The Local East Coordinate Characteristic is optional. If used, the Local East Coordinate shall be present together with Local North Coordinate.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Local East Coordinate is relative to the east orientation of a predefined map downloaded prior to using the Indoor Positioning Service at the given location. The Local East Coordinate value is encoded decimeters and it ranges from -32767 decimeters up to 32767 decimeters.

The value 0x8000 means the Local East Coordinate information is not configured.

The format of the characteristic is a signed integer of size 16 bits.

The characteristic UUID shall be set to « Local East Coordinate » as defined in [2].

3.6. Floor Number Characteristic

The Floor Number Characteristic is optional.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The floor number, N, is encoded as X = N + 20 where X is the encoded floor number. Floor number -20 (X=0), has a special meaning not only indicating the floor -20, but also any floor below that. Floor number = 232 (X = 252) has a special meaning not only indicating the floor 232, but also any floor above that. (X = 253) meaning floor number 0 and ground floor. (X = 254) meaning floor number 1 and ground floor. X = 255 means no floor number is configured.

Note

Note: The reason for having two definitions of ground floor (0 or 1) is to allow for different conventions applicable in different countries.

The format of the characteristic is an unsigned integer of size 8 bits.

The characteristic UUID shall be set to « Floor Number » as defined in [2].

3.7. Altitude Characteristic

The Altitude Characteristic is optional.

The characteristic property requirements are stated in Table 3.1. The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Altitude Characteristic expresses the altitude beyond the WGS84 ellipsoid [5] of the device exposing its position.

The characteristic value (x) encodes the altitude (h) in decimeters, x = h + 1000. The valid range of h is from -1000 decimeters to 64534 decimeters. A decoded height of -1000 dm shall be interpreted as -1000 dm or below. A decoded height of 64534 dm shall be interpreted as 64534 dm or above.

The value x=0xFFFF means the altitude information is not configured.

The format of the characteristic is an unsigned integer of size 16 bits.

Characteristic value encoding

Meaning

65535

Altitude is not configured

65534

Altitude is greater than or equal to 64534 decimeters

1 to 65533

Altitude is (characteristic value) − 1000 decimeters

0

Altitude is less than or equal to -1000 decimeters

Table 3.3. Altitude bit field encoding

The characteristic UUID shall be set to « Altitude » as defined in [2].

3.8. Uncertainty Characteristic

The Uncertainty Characteristic is optional.

The characteristic property requirements are stated in Table 3.1.

The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Uncertainty Characteristic consists of several values. The meaning of each bit is described in Table 3.4:

Bit

Description

0

<stationary>

This bit indicates whether the device broadcasting the location information has a stationary location or is mobile.

(0 = stationary, 1 = mobile )

1-3

<update time>

This value (x) encodes the time (t) elapsed since the last update of the device's position, measured in seconds, where t = round(e1.35x), x = 0 indicates 3 seconds or less. x = 7 indicates 3541 seconds or more.

The Server shall ignore any value set by a client and update the value by mapping the elapsed time to the nearest encoded value. Round shall be performed according to [4].

Note: If stationary is set, a client can ignore this value.

4-6

<Precision>

This value (y) represents a scale, which maps the precision of the location information in the Server. The scale is as follows:

Value

Precision [meters]

Rating

0

<0.1m

Ideal

1

0.1-1m

Excellent

2

1-2m

Good

3

2-5m

Moderate

4

5-10m

Fair

5

10-50m

Poor

6

>50m

Very Poor

7

N/A

RFU

7

Reserved for Future Use (RFU)

Table 3.4. Uncertainty bit field

The format of the characteristic is an unsigned integer of size 8 bits.

The characteristic UUID shall be set to « Uncertainty » as defined in [2].

3.9. Location Name Characteristic

The Location Name Characteristic is optional.

The characteristic property requirements are stated in Table 3.1. The attribute permissions for this characteristic declaration shall include at least readable permission. A higher layer may specify additional permission requirements but it is recommended that only authorized devices are permitted to write.

The Location Name value is a UTF8 string holding the information of the location, for example location name, room name, floor name, etc. The location name shall be formatted according to the civicLocation definition [3].

The format of the characteristic is a string of variable size. If unset, the value has zero length.

The characteristic UUID shall be set to « Location Name » as defined in [2].

4. SDP Interoperability

If this service is exposed over BR/EDR transport, then it shall have the following SDP record, per [1], Volume 3, Part G, Section 9.

Item

Definition

Type

Value

Status

Service Class ID List

M

Service Class #0

UUID

«Indoor Positioning Service»

M

Protocol Descriptor List

M

Protocol #0

UUID

L2CAP

M

Parameter #0 for Protocol #0

PSM

Uint16

PSM = ATT

M

Protocol #1

UUID

ATT

M

Parameter #0 for Protocol #1

GATT Start Handle

Uint16

First handle of this service in the GATT database

M

Parameter #1 for Protocol #1

GATT End Handle

Uint16

Last handle of this service in the GATT database

M

BrowseGroupList

PublicBrowseRoot*

M

Table 4.1. SDP Record

* PublicBrowseRoot shall be present; however, other browse UUIDs may also be included in the list.

5. Acronyms and Abbreviations

Abbreviation or Acronym

Meaning

ATT

Attribute Protocol

BR/EDR

Bluetooth Basic Rate / Bluetooth Enhanced Data Rate

GATT

Generic Attribute Profile

GNSS

Global Navigation Satellite System

LE

Low Energy

SDP

Service Discovery Protocol

UTF

Universal Character Set Transformation Format

UUID

Universally Unique Identifier

WGS84

World Geodetic System 1984

Table 5.1. Example Abbreviations and Acronyms

6. References

[1] Bluetooth Core Specification, Version 4.0 or later

[2] Characteristic and Descriptor descriptions are accessible via the Bluetooth SIG Assigned Numbers

[3] LPP Extensions Specification. Candidate Version 1.0. - 08 Jan 2014. Open Mobile Alliance. OMA-TS-LPPe–V1_0-20140108-C

[4] IEEE Std 754-2008, IEEE Computer Society (August 29, 2008). IEEE Standard for Floating-Point Arithmetic. IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5.

[5] NIMA Technical Report TR8350.2, "Department of Defense World Geodetic System 1984, Its Definition and Relationships With Local Geodetic Systems" http://earth-info.nga.mil/GandG/publications/tr8350.2/tr8350_2.html

[6] Bluetooth Core Specification Supplement, Version 5 or later

[7] Indoor Positioning AD type in Generic Access Profile assigned numbers