Generic Attribute Profileđź”—

(TCRL 2023-1, GATT.ICS.p17)

Rolesđź”—

Table 1: Role Requirements

Parameter Name

Selected

Description

TSPC_GATT_1_1

x

Generic Attribute Profile (GATT) Client (C.1)

TSPC_GATT_1_2

x

Generic Attribute Profile (GATT) Server (C.1)

  • C.1: Mandatory to support at least one.

Transportsđź”—

Table 1a: Transport Requirements

Parameter Name

Selected

Description

TSPC_GATT_1a_1

x

GATT Client over LE (C.1)

TSPC_GATT_1a_2

GATT Client over BR/EDR (C.1)

TSPC_GATT_1a_3

x

GATT Server over LE (C.2)

TSPC_GATT_1a_4

GATT Server over BR/EDR (C.2)

  • C.1: Mandatory to support at least one IF GATT 1/1 “Generic Attribute Profile (GATT) Client”, otherwise Excluded.

  • C.2: Mandatory to support at least one IF GATT 1/2 “Generic Attribute Profile (GATT) Server”, otherwise Excluded.

Transportsđź”—

Table 2: Attribute Protocol Transport Requirements

Parameter Name

Selected

Description

TSPC_GATT_2_1

Unenhanced ATT bearer over BR/EDR (C.1)

TSPC_GATT_2_2

x

Unenhanced ATT bearer over LE (C.2)

TSPC_GATT_2_3a

Enhanced ATT bearer over LE (C.4, C.3)

TSPC_GATT_2_3b

Enhanced ATT bearer over BR/EDR (C.1, C.3)

TSPC_GATT_2_4

x

Attribute Protocol Client (C.6)

TSPC_GATT_2_5

x

Attribute Protocol Server (C.7)

  • C.1: Mandatory to support at least one IF GATT 1a/2 “GATT Client over BR/EDR” OR GATT 1a/4 “GATT Server over BR/EDR”, otherwise not defined.

  • C.2: Mandatory IF GATT 1a/1 “GATT Client over LE” OR GATT 1a/3 “GATT Server over LE”, otherwise not defined.

  • C.3: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0” OR SUM ICS 31/20 “Core v5.1”, otherwise Optional.

  • C.4: Optional IF GATT 2/2 “Unenhanced ATT bearer over LE”, otherwise not defined.

  • C.6: Mandatory IF GATT 1/1 “Generic Attribute Profile (GATT) Client”, otherwise not defined.

  • C.7: Mandatory IF GATT 1/2 “Generic Attribute Profile (GATT) Server”, otherwise not defined.

GATT Featuresđź”—

Table 3: Generic Attribute Profile Feature Support, by Client

Prerequisite: GATT 1/1 “Generic Attribute Profile (GATT) Client”

Parameter Name

Selected

Description

TSPC_GATT_3_1

x

Exchange MTU (C.11)

TSPC_GATT_3_2

x

Discover All Primary Services (O)

TSPC_GATT_3_3

x

Discover Primary Services by Service UUID (O)

TSPC_GATT_3_4

x

Find Included Services (O)

TSPC_GATT_3_5

x

Discover All Characteristics of a Service (O)

TSPC_GATT_3_6

x

Discover Characteristics by UUID (O)

TSPC_GATT_3_7

Discover All Characteristic Descriptors (O)

TSPC_GATT_3_8

x

Read Characteristic Value (O)

TSPC_GATT_3_9

x

Read Using Characteristic UUID (O)

TSPC_GATT_3_10

x

Read Long Characteristic Values (O)

TSPC_GATT_3_11

Read Multiple Characteristic Values (O)

TSPC_GATT_3_12

x

Write without Response (O)

TSPC_GATT_3_13

Signed Write Without Response (C.11)

TSPC_GATT_3_14

x

Write Characteristic Value (O)

TSPC_GATT_3_15

x

Write Long Characteristic Values (O)

TSPC_GATT_3_16

Characteristic Value Reliable Writes (O)

TSPC_GATT_3_17

x

Notifications (C.7)

TSPC_GATT_3_18

x

Indications (M)

