Inflight and sender transparent insertion of suspected SPAM warning text into concatenated SMS delivered to an end user
A stateless system for inserting spam warnings into concatenated SMS messages addresses resource consumption and transparency issues by modifying User Data Headers, ensuring efficient and transparent delivery.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-08
- Publication Date
- 2026-03-12
AI Technical Summary
Existing systems for modifying concatenated SMS messages to insert spam warnings rely on storage or databases, consuming significant resources when message segments are retried, and fail to maintain transparency in SMS delivery.
A stateless system that modifies concatenated SMS messages by inserting spam warnings without using storage or databases, utilizing an antispam detection module to adjust User Data Headers (UDHs) and ensure transparency, even during segment retries.
Efficiently inserts spam warnings into concatenated SMS messages while minimizing resource consumption and maintaining transparency, ensuring seamless delivery even with segment retries.
Smart Images

Figure US2025045297_12032026_PF_FP_ABST
Abstract
Description
INFLIGHT AND SENDER TRANSPARENT INSERTION OF SUSPECTED SPAM WARNING TEXT INTO CONCATENATED SMS DELIVERED TO AN END USERBACKGROUND1. Field of the Disclosure
[0001] The present disclosure is related to SMS submission and delivery in a core of a mobile network. More particularly, the present disclosure is related to implementing a service to a concatenated message.2. Description of Related Art
[0002] Short Message Service (SMS) submission and delivery has been known for many years. Mobile networks screen content of an SMS for spam content. While identified spam content is delivered to the recipient, the mobile network as a service for the end user can include a warning text prefix into the message informing the end recipient that the message is suspected spam.
[0003] Traditionally, the size of an SMS is limited to 140 octets, that is 160 7-bit characters or 80 UCS2 characters only. To allow sending longer messages between end users the concept of a concatenated message between end users has been used. Concatenated messages comprise multiple segments, which are created and submitted to the network by the sender. Each segment is submitted as a standalone SMS. The network delivers the independent messages to the recipient, which reassembles segments and shows the resulting concatenated message. So then, a concatenated message is a single text message that includes multiple shorter messages that are linked together where a sending device divides the message into smaller pieces and then the smaller pieces are merged at the receiving device to appear as one long message.
[0004] In a concatenated message, each part is submitted and delivered as an SMS. To allow reconstitution of the original message, the individual messages include tags facilitating reassembly of segments into the original long message at the recipient’s equipment. These tags are transport as User Data Headers (UDHs) of the SMS including:- Concatenated message reference UDH- Total number of segments UDH- Current segment number UDH
[0005] Traditionally, a network has not been expected to reassemble segments. Rather, it was only expected that the network would deliver each segment independently. However, a problem arises with this simple approach when an operator must implement a service to a concatenated message.
[0006] A major challenge facing an operator is to modify the content of the message and keep this change transparent to other parties involved in the SMS delivery. Transparency is a key point of inter-operator charging, quality of service and regulatory rules.
[0007] Prior art systems have sought to address this issue but have achieved very limited success. One such system is EP2591618 B l entitled “A Message Router for Concatenated SMS” filed on July 6, 2011 . This system utilizes a database that is populated by individual segments as received and forwarded to the destination. Once all the segments, or a certain (sufficient) number of segments have been captured, the desired service is then applied.
[0008] More specifically, prior art systems perform the following steps for modifying SMS messages as outlined in FIG. 1 :1) Inserting text at a desired place in the message.2) Shifting of the trailing message text.3) The portion of the shifted text exceeding the maximum size of the segment is stored in the database.4) In the next segment, the text is prepended with the text that exceeded the size of the previous segment (read from database).
[0009] All the possible solutions and variations for handling concatenated SMS messages described by various prior art systems rely on the use of a storage or database to store the messages or portions of the messages as described in FIG. 1.
[0010] These prior art systems rely on the database or storage as the solution to perform the following functions:1) Keep track of changes applied to the message.2) Re-apply the service if the message segment delivery is re-tried.3) Provide the service if the message segments are delivered out of order.
[0011] A problem with this approach, however, is when a message segment delivery fails, the source party (O_SMSC) will retry the delivery later. This could be in minutes, hours, or even days. However, for all that time the solution needs to keep the segmentation data in the database or storage. This consumes large amounts of resources when viewed broadly across many users where many SMS are sent.
[0012] Accordingly, there is a need for a system that overcomes, alleviates, and / or mitigates one or more of the aforementioned and other deleterious effects of prior art.SUMMARY
[0013] Accordingly, what is needed is a system and method that facilitates concatenated SMS messages without the use of a storage or database to temporarily save the message segments thatare transmitted.
[0014] It is further desired to provide a system and method that allows an operator to modify the content of a concatenated SMS message without the use of a storage or database to temporarily save the message segments.
[0015] It is still further desired to provide a system and method that facilitates an operator performing a service for concatenated SMS messages without the use of a storage or database to temporarily save the message segments while simultaneously keeping the change transparent to the parties involved in the SMS delivery.
[0016] The present disclosure introduces a method of realization of an antispam solution, which is adapted to insert the prefix into a delivered concatenated message while keeping handling of messages stateless and transparent to the source party (O SMSC). Additionally, the system is adapted to insert a prefix (or other data) into the message without the message being saved in a storage or a database.
[0017] An antispam detection module is part of the solution and detects spam based on the content of and other attributes of the message segment. The message handling module may perform the following: o if the processed segment is the first segment and it is determined to be spam, then the solution■ changes UDHs such that max-segment = max-segment + 1 and currentsegment = current-segment + 1■ creates new artificial segment #1 with the content set to the desired warning text o if the processed segment is different than the first segment, then the solution■ changes UDHs such that max-segment = max-segment + 1 and currentsegment = current-segment + 1
[0018] The configuration discussed here is stateless. The processing of each segment is fully transparent from the sender’s point of view. The order of segments can be any and any of the segments can be retried at any time by the sender.
[0019] It should be noted that Transfer Protocol-Message Reference (TP -MR) is a field in SMS that represents an integer reference number. It's a single-octet value that increases each time a new message or an SMS-COMMAND is sent. This configuration sets assignment of TP -MR of the injected segment as TP-MR-injected = (orig.TP-MR-orig + 128) mod 256. In this way, the probability TP -MR of an injected segment to collide with any previous or any future segment TP -MR is minimized.
[0020] This configuration also includes the antispam detection module marking a complete concatenated message spam when the segment #1 of multi-segment message is shorter than maximum or almost maximum possible segment size. The rationale behind this is that the delivery price of the concatenated message is determined by several segments, the only motivation not to use the full size of segment #1 is sending a spam and attempting to confuse the anti spam module.
[0021] For this application the following terms and definitions shall apply:
[0022] The term “data” as used herein means any indicia, signals, marks, symbols, domains, symbol sets, representations, and any other physical form or forms representing information, whether permanent or temporary, whether visible, audible, acoustic, electric, magnetic, electromagnetic or otherwise manifested. The term “data” as used to represent predetermined information in one physical form shall be deemed to encompass any and all representations of the same predetermined information in a different physical form or forms.
[0023] The term “network” as used herein includes both networks and internetworks of all kinds, including the Internet, and is not limited to any particular type of network or inter-network.
[0024] The terms “first” and “second” are used to distinguish one element, set, data, object or thing from another, and are not used to designate relative position or arrangement in time.
[0025] The terms “coupled”, “coupled to”, “coupled with”, “connected”, “connected to”, and “connected with” as used herein each mean a relationship between or among two or more devices, apparatus, files, programs, applications, media, components, networks, systems, subsystems, and / or means, constituting any one or more of (a) a connection, whether direct or through one or more other devices, apparatus, files, programs, applications, media, components, networks, systems, subsystems, or means, (b) a communications relationship, whether direct or through one or more other devices, apparatus, files, programs, applications, media, components, networks, systems, subsystems, or means, and / or (c) a functional relationship in which the operation of any one or more devices, apparatus, files, programs, applications, media, components, networks, systems, subsystems, or means depends, in whole or in part, on the operation of any one or more others thereof.
[0026] As used herein, the phrases "at least one", "one or more", "or" and "and / or" are open- ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions "at least one of A, B and C" ,"at least one of A, B, or C", "one or more of A, B, and C", "one or more of A, B, or C" ,"A, B, and / or C" and "A, B, or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
[0027] In one configuration, a messaging system for detecting spam and inserting data into a concatenated SMS message is provided comprising a message handling module for transmittinga message to a user device and an anti spam detection module for detecting whether the message comprises spam. The system is provided such that the antispam detection module detects whether the message to be sent to a user device comprises spam, and if the antispam detection module determines the message comprises spam, the antispam detection module inserts spam data into the message. The system is further provided such that if the message exceeds a threshold length, the message handling module breaks the message into segments such that the message comprises a concatenated message, and the message handling module inserts concatenated message data into at least one of the message segments that comprise the concatenated message. Finally, the system is provided such that the message segments are transmitted to the user device without being saved on a storage or database.
[0028] In another configuration, a method of detecting spam with an antispam detection module and inserting data with a message handling module into a concatenated SMS message sent to a user device is provided comprising the steps of detecting whether the message to be sent from the message handling module comprises spam with the antispam detection module, inserting spam data into the message when the antispam detection module determines the message comprises spam, and breaking the message into segments when the message handling module determines the message exceeds a threshold length. The method further comprises the steps of inserting concatenated message data into at least one of the message segments that comprise the concatenated message, and transmitting the message segments comprising the concatenated message to the user device without being saved on a storage or database
[0029] The above-described and other features and advantages of the present disclosure will be appreciated and understood by those skilled in the art from the following detailed description, drawings, and appended claims.DESCRIPTION OF THE DRAWINGS
[0030] FIG. l is a flow diagram of concatenated SMS delivery according to the prior art.
[0031] FIG. 2 is a flow diagram of concatenated SMS delivery according to one configuration of the present invention including injection of a new segment with a warning text at the beginning of a concatenated message.
[0032] FIG. 3 is a flow diagram according to FIG. 2 where injection of the new segment with a warning text when delivery of the concatenated message fails and some segments are resent.DETAILED DESCRIPTION
[0033] Referring to the drawings and in particular to FIG. 2 which illustrates the complete flow and the mechanism of injection of a new segment with a warning text at the beginning of the concatenated message according to method 100.
[0034] In FIG. 2, O-SMSC 102 generates concatenated message segments for delivery. O-SMSC 102 sends in-segment 1 / 3 110 to Message Controller 104.
[0035] Message Controller 104 sends in-segment 1 / 3 = > spam 112 to Antispam 106, which is sent back to Message Controller 104.
[0036] Message Controller 104 also sends out-segment 2 / 4 114 to Handset B 108, which is sent back to Message Controller 104.
[0037] Message Controller 104 then sends in-segment 1 / 3 acknowledge 116 to O-SMSC 102.
[0038] Message Controller 104 further sends out-segment 1 / 4 118 (including modified UDHs) toHandset B 108, which is further sent back to Message Controller 104.
[0039] O-SMSC 102 sends in-segment 2 / 3 120 to Message Controller 104.
[0040] Message Controller 104 sends in-segment 2 / 3 = > spam 122 to Antispam 106.
[0041] Message Controller 104 sends out-segment 3 / 4 124 (including modified UDHs) to Handset B 108, which is sent back to Message Controller 104.
[0042] Message Controller 104 sends in-segment 2 / 3 acknowledge 126 to O-SMSC 102.
[0043] O-SMSC 102 sends in-segment 3 / 3 128 to Message Controller 104.
[0044] Message Controller 104 sends in-segment 3 / 3 = > spam 130 to Antispam 106, which is sent back to Message Controller 104.
[0045] Message Controller 104 sends out-segment 4 / 4 132 (including modified UDHs) to Handset B 108, which is sent back to Message Controller 104.
[0046] Message Controller 104 sends in-segment 3 / 3 acknowledge 134 to O-SMSC 102.
[0047] Additionally, with reference to FIG. 2, the following process is followed:@startuml participant SMSC as "O-SMSC" participant MCO as "Message\nController" participant SPS as "Anti spam" participant UE as "Handset B" note over SMSC: concatenated message\nsegments for deliverySMSC->MCO: in-segment 1 / 3MCO<->SPS: in-segment 1 / 3 => spamMCO<->UE: out-segment 2 / 4note left: modified UDHsMCO — > SMSC: in-segment 1 / 3 ackMCO<->UE: out-segment 1 / 4SMSC->MCO: in-segment 2 / 3MCO->SPS: in-segment 2 / 3 => spamMCO<->UE: out-segment 3 / 4 note left: modified UDHsMCO — > SMSC: in-segment 2 / 3 ackSMSC->MCO: in-segment 3 / 3MCO<->SPS: in-segment 3 / 3 => spamMCO<->UE: out-segment 4 / 4 note left: modified UDHsMCO — > SMSC: in-segment 3 / 3 ack@enduml
[0048] Referring now to FIG. 3 the complete flow and the mechanism of injection of a new segment with a warning text at the beginning of the concatenated message when delivery of concatenated message fails in the middle and some segments are retried by O-SMSC later is illustrated according to method 100.
[0049] In FIG. 3, O-SMSC 102 generates concatenated message segments for delivery. O-SMSC 102 sends in-segment 1 / 3 110 to Message Controller 104.
[0050] Message Controller 104 sends in-segment 1 / 3 = > spam 112 to Antispam 106, which is sent back to Message Controller 104.
[0051] Message Controller 104 also sends out-segment 2 / 4 114 to Handset B 108, which is sent back to Message Controller 104.
[0052] Message Controller 104 then sends in-segment 1 / 3 acknowledge 116 to O-SMSC 102.
[0053] Message Controller 104 further sends out-segment 1 / 4 118 (including modified UDHs) toHandset B 108, which is further sent back to Message Controller 104.
[0054] O-SMSC 102 sends in-segment 2 / 3 120 to Message Controller 104.
[0055] Message Controller 104 sends in-segment 2 / 3 = > spam 122 to Antispam 106.
[0056] Message Controller 104 sends out-segment 3 / 4 124 (including modified UDHs) to Handset B 108, which is not sent back to Message Controller 104.
[0057] Message Controller 104 sends in-segment 2 / 3 negative acknowledge 136 to O-SMSC 102.
[0058] After retry period (minutes / hours) O-SMSC 102 again sends in-segment 2 / 3 138 to Message Controller 104.
[0059] Message Controller 104 sends in-segment 2 / 3 = > spam 140 to Antispam 106.
[0060] Message Controller 104 sends out-segment 3 / 4 142 (including modified UDHs) to Handset B 108, which is sent back to Message Controller 104.
[0061] Message Controller 104 sends in-segment 2 / 3 acknowledge 126 to O-SMSC 102.
[0062] O-SMSC 102 sends in-segment 3 / 3 128 to Message Controller 104.
[0063] Message Controller 104 sends in-segment 3 / 3 = > spam 130 to Antispam 106, which is sent back to Message Controller 104.
[0064] Message Controller 104 sends out-segment 4 / 4 132 (including modified UDHs) to Handset B 108, which is sent back to Message Controller 104.
[0065] Message Controller 104 sends in-segment 3 / 3 acknowledge 134 to O-SMSC 102.
[0066] Additionally, with reference to FIG. 3, the following process is followed:@startuml participant SMSC as "O-SMSC" participant MCO as "Message\nController" participant SPS as "Anti spam" participant UE as "Handset B" note over SMSC: concatenated message\nsegments for deliverySMSC->MCO: in-segment 1 / 3MCO<->SPS: in-segment 1 / 3 => spamMCO<->UE: out-segment 2 / 4 note left: modified UDHsMCO — > SMSC: in-segment 1 / 3 ackMCO<->UE: out-segment 1 / 4SMSC->MCO: in-segment 2 / 3MCO->SPS: in-segment 2 / 3 => spamMCO->UE: out-segment 3 / 4 destroy UE note left: modified UDHsMCO — > SMSC: in-segment 2 / 3 nack note over SMSC: after retry period\n(minutes / hours)SMSC->MCO: in-segment 2 / 3MCO->SPS: in-segment 2 / 3 => spamMCO<->UE: out-segment 3 / 4 note left: modified UDHsMCO — > SMSC: in-segment 2 / 3 ackSMSC->MCO: in-segment 3 / 3MCO<->SPS: in-segment 3 / 3 => spamMCO<->UE: out-segment 4 / 4 note left: modified UDHsMCO — > SMSC: in-segment 3 / 3 ack@enduml
[0067] While the present disclosure has been described with reference to one or more exemplaryembodiments, it will be understood by those skilled in the art that various changes can be made and equivalents can be substituted for elements thereof without departing from the scope of the present disclosure. In addition, many modifications can be made to adapt a particular situation or material to the teachings of the disclosure without departing from the scope thereof.Therefore, it is intended that the present disclosure not be limited to the particular embodiment(s) disclosed as the best mode contemplated, but that the disclosure will include all embodiments falling within the scope of the appended claims.
Claims
CLAIMSWhat is claimed is:
1. A messaging system for detecting spam and inserting data into a concatenated SMS message comprising: a message handling module for transmitting a message to a user device; an antispam detection module for detecting whether the message comprises spam; wherein the antispam detection module detects whether the message to be sent to a user device comprises spam; wherein if the antispam detection module determines the message comprises spam, the antispam detection module inserts spam data into the message; wherein if the message exceeds a threshold length, the message handling module breaks the message into segments such that the message comprises a concatenated message; wherein the message handling module inserts concatenated message data into at least one of the message segments that comprise the concatenated message; and wherein the message segments are transmitted to the user device without being saved on a storage or database.
2. The system of claim 1, wherein if the antispam detection module determines the message is spam and the message segment comprises a first segment of the message, the message handling module modifies User Data Headers (UDHs) as follows: a maximum segment is set to max-segment = max-segment + 1; and a current segment is set to current-segment = current-segment + 1; said message handling module generates a new artificial first segment including the spamdata providing a warning text.
3. The system of claim 2, wherein if the antispam detection module determines the message is spam and the message segment is not the first segment of the message, the message handling module modifies User Data Headers (UDHs) as follows: a maximum segment is set to max-segment = max-segment + 1; and a current segment is set to current-segment = current-segment + 1.
4. The system of claim 1, wherein the messaging system is stateless, and processing of each segment is fully transparent to the sender such that an order of the segments that are transmitted to the user device can be sent in any order and any segment can be retried at any time by the sender.
5. The system of claim 1, wherein the antispam detection module detects spam in the message based on analyzing a content of the message.
6. The system of claim 1, wherein the message handling module utilizes Transfer Protocol- Message Reference (TP-MR) in a field of the message representing a reference number comprising a single-octet value that increases each time a new message is sent or each time an SMS-COMMAND is sent.
7. The system of claim 6, wherein assignment of TP-MR of the injected segment is selected such that a probability of an injected segment colliding with any previous or any future segmentTP-MR is minimized, the assignment of TP-MR of the injected segment comprising: TP-MR-injected = (orig.TP-MR-orig+128) mod 256.
8. The system of claim 1, wherein the antispam detection module marks a complete concatenated message spam when a first segment of a multi-segment message is shorter than a maximum segment size.
9. A method of detecting spam with an antispam detection module and inserting data with a message handling module into a concatenated SMS message sent to a user device comprising the steps of: detecting whether the message to be sent from the message handling module comprises spam with the anti spam detection module; inserting spam data into the message when the antispam detection module determines the message comprises spam; breaking the message into segments when the message handling module determines the message exceeds a threshold length; inserting concatenated message data into at least one of the message segments that comprise the concatenated message; and transmitting the message segments comprising the concatenated message to the user device without being saved on a storage or database.
10. The method of claim 9, wherein if the antispam detection module determines the message is spam and the message segment comprises a first segment of the message, the messagehandling module performs the following steps: modifying User Data Headers (UDHs) by: setting a maximum segment to max-segment = max-segment + 1 ; and setting a current segment to current-segment = current-segment + 1; generating a new artificial first segment including the spam data providing a warning text.
11. The method of claim 10, wherein if the antispam detection module determines the message is spam and the message segment is not the first segment of the message, the message handling module performs the following step: modifying User Data Headers (UDHs) by: setting a maximum segment to max-segment = max-segment + 1 ; and setting a current segment to current-segment = current-segment + 1.
12. The method of claim 9, wherein the method is stateless, and processing of each segment is fully transparent to the sender such that an order of the segments that are transmitted to the user device can be sent in any order and any segment can be retried at any time by the sender.
13. The method of claim 9, wherein the anti spam detection module detects spam in the message based on analyzing a content of the message.
14. The method of claim 9, wherein the message handling module utilizes Transfer Protocol- Message Reference (TP -MR) in a field of the message representing a reference numbercomprising a single-octet value that increases each time a new message is sent or each time an SMS-COMMAND is sent.
15. The method of claim 14, wherein assignment of TP-MR of the injected segment is selected such that a probability of an injected segment colliding with any previous or any future segment TP-MR is minimized, the assignment of TP-MR of the injected segment comprising:TP-MR-injected = (orig.TP-MR-orig+128) mod 256.
16. The method of claim 9, further comprising the step of: the antispam detection module marking a complete concatenated message spam when a first segment of a multi-segment message is shorter than a maximum segment size.