|
|
SMS Server Tools 3 Community |
Welcome, Guest. The forum is currently read-only, but will open soon. |
Fri Mar 14, 2025 12:05 |
Page: 1
Keywords: Mode: All keywords (AND) |
Tue Sep 12, 2017 08:03
|
zvirus: I've modified the sources and introduced an additional parameter secondary_memory_start.
The final configuration for ZTE (MF628, MF100 tested)
start = ATE0+CPMS="SR","ME","SR"
check_memory_method = 1
primary_memory = SR
memory_start = 50
secondary_memory = ME
secondary_memory_start = 0
The result is no delay and error in reading status and sending messages
I've modified smsd_cfg.h
typedef struct
{
...
+ int second_read_memory_start; // second read memory space for sms
...
}
I've modified smsd_cfg.c
void initcfg_device(int i)
{
...
devices.second_read_memory_start = -1;
...
}
and included the treatment of this parameter in the smsd.c for // Dual-memory handler:
... //3858
found=0;
if (used_memory>0)
{
if (max_memory == 0 && memories == 1)
max_memory = DEVICE.secondary_memory_max;
if (!value_in(DEVICE.check_memory_method, 6, CM_CMGD, CM_CMGL, CM_CMGL_DEL_LAST, CM_CMGL_CHECK, CM_CMGL_DEL_LAST_CHECK, CM_CMGL_SIMCOM))
{
if(memories == 0)
{
sim = (DEVICE.read_memory_start == -1)? 1 : DEVICE.read_memory_start;
}
else
{
sim = (DEVICE.second_read_memory_start == -1)? 1 : DEVICE.second_read_memory_start;
}
}
for (;;)
{
if (!(*delete_list))
if (terminate == 1)
break;
if (value_in(DEVICE.check_memory_method, 6, CM_CMGD, CM_CMGL, CM_CMGL_DEL_LAST, CM_CMGL_CHECK, CM_CMGL_DEL_LAST_CHECK, CM_CMGL_SIMCOM))
{
if (!(*memory_list))
break;
sim = atoi(memory_list);
if ((p = strchr(memory_list, ',')))
strcpyo(memory_list, p +1);
else
*memory_list = 0;
}
else
{
int i = (DEVICE.read_memory_start == -1)? 1 : DEVICE.read_memory_start;
if(memories == 1)
{
i = (DEVICE.second_read_memory_start == -1)? 1 : DEVICE.second_read_memory_start;
}
if (sim > i + max_memory - 1)
break;
}
....
This is not the best option but I don't know the programming language in which is written the source code :) the Author can make this moment much better.
|
Fri Sep 01, 2017 13:48
|
zvirus: When you work with a ZTE modem and want to receive and SMS and the delivery Reports you face a specific problem.
Have ZTE modems, all incoming SMS are stored in memory SM, and reports are stored in the memory of SR
memory modems. As modems got memory ME, MT.
AT+CMGD method only works for SM, ME, MT. SR only works for CPMS.
start = ATE+CPMS="SM","SR","ME"
check_memory_method = 1
To receive the reports for FREE you need to go through the memory of the SR method with CPMS. But the fact that +CPMS: "SM",0,20,"SR",0,100,"ME",0,100 in reality look like
SM has indexes 0-19
ME has indexes 0-49
SR has indexes 50-99
If you set
primary_memory = SR
secondary_memory = SM
When memory_start = 50 will not be able to read incoming SMS.
When memory_start = 0 delivery reports are checked for too long (about 6-8 seconds is too much non-existent cells).
Offer variant:
1)
primary_memory = SR
memory_start = 50
memory_end = 99
secondary_memory = SM
secondary_memory_start = 0
secondary_memory_end = 49
2)
primary_memory = SR
memory_start = 50
memory_end = 99
check_memory_method = 1
secondary_memory = SM
secondary_memory_start = 0
secondary_memory_end = 49
secondary_check_memory_method = 2
3)
memory = SR
memory_start = 50
memory_end = 99
check_memory_method = 1
memory = SM
memory_start = 0
memory_end = 50
check_memory_method = 1
memory = ME
check_memory_method = 2
|
Tue Feb 28, 2017 15:12
|
zvirus: FROM log file
SIM 1
2017-02-28 16:55:41.671,2, H21P01: Modem handler 0 terminated. PID: 28407, was started 17-02-28 11:06:03, up 5:49.
2017-02-28 16:59:17.283,5, H21P01: Modem handler 0 has started. PID: 8347.
2017-02-28 16:59:17.283,5, H21P01: Serving queues: H21P01
2017-02-28 16:59:17.284,5, H21P01: Using check_memory_method 2: CMGD is used.
2017-02-28 16:59:21.135,5, H21P01: IMEI: 862454569327252
2017-02-28 16:59:21.255,5, H21P01: IMSI: *********034335
2017-02-28 16:59:49.415,5, H21P01: Suspend started. reload
replace SIM card to SIM 2
2017-02-28 17:00:59.427,5, H21P01: Suspend ended.
2017-02-28 17:01:03.153,5, H21P01: IMEI: 862454569327252
2017-02-28 17:01:03.274,5, H21P01: IMSI: *********769237
2017-02-28 17:01:57.686,5, H21P01: SMS sent, Message_id: 4, To: ******798031, sending time 9 sec.
2017-02-28 17:03:45.916,5, H21P01: Suspend started. reload
back again SIM 1
2017-02-28 17:04:45.926,5, H21P01: Suspend ended.
2017-02-28 17:04:54.652,5, H21P01: IMEI: 862454569327252
2017-02-28 17:04:54.773,5, H21P01: IMSI: *********034335
|
Tue Feb 28, 2017 15:06
|
zvirus: all is working well. Thank you.
|
Mon Feb 27, 2017 20:23
|
zvirus: I tried this version of the program. Not comfortable displaying messages IMSI in the log with level 5. No need to display it in the log always. Only 1 time upon awakening. Smstools is important to read and remember the new IMSI when the modem returns to sleep mode.
Log on 3.1.16
2017-02-27 10:06:51.988,5, H21P01: SMS received (report, Message_id: 185, Status: 0,Ok,short message received by the SME), From: xxxxx2924328
2017-02-27 10:07:01.162,5, H21P01: SMS sent, Message_id: 199, To: xxxxx6648536, sending time 4 sec.
2017-02-27 10:07:13.660,5, H21P01: SMS received (report, Message_id: 199, Status: 0,Ok,short message received by the SME), From: xxxxx6648536
2017-02-27 10:09:19.728,5, H21P01: SMS received (report, Message_id: 171, Status: 0,Ok,short message received by the SME), From: xxxxx2465318
2017-02-27 10:13:25.328,5, H21P01: SMS received (report, Message_id: 183, Status: 0,Ok,short message received by the SME), From: xxxxx4573173
2017-02-27 10:17:02.749,2, H21P01: Modem handler 0 terminated. PID: 21570, was started 17-02-27 10:04:08, up 12 min.
2017-02-27 10:17:05.475,5, H21P01: Modem handler 0 has started. PID: 28425.
2017-02-27 10:17:05.485,5, H21P01: Serving queues: H21P01
2017-02-27 10:17:05.485,5, H21P01: Using check_memory_method 2: CMGD is used.
2017-02-27 10:17:09.333,5, H21P01: IMEI: 862454569327252
2017-02-27 10:17:09.454,5, H21P01: IMSI: *********034335
2017-02-27 10:35:32.998,5, H21P01: SMS received (report, Message_id: 182, Status: 0,Ok,short message received by the SME), From: xxxxx3100004
2017-02-27 12:07:51.668,5, H21P01: SMS received (report, Message_id: 195, Status: 0,Ok,short message received by the SME), From: xxxxx3302343
2017-02-27 14:14:58.089,5, H21P01: SMS received (report, Message_id: 139, Status: 0,Ok,short message received by the SME), From: xxxxx5030074
2017-02-27 18:35:17.298,5, H21P01: SMS received (report, Message_id: 60, Status: 67,Error,not obtainable), From: xxxxx0061343
2017-02-27 19:01:21.732,5, H21P01: SMS received (report, Message_id: 99, Status: 67,Error,not obtainable), From: xxxxx9555083
2017-02-27 19:03:16.381,5, H21P01: SMS received (report, Message_id: 104, Status: 67,Error,not obtainable), From: xxxxx7611181
2017-02-27 19:07:50.198,5, H21P01: SMS received (report, Message_id: 128, Status: 67,Error,not obtainable), From: xxxxx6220060
2017-02-27 21:39:56.136,5, H21P01: SMS received (report, Message_id: 86, Status: 70,Error,SM validity period expired), From: xxxxx7293181
2017-02-27 21:49:57.830,2, H21P01: Modem handler 0 terminated. PID: 28425, was started 17-02-27 10:17:05, up 11:32.
log on 3.1.18-rc1
2017-02-27 21:56:00.367,5, H21P01: Modem handler 0 has started. PID: 10265.
2017-02-27 21:56:00.368,5, H21P01: Serving queues: H21P01
2017-02-27 21:56:00.368,5, H21P01: Using check_memory_method 2: CMGD is used.
2017-02-27 21:56:04.223,5, H21P01: IMEI: 862454024327252
2017-02-27 21:56:04.344,5, H21P01: IMSI: *********034335
2017-02-27 21:56:10.351,5, H21P01: IMSI: *********034335
2017-02-27 21:56:16.157,5, H21P01: IMSI: *********034335
2017-02-27 21:56:21.963,5, H21P01: IMSI: *********034335
2017-02-27 21:56:27.750,5, H21P01: IMSI: *********034335
2017-02-27 21:56:33.540,5, H21P01: IMSI: *********034335
2017-02-27 21:56:39.347,5, H21P01: IMSI: *********034335
2017-02-27 21:56:45.134,5, H21P01: IMSI: *********034335
2017-02-27 21:56:50.940,5, H21P01: IMSI: *********034335
2017-02-27 21:56:56.747,5, H21P01: IMSI: *********034335
2017-02-27 21:57:02.536,5, H21P01: IMSI: *********034335
2017-02-27 21:57:08.342,5, H21P01: IMSI: *********034335
2017-02-27 21:57:14.148,5, H21P01: IMSI: *********034335
2017-02-27 22:00:43.136,5, H21P01: IMSI: *********034335
2017-02-27 22:00:43.539,5, H21P01: SMS received (report, Message_id: 129, Status: 70,Error,SM validity period expired), From: xxxxx6220060
2017-02-27 22:00:49.905,5, H21P01: IMSI: *********034335
2017-02-27 22:00:55.711,5, H21P01: IMSI: *********034335
2017-02-27 22:01:01.517,5, H21P01: IMSI: *********034335
2017-02-27 22:01:01.922,5, H21P01: SMS received (report, Message_id: 130, Status: 70,Error,SM validity period expired), From: xxxxx6220060
2017-02-27 22:01:08.563,5, H21P01: IMSI: *********034335
2017-02-27 22:01:14.369,5, H21P01: IMSI: *********034335
2017-02-27 22:01:20.175,5, H21P01: IMSI: *********034335
2017-02-27 22:01:20.392,5, H21P01: Suspend started. reload
2017-02-27 22:01:55.398,5, H21P01: Suspend ended.
2017-02-27 22:02:04.125,5, H21P01: IMSI: *********034335
2017-02-27 22:02:04.548,5, H21P01: SMS received (report, Message_id: 150, Status: 70,Error,SM validity period expired), From: xxxxx1633033
2017-02-27 22:02:10.913,5, H21P01: IMSI: *********034335
2017-02-27 22:02:16.719,5, H21P01: IMSI: *********034335
2017-02-27 22:02:22.525,5, H21P01: IMSI: *********034335
2017-02-27 22:02:28.332,5, H21P01: IMSI: *********034335
2017-02-27 22:02:34.138,5, H21P01: IMSI: *********034335
2017-02-27 22:02:39.944,5, H21P01: IMSI: *********034335
2017-02-27 22:02:45.750,5, H21P01: IMSI: *********034335
2017-02-27 22:02:51.556,5, H21P01: IMSI: *********034335
2017-02-27 22:02:57.382,5, H21P01: IMSI: *********034335
2017-02-27 22:03:03.188,5, H21P01: IMSI: *********034335
2017-02-27 22:03:08.994,5, H21P01: IMSI: *********034335
2017-02-27 22:03:14.800,5, H21P01: IMSI: *********034335
to many spam IMSI: *********034335 message
a good log should look like this
2017-02-27 21:56:00.367,5, H21P01: Modem handler 0 has started. PID: 10265.
2017-02-27 21:56:00.368,5, H21P01: Serving queues: H21P01
2017-02-27 21:56:00.368,5, H21P01: Using check_memory_method 2: CMGD is used.
2017-02-27 21:56:04.223,5, H21P01: IMEI: 862454024327252
2017-02-27 21:56:04.344,5, H21P01: IMSI: *********034335
2017-02-27 22:00:43.539,5, H21P01: SMS received (report, Message_id: 129, Status: 70,Error,SM validity period expired), From: xxxxx6220060
2017-02-27 22:01:01.922,5, H21P01: SMS received (report, Message_id: 130, Status: 70,Error,SM validity period expired), From: xxxxx6220060
2017-02-27 22:01:20.392,5, H21P01: Suspend started. reload
2017-02-27 22:01:55.398,5, H21P01: Suspend ended.
2017-02-27 22:02:04.125,5, H21P01: IMEI: 862454024327252
2017-02-27 22:02:04.126,5, H21P01: IMSI: *********034335
2017-02-27 22:02:04.548,5, H21P01: SMS received (report, Message_id: 150, Status: 70,Error,SM validity period expired), From: xxxxx1633033
2017-02-27 22:06:21.005,5, H21P01: SMS received (report, Message_id: 192, Status: 70,Error,SM validity period expired), From: xxxxx3159205
|
Sat Feb 25, 2017 21:12
|
zvirus: Sorry for my English. I use a program for sending SMS. To one computer I have connected more than 100 modems.
When I want to replace the SIM card on the same modem, I'm sending the device to suspend, change SIM card and wakeup the device again.
The modem receives a new command initialization and continues to run, but he gives IMSI of the old SIM card.
AT+CIMI return current IMSI but new files sent/report/incoming is still IMSI of the old SIM card. To get a new IMSI I need to do a restart of the whole service. This no problem for 1-5 modems. At 100+ modems it takes a lot of time on all devices, and causing long delays when sending large number of SMS. Good to have a configurable option - wakeup_read_imsi for this.
Thank you.
|
Page: 1
Time in this board is UTC.
|
|
|
 |
|
 |
|