TSPC_GATT_3_19

x

Read Characteristic Descriptors (O)

TSPC_GATT_3_20

x

Read Long Characteristic Descriptors (O)

TSPC_GATT_3_21

x

Write Characteristic Descriptors (O)

TSPC_GATT_3_22

x

Write Long Characteristic Descriptors (O)

TSPC_GATT_3_23

x

Service Changed Characteristic (M)

TSPC_GATT_3_24

Configured Broadcast (C.2)

TSPC_GATT_3_25

Client Supported Features Characteristic (C.4)

TSPC_GATT_3_25a

Enabling Robust Caching (C.12)

TSPC_GATT_3_26

Database Hash Characteristic (C.4)

TSPC_GATT_3_27

Read and Interpret Characteristic Presentation Format (O)

TSPC_GATT_3_28

Read and Interpret Characteristic Aggregate Format (C.6)

TSPC_GATT_3_29

Read Multiple Variable Length Characteristic Values (C.9)

TSPC_GATT_3_30

Multiple Variable Length Notifications (C.10)

  • M: Mandatory

  • O: Optional

  • C.2: Optional IF GATT 3/14 “Write Characteristic Value”, otherwise Excluded.

  • C.4: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0”, otherwise Optional.

  • C.6: Optional IF GATT 3/27 “Read and Interpret Characteristic Presentation Format”, otherwise Excluded.

  • C.7: Mandatory IF GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.9: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0” OR SUM ICS 31/20 “Core v5.1”, otherwise Optional.

  • C.10: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0” OR SUM ICS 31/20 “Core v5.1”, otherwise Mandatory IF GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.11: Optional IF GATT 1a/1 “GATT Client over LE”, otherwise Excluded.

  • C.12: Optional IF GATT 3/25 “Client Supported Features Characteristic”, otherwise Excluded.

GATT Featuresđź”—

Table 3a: GAP Role Requirements for GATT Client

Prerequisite: GATT 1a/1 “GATT Client over LE”

Parameter Name

Selected

Description

TSPC_GATT_3a_1

Peripheral (O)

TSPC_GATT_3a_2

Central (O)

  • O: Optional

GATT Featuresđź”—

Table 4: Generic Attribute Profile Feature Support, by Server

Prerequisite: GATT 1/2 “Generic Attribute Profile (GATT) Server”

Parameter Name

Selected

Description

TSPC_GATT_4_1

x

Exchange MTU (C.6)

TSPC_GATT_4_2

x

Discover All Primary Services (M)

TSPC_GATT_4_3

x

Discover Primary Services by Service UUID (M)

TSPC_GATT_4_4

x

Find Included Services (M)

TSPC_GATT_4_5

x

Discover All Characteristics of a Service (M)

TSPC_GATT_4_6

x

Discover Characteristics by UUID (M)

TSPC_GATT_4_7

x

Discover All Characteristic Descriptors (M)

TSPC_GATT_4_8

x

Read Characteristic Value (M)

TSPC_GATT_4_9

x

Read Using Characteristic UUID (M)

TSPC_GATT_4_10

x

Read Long Characteristic Values (C.12)

TSPC_GATT_4_11

x

Read Multiple Characteristic Values (O)

TSPC_GATT_4_12

x

Write without Response (C.2)

TSPC_GATT_4_13

Signed Write Without Response (C.6)

TSPC_GATT_4_14

x

Write Characteristic Value (C.3)

TSPC_GATT_4_15

x

Write Long Characteristic Values (C.12)

TSPC_GATT_4_16

Characteristic Value Reliable Writes (O)

TSPC_GATT_4_17

x

Notifications (O)

TSPC_GATT_4_18

x

Indications (C.1)

TSPC_GATT_4_19

x

Read Characteristic Descriptors (C.12)

TSPC_GATT_4_20

x

Read Long Characteristic Descriptors (C.12)

TSPC_GATT_4_21

x

Write Characteristic Descriptors (C.12)

TSPC_GATT_4_22

x

Write Long Characteristic Descriptors (O)

TSPC_GATT_4_23

x

Service Changed Characteristic (C.14)

