summaryrefslogtreecommitdiff
path: root/src/pdu.h
AgeCommit message (Collapse)AuthorFiles
2019-12-13[MTX-3102] mPower Feb20: IN:3899 MTCDT-LVW3 fails SMS with GUISerhii Kostiuk1
Fixed the logic for parsing single-part and multi-part messages for LVW3 and LNA3. Now single-part messages should be parsed as correctly as multi-part messages. This logic improves the logic that were previously implemented in with multi-part messages support for LVW2: bbf6ae9b1790c7129bf249641350b302def3ee27. What changed: - CDMA-specific SMS Teleservice ID is now saved as part of the PDU structure - SMS Teleservice ID is now used to determine if the message CDMA Wireless Enhanced Messaging Teleservice (WEMT) with an actual UDH header - UDH headers are used for multi-part messages in LVW3/LNA3 Why changed: - UDH header may NOT be present in the SMS PDU - first byte of user data may be a letter instead of the UDH header size - when letter is parsed as side we get a lot of issues with segmentation faults, parsing issues, garbage in payload and so on - so this commit adds SMS type detection before actual UDH header parsing attempt is performed Sources for implementation: - Telit LE910 V2 SERIES AT COMMANDS REFERENCE GUIDE 80446ST10707A Rev.3, section 5.1.5.5.7 Read Message (3GPP2) - +CMGR contains definition of Teleservice ID field and four of the types: 4097 page, 4098 SMS (0x1002), 4099 voice mail, 262144 voice mail notification - 3GPP2 X.S0004-550-E, section 2.256 SMS_TeleserviceIdentifier contains definition for additional SMS types including 4101 (0x1005) CDMA Wireless Enhanced Messaging Teleservice (WEMT). - Teleservice ID 0x1002 is actually used for short messages in Verizon: ```+CMGL: 12,1,"",23 098010310REDACTED4F3 191213 050558 1002 0009 0C D4F29C0E32CBDF6D503508``` - Teleservice ID 0x1005 is actually used for multi-part messages in Verizon: ```+CMGL: 13,1,"",152 098010310REDACTED4F3 191213 050741 1005 0009 A0 05 00 03 4A 02 01 CC 66B3D96C369BCD66B3D96C369BCDE6E3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCFE7F3F97C3E9FCF +CMGL: 14,1,"",143 098010310REDACTED4F3 191213 050743 1005 0009 95 05 00 03 4A 02 02 CE E7F3F97C3E9FCFE7F3F97C3E9FCFE7B3D96C369BCD66B3D96C369BCD66B3D96C369BCDE670381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E170381C0E87C3E17038168BC562B1582C168BC562B1582C1603```
2017-05-30SMS Commands not working for International numbers1.0.3Jeff Hatch1
2016-08-03fix:decode: add support for decoding GSM PDU encoding 011.0.2bbBrandon Bayer1
Discovered in portal case #5072165 https://support.multitech.com/support/case.html?action=view&id=72165
2016-02-10fix: cdma pdu data length for C2 radiosBrandon Bayer1
2016-02-08fix: cdma send length | also some refactoring & added commentsBrandon Bayer1
2016-01-21fix: properly decode LE910-SVG multi-part messages0.0.13Brandon Bayer1
2015-11-17feat: implement IRA->GSM character set encoding & decoding0.0.10Brandon Bayer1
This adds support for certain characters like @ $ ~ ^
2015-11-11add support for CDMA style 8-bit decoding0.0.9Brandon Bayer1
2015-11-06feat: sms support for CE910-DUAL, DE910-DUAL, LE910-SVG0.0.8Brandon Bayer1
- PDU is used for everything except LE910-SVG sending - a bug in radio requires radio reboot to send more than 1 PDU sms
2014-08-18remove duplicate bit field in pdu.h since alternate names are never used and ↵0.0.5Mike Fiore1
newer gcc doesn't like it
2014-08-18Revert "pdu.h: remove duplicate struct members in type"Jesse Gilles1
This reverts commit 12361965344182732888cb936b3147bb4a2cdace. Jesse had no idea what he was doing :)
2014-04-16pdu.h: remove duplicate struct members in typeJesse Gilles1
fixes build on gcc 4.8
2010-04-23initial commitJames Maki1