While trying to read the 41 (or more) bytes length character string attribute from the device based on nRF Thread and Zigbee SDK v3.1.0 by the read attribute Zigbee command, the “Failure” status returned instead of actual string. The strings with the 40 bytes (or less) length can be read successfully.
According to the ZCL specification, the first octet of the character string defines the length of the string, and the single restriction, that it should not be equal to 0xff, giving the 254-bytes length string.
From another point of view, as I was told here, the 3.1.0 SDK does not support APS fragmentation, and this is the reason, why we cannot use the 254-bytes character string. However, as the rest fields in the single package is equal to 56 bytes for our case, the max string size is expected of 64 symbols (72 bytes ZCL payload).
It seems that the ZCL payload is locked for the 48 bytes in the SDK. Is this right guess, and is it possible to increase the ZCL payload up to 72 bytes?