1# SMP over Bluetooth 2 3This document specifies how the mcumgr Simple Management Procotol (SMP) is 4transmitted over Bluetooth. 5 6## Overview 7 8All SMP communication utilizes a single GATT characteristic. An SMP request is 9sent in the form of either 1) a GATT Write Command, or 2) a GATT Write Without 10Response command. An SMP response is sent in the form of a GATT Notification 11specifying the same characteristic that was written. 12 13If an SMP request or response is too large to fit in a single GATT command, the 14sender fragments it across several commands. No additional framing is 15introduced when a request or response is fragmented; the payload is simply 16split among several commands. Since Bluetooth guarantees ordered delivery of 17packets, the SMP header in the first fragment contains sufficient information 18for reassembly. 19 20## Services 21 22### SMP service 23 24UUID: `8D53DC1D-1DB7-4CD3-868B-8A527460AA84` 25 26### Characteristics 27 28#### SMP Characteristic 29 30| Field | Value | 31| ----- | ----------------------------------------------------------------- | 32| Name | SMP | 33| Description | Used for both SMP requests and responses. | 34| Read | Excluded | 35| Write | Mandatory | 36| WriteWithoutResponse | Mandatory | 37| SignedWrite | Excluded | 38| Notify | Mandatory | 39| Indicate | Excluded | 40| WritableAuxiliaries | Excluded | 41| Broadcast | Excluded | 42| ExtendedProperties | | 43 44As indicated, SMP requests can be sent in the form of either a Write or a Write 45Without Response. The Write Without Response form is generally preferred, as 46an application-layer response is always sent in the form of a Notification. 47The regular Write form is accepted in case the client requires a GATT response 48to initiate pairing. 49 50Security for this characteristic is optional. 51