BG95-M3 server unreachable when idle on NB-IoT

We run our modules as a server. We use M66, M95, EG91 and now we’re trying the BG95.

It’s 80% reliable but not perfect on GSM. On NB-IoT I’ve found it’s fine if we constantly keep it active and it reports csq:31

Then if we let it idle for 20s perhaps(?) the signal strength drops to about 10 and we can’t contact it as a server. It can do a http request the second time we attempt it with it reporting CME: 703 the first time. So it looks like it goes asleep.

However, as far as I can see it is set to stay active:

+QPSMS: 0,“0”,“0”

+CPSMS: 0,“01100000”,“00000000”

I think I’m missing something. Can anyone help?

Thanks

After spending more time on this it looks like it is the case that the cell id changes

+CEREG: 5,“E40B”,“6D715”,9,“00000000”,“01100000”

+CEREG: 5,“E40B”,“1D01F”,9,“00000000”,“01100000”

…at which point the server is no longer reachable… unless we de-attach, re-attach and restart the server

at+cgatt=0
+QIURC: “pdpdeact”,1

+CEREG: 0,“00000000”,“01100000”
at+cgatt=1

AT+QIOPEN=1,2,“TCP LISTENER”,“127.0.0.1”,0,80,0

+QIOPEN: 2,0

+QIURC: “incoming”,11,2,“10.65.8.13”,63948

+QIURC: “recv”,11

And no this is not the case. It just disappears sometimes even in the same cell.

20 seconds is quite common value for RRC inactivity timer, but you state that PSM is disabled. Have you tried to enable +QCSCON messages using AT+QCSCON=1? This way you can see if the module is connected or idle. Or check by yourself by AT+QCSCON?. Maybe you have eDRX enabled? What does AT+CEDRXS? give you?