Ниже часть протокола работы ПО. В левой колонке секунды. С телефона была отправлена одна SMS единственный раз. С точки зрения SIM900B она ему приходила много раз, он каждый раз отвечал, удалял SMS из памяти, и через несколько секунд SMS опять приходила (+CMTI сообщение)... и так в цикле. Пока не догадались выключить питание. По тексту видно, что приходило абсолютно одинаковое PDU каждый раз.
Кажется, это ошибка в SIM900B, версия ПО модема: 14.18: modem: command 'ATI+CGMM;+CGMR;+CGSN;+CSDT=0;+CFUN=1;+CREG=2;+COPS=3,2;+CGREG=2' 14.25: modem: answer 'SIM900 R11.0' 14.25: modem: answer 'SIMCOM_SIM900B' 14.25: modem: answer 'Revision:1137B08SIM900B32_ST' 14.25: modem: answer '353451047604986' 14.28: modem: answer 'OK'
Если не ошибка в ПО модема, то что это может быть? Это же очень неприятные вопросы потом, "а почему он отправил 10000 SMS на 100000 рублей?"
Поскольку SMS одинаковые, а таймштамп проставляется SMSC, а не оправителем, то нельзя сказать же, что виноват отправитель (можно предположить, что телефон отправлял SMS в цикле -- но это не так, что проверено, кроме того, установкой SIM из прибора в обычный телефон -- ничего больше не пришло). Кроме того, в момент циклического приёма и отправки SMS на телефон, с которого оригинальный запрос был отправлен единожды, приходили отчёты о доставке многократно (но сложно точно сказать, потому, что смартфон их отображал многократными всплывающими сообщениями "доставлено").
Что можно сделать для защиты: видимо, запоминать параметры последней принятой SMS (таймштамп и номер) и не обрабатывать входящие SMS с такими же данными. Но это, очевидно, полумера.
Часть протокола работы ПО управляющего модемом в момент зацикливания:
591.15: modem: answer '+CMTI: "SM",1' 591.31: modem: command 'AT+CMGL=0' 591.65: modem: answer '+CMGL: 1,0,"",29' 591.68: modem: answer '07919711029049F3240B919711825199F80000212030214390610B30180C061ABFDDE6F419' 592.62: modem: answer 'OK' 592.68: sms_send: sending sms 154: 0051000B919711825199F80000A9A0050003020301A0C8A7B3D86BB15AAC96021A742687BD16ABA5 800A9FCF65AFC56AB15AAC16ABA5980A9FCF656F75A3E56A36D9EC86CBC958AB1B2D57BBD16E30984 CC65ADD68B95C8C76CBC16033568BD562AD6EB45CCD66ABC56CB61A0B66CBDD58AB1B2D5793C970B1 5BEEA69816A5D6A2B4979BB962379A2B06B3B972325DAC668BE5588A6976CA7C1E7B 592.68: modem: command+data 'AT+CMGS=154' 596.71: modem: answer '+CMGS: 221' 596.71: modem: answer 'OK' 596.71: sms_send: sending sms 154: 0051000B919711825199F80000A9A00500030203027030978C6673C96A31972C86D3D5623410F379 6416AD45660FA6A06A7BCDE952617D327B31188C1583C140CDE4B027B3B168305071887CF66EAC1A2 BA63842A74166514AEDC114C7E253FB74167BB59C2B77BBC15833986B66A3D158B026680A2D16893D 9822381C1699BD1C08141C0E7BB1982B070381864FA9B4D78AB1563045F2E8ECC140 596.75: modem: command+data 'AT+CMGS=154' 602.40: modem: answer ' ' 602.40: modem: unsol. msg: 602.40: modem: answer '+CMGS: 222' 602.40: modem: answer 'OK' 602.43: sms_send: sending sms 108: 0051000B919711825199F80000A96B05000302030340C4E753DA9BB1600A21F3395CF660A06190C9 140687CB1E4C212D3283D9DE8C1583818A5862D1DA83B166301D0C069A169DD3A7B497535487C8A01 3D68BC9582B568C25035587C8A033D6BBB15AA0EA101974CA7A38560B 602.43: modem: command+data 'AT+CMGS=108' 606.40: modem: answer '+CMGS: 223' 606.40: modem: answer 'OK' 606.40: modem: command 'AT+CMGD=1' 606.59: modem: answer 'OK' 606.59: modem: command 'AT+CMGL=0' 606.62: modem: answer 'OK' 606.65: modem: command 'AT+CMGL=1' 606.68: modem: answer 'OK' 609.50: modem: command 'AT+CCLK?' 609.53: modem: answer '+CCLK: "12/02/03,08:34:29+00"' 609.53: modem: answer 'OK' 624.56: modem: command 'AT+CRSM=242' 624.68: modem: answer '+CRSM: 144,0,"00001E3A3F000100FFFFFF00151B04150400838A838A000000000000000000000000"' 624.68: modem: answer 'OK' 624.68: modem: command 'AT+CREG?;+COPS?;+CSQ' 624.75: modem: answer '+CREG: 2,1,"4CE0","12F5"' 624.75: modem: answer '+COPS: 0,2,"25020"' 624.75: modem: answer '+CSQ: 18,0' 624.75: modem: answer 'OK' 629.43: modem: answer '+CMTI: "SM",1' 629.59: modem: command 'AT+CMGL=0' 629.96: modem: answer '+CMGL: 1,0,"",29' 629.96: modem: answer '07919711029049F3240B919711825199F80000212030214364610B30180C061ABFDDE6F419' 630.84: modem: answer 'OK' 630.90: sms_send: sending sms 154: 0051000B919711825199F80000A9A0050003030301A0C8A7B3D86BB15AAC96021A742687BD16ABA5 800A9FCF65AFC56AB15AAC16ABA5980A9FCF656F75A3E56A36D9EC86CBC958AB1B2D57BBD16E30984 CC65ADD68B95C8C76CBC16033568BD562AD6EB45CCD66ABC56CB61A0B66CBDD58AB1B2D5793C970B1 5BEEA69816A5D6A2B4979BB962379A2B06B3B972325DAC668BE5588A6976CA7C1E7B 630.90: modem: command+data 'AT+CMGS=154' 635.87: modem: answer ' ' 635.87: modem: unsol. msg: 635.87: modem: answer '+CMGS: 224' 635.87: modem: answer 'OK' 635.90: sms_send: sending sms 154: 0051000B919711825199F80000A9A00500030303027030978C6673C96A31972C86D3D5623410F379 6416AD45660FA6A06A7BCDE952617D327B31188C1583C140CDE4B027B3B168305071887CF66EAC1A2 BA63842A74166514AEDC114C7E253FB74167BB59C2B77BBC15833986B66A3D158B026680A2D16893D 9822381C1699BD1C08141C0E7BB1982B070381864FA9B4D78AB1563045F2E8ECC140 635.90: modem: command+data 'AT+CMGS=154' 640.56: modem: answer '+CMGS: 225' 640.56: modem: answer 'OK' 640.59: sms_send: sending sms 108: 0051000B919711825199F80000A96B05000303030340C4E753DA9BB1600A21F3395CF660A06190C9 140687CB1E4C212D3283D9DE8C1583818A5862D1DA83B166301D0C069A169DD3A7B497535487C8A01 3D68BC9582B568C25035587C8A033D6BBB15AA0EA101974CA7A38560B 640.59: modem: command+data 'AT+CMGS=108' 644.71: modem: answer '+CMGS: 226' 644.71: modem: answer 'OK' 644.75: modem: command 'AT+CMGD=1' 644.93: modem: answer 'OK' 644.93: modem: command 'AT+CMGL=0' 644.96: modem: answer 'OK' 644.96: modem: command 'AT+CMGL=1' 645.00: modem: answer 'OK' 668.31: modem: answer '+CMTI: "SM",1' 668.46: modem: command 'AT+CMGL=0' 668.81: modem: answer '+CMGL: 1,0,"",29' 668.84: modem: answer '07919711029049F3240B919711825199F80000212030215342610B30180C061ABFDDE6F419' 669.71: modem: answer 'OK' 669.75: sms_send: sending sms 154: 0051000B919711825199F80000A9A0050003040301A0C8A7B3D86BB15AAC96021A742687BD16ABA5 800A9FCF65AFC56AB15AAC16ABA5980A9FCF656F75A3E56A36D9EC86CBC958AB1B2D57BBD16E30984 CC65ADD68B95C8C76CBC16033568BD562AD6EB45CCD66ABC56CB61A0B66CBDD58AB1B2D5793C970B1 5BEEA69816A5D6A2B4979BB962379A2B06B3B972325DAC668BE5588A6976CA7C1E7B 669.78: modem: command+data 'AT+CMGS=154' 673.90: modem: answer ' ' 673.90: modem: unsol. msg: 673.90: modem: answer '+CMGS: 227' 673.90: modem: answer 'OK' 673.90: sms_send: sending sms 154: 0051000B919711825199F80000A9A00500030403027030978C6673C96A31972C86D3D5623410F379 6416AD45660FA6A06A7BCDE952617D327B31188C1583C140CDE4B027B3B168305071887CF66EAC1A2 BA63842A74166514AEDC114C7E253FB74167BB59C2B77BBC15833986B66A3D158B026680A2D16893D 9822381C1699BD1C08141C0E7BB1982B070381864FA9B4D78AB1563045F2E8ECC140 673.93: modem: command+data 'AT+CMGS=154' 678.43: modem: answer '+CMGS: 228' 678.43: modem: answer 'OK' 678.43: sms_send: sending sms 108: 0051000B919711825199F80000A96B05000304030340C4E753DA9BB1600A21F3395CF660A06190C9 140687CB1E4C212D3283D9DE8C1583818A5862D1DA83B166301D0C069A169DD3A7B497535487C8A01 3D68BC9582B568C25035587C8A033D6BBB15AA0EA101974CA7A38560B 678.46: modem: command+data 'AT+CMGS=108' 682.81: modem: answer ' ' 682.81: modem: unsol. msg: 682.81: modem: answer '+CMGS: 229' 682.84: modem: answer 'OK' 682.84: modem: command 'AT+CMGD=1' 683.03: modem: answer 'OK' 683.03: modem: command 'AT+CMGL=0' 683.06: modem: answer 'OK' 683.06: modem: command 'AT+CMGL=1' 683.09: modem: answer 'OK' 685.31: modem: command 'AT+CCLK="12/02/03,08:35:45+00"' 685.34: modem: answer 'OK' 694.93: modem: command 'AT+CREG?;+COPS?;+CSQ' 694.96: modem: answer '+CREG: 2,1,"4CE0","12F5"' 694.96: modem: answer '+COPS: 0,2,"25020"' 694.96: modem: answer '+CSQ: 18,0' 694.96: modem: answer 'OK' 705.56: modem: answer '+CMTI: "SM",1' 705.75: modem: command 'AT+CMGL=0' 706.09: modem: answer '+CMGL: 1,0,"",29' 706.09: modem: answer '07919711029049F3240B919711825199F80000212030216320610B30180C061ABFDDE6F419' 706.96: modem: answer 'OK' 707.00: sms_send: sending sms 154: 0051000B919711825199F80000A9A0050003050301A0C8A7B3D86BB15AAC96021A742687BD16ABA5 800A9FCF65AFC56AB15AAC16ABA5980A9FCF656F75A3E56A36D9EC86CBC958AB1B2D57BBD16E30984 CC65ADD68B95C8C76CBC16033568BD562AD6EB45CCD66ABC56CB61A0B66CBDD58AB1B2D5793C970B1 5BEEA69816A5D6A2B4979BB962379A2B06B3B972325DAC668BE5588A6976CA7C1E7B 707.03: modem: command+data 'AT+CMGS=154' 711.40: modem: answer ' ' 711.40: modem: unsol. msg: 711.40: modem: answer '+CMGS: 230' 711.40: modem: answer 'OK' 711.40: sms_send: sending sms 154: 0051000B919711825199F80000A9A00500030503027030978C6673C96A31972C86D3D5623410F379 6416AD45660FA6A06A7BCDE952617D327B31188C1583C140CDE4B027B3B168305071887CF66EAC1A2 BA63842A74166514AEDC114C7E253FB74167BB59C2B77BBC15833986B66A3D158B026680A2D16893D 9822381C1699BD1C08141C0E7BB1982B070381864FA9B4D78AB1563045F2E8ECC140 711.43: modem: command+data 'AT+CMGS=154' 716.31: modem: answer '+CMGS: 231' 716.31: modem: answer 'OK' 716.34: sms_send: sending sms 108: 0051000B919711825199F80000A96B05000305030340C4E753DA9BB1600A21F3395CF660A06190C9 140687CB1E4C212D3283D9DE8C1583818A5862D1DA83B166301D0C069A169DD3A7B497535487C8A01 3D68BC9582B568C25035587C8A033D6BBB15AA0EA101974CA7A38560B 716.34: modem: command+data 'AT+CMGS=108' 720.53: modem: answer ' ' 720.53: modem: unsol. msg: 720.53: modem: answer '+CMGS: 232' 720.53: modem: answer 'OK' 720.53: modem: command 'AT+CMGD=1' 720.71: modem: answer 'OK' 720.71: sms_recv: getting SMS list 720.71: modem: command 'AT+CMGL=0' 720.75: modem: answer 'OK' 720.75: sms_recv: no more SMS in list. 720.75: sms_recv: getting SMS list 720.75: modem: command 'AT+CMGL=1' 720.81: modem: answer 'OK'
|