TSPC_GATT_4_24

Configured Broadcast (C.5)

TSPC_GATT_4_25

x

Execute Write Request with empty queue (C.7)

TSPC_GATT_4_26

Client Supported Features Characteristic (C.9)

TSPC_GATT_4_27

Database Hash Characteristic (C.8)

TSPC_GATT_4_28

Report Characteristic Value: Characteristic Presentation Format (O)

TSPC_GATT_4_29

Report aggregate Characteristic Value: Characteristic Aggregate Format (C.10)

TSPC_GATT_4_30

Read Multiple Variable Length Characteristic Values (C.13)

TSPC_GATT_4_31

Multiple Variable Length Notifications (C.13)

  • M: Mandatory

  • O: Optional

  • C.1: Mandatory IF GATT 4/23 “Service Changed Characteristic”, otherwise Optional.

  • C.2: Mandatory IF GATT 4/13 “Signed Write Without Response” OR GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.3: Mandatory IF GATT 4/15 “Write Long Characteristic Values” OR GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.5: Optional IF GATT 4/14 “Write Characteristic Value”, otherwise Excluded.

  • C.6: Optional IF GATT 1a/3 “GATT Server over LE”, otherwise Excluded.

  • C.7: Optional IF (SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS”) AND (GATT 4/15 “Write Long Characteristic Values” OR GATT 4/16 “Characteristic Value Reliable Writes” OR GATT 4/22 “Write Long Characteristic Descriptors”), otherwise Mandatory IF GATT 4/15 “Write Long Characteristic Values” OR GATT 4/16 “Characteristic Value Reliable Writes” OR GATT 4/22 “Write Long Characteristic Descriptors”, otherwise Excluded.

  • C.8: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0”, otherwise Optional.

  • C.9: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0”, otherwise Mandatory IF GATT 4/23 “Service Changed Characteristic” AND GATT 4/27 “Database Hash Characteristic”, otherwise Excluded.

  • C.10: Optional IF GATT 4/28 “Report Characteristic Value: Characteristic Presentation Format”, otherwise Excluded.

  • C.12: Mandatory IF GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.13: Excluded IF SUM ICS 31/17 “Core v4.2” OR SUM ICS 31/18 “Core v4.2+HS” OR SUM ICS 31/19 “Core v5.0” OR SUM ICS 31/20 “Core v5.1”, otherwise Mandatory IF GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.14: Mandatory IF service definitions on the server can be added, changed, or removed, otherwise Optional.

GATT Featuresđź”—

Table 4a: GAP Role Requirements for GATT Server

Prerequisite: GATT 1a/3 “GATT Server over LE”

Parameter Name

Selected

Description

TSPC_GATT_4a_1

Peripheral (O)

TSPC_GATT_4a_2

Central (O)

  • O: Optional

SDP requirementsđź”—

Table 6: SDP Interoperability

Prerequisite: GATT 2/1 “Unenhanced ATT bearer over BR/EDR” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”

Parameter Name

Selected

Description

TSPC_GATT_6_2

Client (C.1)

TSPC_GATT_6_3

Server (C.2)

TSPC_GATT_6_4

ProtocolDescriptorList (C.2)

TSPC_GATT_6_5

BrowseGroupList (C.2)

  • C.1: Optional IF GATT 1a/2 “GATT Client over BR/EDR”, otherwise not defined.

  • C.2: Mandatory IF GATT 1a/4 “GATT Server over BR/EDR”, otherwise not defined.

GAP requirementsđź”—

Table 7: GAP Requirements

Parameter Name

Selected

Description

TSPC_GATT_7_2

x

LE security mode 1 (C.2)

TSPC_GATT_7_3

x

LE security mode 2 (C.2)

TSPC_GATT_7_4

x

Authentication procedure (C.2)

TSPC_GATT_7_5

Connection data signing procedure (C.2)

TSPC_GATT_7_6

Authenticate signed data procedure (C.2)

TSPC_GATT_7_7

x

Authorization procedure (C.2)

  • C.2: Optional IF GATT 2/2 “Unenhanced ATT bearer over LE”, otherwise not defined.

