I coded following
BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(&cccd_md.read_perm);
BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(&cccd_md.write_perm);
char_md.char_props.notify = 1;
char_md.p_cccd_md = &cccd;
and deleted everything that check m_nus.is_notification_enabled.
Then notification operation works well.
Is the cccd just one of attributes?
Is enabling or disabling notification done manually by checking m_nus.is_notification_enabled(reflected cccd value)?