nrf9160 SMS gets stuck with 'performing re-registration' while using the SMS to configure the IOT device

Hello team,

We have a problem here, we are running a new program with 5 years long-term standby IOT device, once we are trying to use SMS to configure the IOT device we found sometimes SMS gets stuck while nrf9160 was sending message back to end users. Then we retested with the SMS sample with both sdk 2.7.0 & sdk 2.8.99 with the latest mdmfw 1.3.7, we still found similar abnormal. 

For sdk 2.7.0, the first 4x round SMS in/out runs well, then we miss the following 5th and 6th, once we try the 7th round it succeeds and retrieve the lost 5th/6th message at the same time (minor issue), then the SMS sample got stuck with 'performing re-registration' (critical issue). 

*** Booting nRF Connect SDK v2.7.0-5cb85570ca43 ***
*** Using Zephyr OS v3.6.99-100befc70c74 ***

SMS sample starting
[00:00:00.586,914] <inf> nrf_modem_lib_trace: Trace thread ready
[00:00:00.594,421] <inf> nrf_modem_lib_trace: Trace level override: 2
> at AT
> AT+CEREG?
*** Booting nRF Connect SDK v2.7.0-5cb85570ca43 ***
*** Using Zephyr OS v3.6.99-100befc70c74 ***

SMS sample starting
[00:00:00.499,908] <inf> nrf_modem_lib_trace: Trace thread ready
[00:00:00.507,385] <inf> nrf_modem_lib_trace: Trace level override: 2
SMS sample is ready for receiving messages
Sending SMS: number=1064899161827, text="SMS sample: testing"
[00:01:23.593,322] <inf> sms: [ACK] in
[00:01:23.593,597] <inf> sms: [ACK] out
[00:01:23.593,597] <inf> sms: [SMS] in
SMS status report received
[00:01:23.593,658] <inf> sms: [SMS] out
[00:03:10.388,458] <inf> sms: [ACK] in
[00:03:10.388,671] <inf> sms: [ACK] out
[00:03:10.388,702] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:30:49
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,1'
        Length: 35
        From:   1064899161827
record = 0x200181a8
[00:03:10.388,946] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8send sms [SMS sample: testing] to 1064899161827, err 0
[00:03:12.549,804] <inf> sms: [ACK] in
[00:03:12.550,109] <inf> sms: [ACK] out
[00:03:12.550,140] <inf> sms: [SMS] in
SMS status report received
[00:03:12.550,201] <inf> sms: [SMS] out
[00:04:24.806,854] <inf> sms: [ACK] in
[00:04:24.807,128] <inf> sms: [ACK] out
[00:04:24.807,159] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:31:43
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,2'
        Length: 35
        From:   1064899161827
record = 0x200181a8
[00:04:24.807,434] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8send sms [SMS sample: testing] to 1064899161827, err 0
[00:04:26.786,254] <inf> sms: [ACK] in
[00:04:26.786,560] <inf> sms: [ACK] out
[00:04:26.786,590] <inf> sms: [SMS] in
SMS status report received
[00:04:26.786,621] <inf> sms: [SMS] out
[00:05:46.917,541] <inf> sms: [ACK] in
[00:05:46.917,785] <inf> sms: [ACK] out
[00:05:46.917,816] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:33:04
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,3'
        Length: 35
        From:   1064899161827
record = 0x200181a8
[00:05:46.918,060] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8send sms [SMS sample: testing] to 1064899161827, err 0
[00:05:48.551,940] <inf> sms: [ACK] in
[00:05:48.552,215] <inf> sms: [ACK] out
[00:05:48.552,246] <inf> sms: [SMS] in
SMS status report received
[00:05:48.552,276] <inf> sms: [SMS] out
[00:07:08.620,239] <inf> sms: [ACK] in
[00:07:08.620,483] <inf> sms: [ACK] out
[00:07:08.620,483] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:34:25
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,4'
        Length: 35
        From:   1064899161827
record = 0x200181a8
[00:07:08.620,758] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8send sms [SMS sample: testing] to 1064899161827, err 0
[00:07:10.759,582] <inf> sms: [ACK] in
[00:07:10.759,887] <inf> sms: [ACK] out
[00:07:10.759,918] <inf> sms: [SMS] in
SMS status report received
[00:07:10.759,979] <inf> sms: [SMS] out
[00:15:29.848,663] <inf> sms: [ACK] in
[00:15:29.848,907] <inf> sms: [ACK] out
[00:15:29.848,907] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:43:29
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,7'
        Length: 36
        From:   1064899161827
record = 0x200181a8
[00:15:29.849,182] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8send sms [SMS sample: testing] to 1064899161827, err 0
[00:15:31.228,698] <inf> sms: [ACK] in
[00:15:31.228,912] <inf> sms: [ACK] out
[00:15:31.228,942] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:39:27
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,6'
        Length: 35
        From:   1064899161827
