I would like to share a small web tool to help you in T3412, T3324 - PSM - at+cpsms command generation and especially decoding.
As you might have recognized the mobile network is the master - has the last word regarding your PSM timer settings for your application. The device sends a PSM setting request via at+cpsms (in attach request and/or TAU) and the network will reply in the related accept message (reflected in at+cereg=4/at+cereg? output or URC) with the ‘granted’ value.
One reason for this is to prevent overload situations in the network if e.g. 10000 smart meters wake up from PSM at the same time in the same cell.
Using the sliders on this page you can change your desired T3412 and T3324 values and copy the at+cpsms from the shown table.
In the buttom section you can enter the at+cpsms? command output as well as the at+cereg? output (after setting at+cereg=4) to get the values decoded. These are the value the network will finally use and your NB-Iot or CatM module has to use.
I hope it will help you a little bit.