attach() diagnosis?

since my Gpys application has found friends in several countries, I frequently run into connection issues.

When dealing with a new NB-IoT provider my debug sessions usually start with a fruitless attach() attempt. The next hours I typically crawl the web in search for mystical, barely documented modem commands.

My main question is:
is there any "standard" (or at least proven) approach to debug attach() problems?
Can I get any information from the modem chip to see what actually is going on?

For example: how do I recognize deactivated SIM cards? How do I detect a blacklisted (or non-whitelisted) modem chipset?