record = 0x200181a8
[00:15:31.229,187] <inf> sms: [SMS] out
[00:15:31.872,070] <inf> sms: [ACK] in
[00:15:31.872,314] <inf> sms: [ACK] out
[00:15:31.872,344] <inf> sms: [SMS] in
SMS status report received
[00:15:31.872,375] <inf> sms: [SMS] out
sms_rsp_handler: record = 0x200181a8[00:15:32.606,781] <inf> sms: [ACK] in
[00:15:32.606,811] <inf> sms: [ACK] out
[00:15:32.606,811] <inf> sms: [SMS] in

SMS received:
        Time:   25-06-25 17:42:02
        Text:   'edrx,ncs2.7-mfm1.3.7,SMS received,5'
        Length: 35
        From:   1064899161827
record = 0x200181e0[00:15:32.607,116] <inf> sms: [SMS] out
[00:15:33.606,872] <inf> sms: [ACK] in //issue happened
[00:15:33.606,903] <inf> sms: [ACK] out
[00:15:34.607,025] <inf> sms: [ACK] in
[00:15:34.607,086] <inf> sms: [ACK] out
[00:15:35.607,147] <inf> sms: [ACK] in
[00:15:35.607,177] <inf> sms: [ACK] out
[00:15:36.607,299] <inf> sms: [ACK] in
[00:15:36.607,360] <inf> sms: [ACK] out
[00:15:37.607,421] <inf> sms: [ACK] in
[00:15:37.607,452] <inf> sms: [ACK] out
[00:15:38.607,574] <inf> sms: [ACK] in
[00:15:38.607,635] <inf> sms: [ACK] out
[00:15:39.607,696] <inf> sms: [ACK] in
[00:15:39.607,727] <inf> sms: [ACK] out
[00:15:40.607,849] <inf> sms: [ACK] in
[00:15:40.607,910] <inf> sms: [ACK] out
[00:15:41.607,971] <inf> sms: [ACK] in
[00:15:41.608,001] <inf> sms: [ACK] out
[00:15:42.608,123] <inf> sms: [ACK] in
[00:15:42.608,184] <inf> sms: [ACK] out
[00:15:43.608,245] <inf> sms: [ACK] in
[00:15:43.608,276] <inf> sms: [ACK] out
[00:15:44.608,398] <inf> sms: [ACK] in
[00:15:44.608,459] <inf> sms: [ACK] out
[00:15:45.608,520] <inf> sms: [ACK] in
[00:15:45.608,551] <inf> sms: [ACK] out
[00:15:46.608,673] <inf> sms: [ACK] in
[00:15:46.608,734] <inf> sms: [ACK] out
[00:15:47.608,795] <inf> sms: [ACK] in
[00:15:47.608,856] <inf> sms: [ACK] out
[00:15:48.395,355] <inf> sms: [CMS] in
[00:15:48.395,385] <wrn> sms: Modem unregistered the SMS client, performing re-registration //issue happened

For sdk 2.8.99, the first 9x round SMS in/out runs well, then the SMS sample suddently gets stuck with 'performing re-registration'(critical issue). 

*** Booting nRF Connect SDK v2.8.99-14d73e312172 ***
*** Using Zephyr OS v3.7.99-15ffa301b329 ***

SMS sample starting
[00:00:00.573,852] <inf> nrf_modem_lib_trace: Trace thread ready
[00:00:00.581,390] <inf> nrf_modem_lib_trace: Trace level override: 2
SMS sample is ready for receiving messages
Sending SMS: number=1064899161827, text="SMS sample: testing"
SMS status report received

SMS received:
        Time:   25-06-25 17:50:52
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,1'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 17:52:34
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,2'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 17:53:55
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,3'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 17:55:09
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,4'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 18:00:35
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,5'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 18:01:51
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,6'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 18:01:59
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,7'
        Length: 35
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0send sms [SMS sample: testing] to 1064899161827, err 0SMS status report received

SMS received:
        Time:   25-06-25 18:04:12
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,8'
        Length: 36
        From:   1064899161827
record = 0x200182f0sms_rsp_handler: record = 0x200182f0
SMS received:
        Time:   25-06-25 18:10:50
        Text:   'edrx,ncs2.8-mfm1.3.7,SMS received,9'
        Length: 36
        From:   1064899161827
record = 0x20018328[00:22:38.619,628] <wrn> sms: Modem unregistered the SMS client, performing re-registration //issue happened

Here is my setup:

SDK : both sdk 2.7.0 & sdk 2.8.99 

mdmfw: 1.3.7

Hardware: nrf9160DK with China Mobile NBIOT SIM Card

Also attached the modem trace for both. Please help to check what proble is. Thanks

2806.trace-2025-06-25T09-49-01.798Z-sms_test-edrx82_ncs2.8-SMS sample got stuck.mtrace

3463.trace-2025-06-25T09-27-04.940Z-sms_test-edrx82_ncs2.7-SMS sample got stuck.mtrace

Related