Per Bluetooth Core 4.1, the client characteristic configuration is persistent across a disconnection and reconnection, however this does not seem to be the case with TI Stack v2.0. For example, after writing 0x0001 to a server notification CCC to enable notification, I did a disconnect and reconnect. After reconnecting, the server notification CCC is back to 0x0000 (notification disabled). Is this a bug? Perhaps I'm not understanding the Core specification correctly. Below is a snippet from the Core specification:
10.3.1.1 Handling of GATT Indications and Notifications
A client “requests” a server to send indications and notifications by appropriately configuring the server via a Client Characteristic Configuration Descriptor. Since the configuration is persistent across a disconnection and reconnection, security requirements must be checked upon a reconnection before sending indications or notifications.