Multiple Bearer Supportđź”—

Table 8: Multiple Simultaneous ATT Bearers

Parameter Name

Selected

Description

TSPC_GATT_8_1

Support for multiple simultaneous active ATT bearers from same device - ATT over LE and ATT over BR/EDR (C.1)

TSPC_GATT_8_2

Support for multiple simultaneous active ATT bearers from same device - ATT over LE and EATT over LE (C.2)

TSPC_GATT_8_3

Support for multiple simultaneous active ATT bearers from same device - ATT over BR/EDR and EATT over BR/EDR (C.3)

TSPC_GATT_8_4

Support for multiple simultaneous active ATT bearers from same device - ATT over LE and EATT over BR/EDR (C.4)

TSPC_GATT_8_5

Support for multiple simultaneous active ATT bearers from same device - ATT over BR/EDR and EATT over LE (C.5)

TSPC_GATT_8_6

Support for multiple simultaneous active EATT bearers from same device - EATT over BR/EDR and EATT over LE (C.6)

TSPC_GATT_8_7

Support for multiple simultaneous active EATT bearers from same device - EATT over BR/EDR (C.7)

TSPC_GATT_8_8

Support for multiple simultaneous active EATT bearers from same device - EATT over LE (C.7)

  • C.1: Optional IF GATT 2/1 “Unenhanced ATT bearer over BR/EDR” AND GATT 2/2 “Unenhanced ATT bearer over LE”, otherwise Excluded.

  • C.2: Optional IF GATT 2/2 “Unenhanced ATT bearer over LE” AND GATT 2/3a “Enhanced ATT bearer over LE”, otherwise Excluded.

  • C.3: Optional IF GATT 2/1 “Unenhanced ATT bearer over BR/EDR” AND GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Excluded.

  • C.4: Optional IF GATT 2/2 “Unenhanced ATT bearer over LE” AND GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Excluded.

  • C.5: Optional IF GATT 2/1 “Unenhanced ATT bearer over BR/EDR” AND GATT 2/3a “Enhanced ATT bearer over LE”, otherwise Excluded.

  • C.6: Optional IF GATT 2/3a “Enhanced ATT bearer over LE” AND GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Excluded.

  • C.7: Optional IF GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Excluded.

ATT requirementsđź”—

Table 9: Attribute Protocol Client Requirements

Prerequisite: GATT 1/1 “Generic Attribute Profile (GATT) Client”

Parameter Name

Selected

Description

TSPC_GATT_9_1

x

Exchange MTU Request (C.1)

TSPC_GATT_9_2

x

Find Information Request (C.2)

TSPC_GATT_9_3

x

Find by Type Value Request (C.3)

TSPC_GATT_9_4

x

Read by Type Request (C.4)

TSPC_GATT_9_5

x

Read Request (C.5)

TSPC_GATT_9_6

x

Read Blob Request (C.6)

TSPC_GATT_9_7

Read Multiple Request (C.7)

TSPC_GATT_9_8

x

Write Request (C.8)

TSPC_GATT_9_9

x

Write Command (C.9)

TSPC_GATT_9_10

Signed Write Command (C.10)

TSPC_GATT_9_11

x

Prepare Write Request (C.11)

TSPC_GATT_9_12

x

Handle Value Notification (C.12)

TSPC_GATT_9_13

x

Handle Value Indication (C.13)

TSPC_GATT_9_14

Read Multiple Variable Length Request (C.14)

TSPC_GATT_9_15

Handle Value Multiple Notification (C.15)

  • C.1: Mandatory IF GATT 3/1 “Exchange MTU”, otherwise not defined.

  • C.2: Mandatory IF GATT 3/7 “Discover All Characteristic Descriptors”, otherwise not defined.

  • C.3: Mandatory IF GATT 3/3 “Discover Primary Services by Service UUID”, otherwise not defined.

  • C.4: Mandatory IF GATT 3/9 “Read Using Characteristic UUID”, otherwise not defined.

  • C.5: Mandatory IF GATT 3/8 “Read Characteristic Value” OR GATT 3/19 “Read Characteristic Descriptors”, otherwise not defined.

  • C.6: Mandatory IF GATT 3/10 “Read Long Characteristic Values” OR GATT 3/20 “Read Long Characteristic Descriptors”, otherwise not defined.

  • C.7: Mandatory IF GATT 3/11 “Read Multiple Characteristic Values”, otherwise not defined.

  • C.8: Mandatory IF GATT 3/14 “Write Characteristic Value” OR GATT 3/21 “Write Characteristic Descriptors”, otherwise not defined.

  • C.9: Mandatory IF GATT 3/12 “Write without Response”, otherwise not defined.

  • C.10: Mandatory IF GATT 3/13 “Signed Write Without Response”, otherwise not defined.

  • C.11: Mandatory IF GATT 3/15 “Write Long Characteristic Values” OR GATT 3/16 “Characteristic Value Reliable Writes” OR GATT 3/22 “Write Long Characteristic Descriptors”, otherwise not defined.

  • C.12: Mandatory IF GATT 3/17 “Notifications”, otherwise Optional.

  • C.13: Mandatory IF GATT 3/18 “Indications”, otherwise not defined.

  • C.14: Mandatory IF GATT 3/29 “Read Multiple Variable Length Characteristic Values”, otherwise not defined.

  • C.15: Mandatory IF GATT 3/30 “Multiple Variable Length Notifications”, otherwise not defined.

ATT requirementsđź”—

Table 10: Attribute Protocol Server Requirements

Prerequisite: GATT 1/2 “Generic Attribute Profile (GATT) Server”

Parameter Name

Selected

Description

TSPC_GATT_10_1

x

Exchange MTU Request (C.1)

TSPC_GATT_10_2

x

Read Blob Request (C.2)

TSPC_GATT_10_3

Read Multiple Request (C.3)

TSPC_GATT_10_4

x

Write Request (C.4)

TSPC_GATT_10_5

x

Write Command (C.5)

TSPC_GATT_10_6

Signed Write Command (C.6)

TSPC_GATT_10_7

x

Prepare Write Request (C.7)

TSPC_GATT_10_8

x

Handle Value Notification (C.8)

TSPC_GATT_10_9

x

Handle Value Indication (C.9)

TSPC_GATT_10_10

Execute Write Request with no pending prepared write values (C.10)

TSPC_GATT_10_11

Read Multiple Variable Length Request (C.11)

TSPC_GATT_10_12

Handle Value Multiple Notification (C.12)

  • C.1: Mandatory IF GATT 4/1 “Exchange MTU”, otherwise not defined.

  • C.2: Mandatory IF GATT 4/10 “Read Long Characteristic Values”, otherwise not defined.

  • C.3: Mandatory IF GATT 4/11 “Read Multiple Characteristic Values”, otherwise Optional.

  • C.4: Mandatory IF GATT 4/14 “Write Characteristic Value” OR GATT 4/21 “Write Characteristic Descriptors”, otherwise Optional.

  • C.5: Mandatory IF GATT 4/12 “Write without Response”, otherwise Optional.

  • C.6: Mandatory IF GATT 4/13 “Signed Write Without Response”, otherwise Optional.

  • C.7: Mandatory IF GATT 4/15 “Write Long Characteristic Values” OR GATT 4/16 “Characteristic Value Reliable Writes” OR GATT 4/22 “Write Long Characteristic Descriptors” OR GATT 2/3a “Enhanced ATT bearer over LE” OR GATT 2/3b “Enhanced ATT bearer over BR/EDR”, otherwise Optional.

  • C.8: Mandatory IF GATT 4/17 “Notifications”, otherwise Optional.

  • C.9: Mandatory IF GATT 4/18 “Indications”, otherwise Optional.

  • C.10: Mandatory IF GATT 4/25 “Execute Write Request with empty queue” AND SUM ICS 31/19 “Core v5.0”, otherwise Optional.

  • C.11: Mandatory IF GATT 4/30 “Read Multiple Variable Length Characteristic Values”, otherwise Optional.

  • C.12: Mandatory IF GATT 4/31 “Multiple Variable Length Notifications”, otherwise Optional.