Multi-segment short message with a read acknowledgment request

A Short Message Serving System (SMSC) can be configured to determine a format of a short service message (SMS) message with a read acknowledgement request. The SMSC can also be configured to generate a Global System for Mobile Communication (GSM) multi-segment short message that includes user data from the SMS message and comprises a plurality of ordered segments. The GSM multi-segment short message can include a read acknowledgement request.

TECHNICAL FIELD

This disclosure relates to a multi-segment short message with a read acknowledgement request.

BACKGROUND

Text messaging, or texting, is the act of composing and sending brief, electronic messages between two or more mobile phones, or fixed or portable devices over a phone network. The term originally referred to messages sent using the Short Message Service (SMS). However, text messaging has grown to include messages containing image, video, and sound content (known as Multi Media Message Service (MMS) messages). The sender of a text message is known as a texter, while the service itself has different colloquialisms depending on the region.

Enhanced Messaging Service (EMS) is a cross-industry collaboration between manufactures of wireless mobile devices and the carriers of wireless subscriber networks. EMS is an application-level extension to the SMS format for wireless phones available on Global System for Mobile Communications (GSM) networks, code division multiple access (CDMA) networks and other networks (e.g. the Internet).

A User Data Header (UDH) is a binary structure which may be present at the start of a short message (e.g., a text message and/or a message with a digital photograph) segment in the Short Message Service (SMS) in a GSM format and/or a CDMA format. A UDH does not contain text of the short message, and the UDH specifies how the short message should be formatted and processed. Additionally, user data in the short message segment can include the text and/or the coding of a picture (e.g., a digital photograph) for the message.

SUMMARY

One example relates to a non-transitory machine readable medium having machine executable instructions comprising a Short Message Serving System (SMSC) that can be configured to determine a format of a short service message (SMS) message with a read acknowledgement request. The SMSC can also be configured to generate a Global System for Mobile Communication (GSM) multi-segment short message that includes user data from the SMS message and comprises a plurality of ordered segments. The GSM multi-segment short message can include a read acknowledgement request.

Another example relates to an end-user device comprising a wireless computing device, the end-user device can be configured to communicate on a GSM carrier network. The end-user device can also be configured to generate a GSM multi-segment short message that includes user data, the GSM multi-segment short message comprising N number of ordered segments, where N is an integer greater than one, wherein the GSM multi-segment short message includes a read acknowledgement request defined as an Information-Element (IE) in a segment with an order number of zero.

Yet another example relates to a method that can include identifying a recipient device of an SMS message with a read acknowledgement request. The method can also include determining a format of the SMS message with the read acknowledgment request. The method can further include generating a Global System for Mobile Communication (GSM) multi-segment short message with a read acknowledgement request defined in an Information-Element (IE) based on the SMS message with the read acknowledgement request. The method can yet further include forwarding the GSM multi-segment short message with the read acknowledgement request defined in the IE to the recipient device.

DETAILED DESCRIPTION

Systems and methods are described for enabling Read Acknowledgement (Ack) Requests on Global Mobile Communication System (GSM) enabled devices. The systems and methods described herein can convert a short message (e.g., a text message or multimedia message) from a non-GSM format, such as a Code Division Multiple Access (CDMA) or an External Short Messaging Entity (ESME) format with a Read Ack Request into a GSM multi-segment short message with a Read Ack Request implemented as an Information-Element (IE) conforming to the Extended Messaging Service (EMS) extensions protocol. In particular, in some situations, the Read Ack IE can be inserted into segment number ‘0’ of the GSM multi-segment short message thereby avoiding the need to re-order the segments of the GSM multi-segment short message.

FIG. 1illustrates an example of a system2for processing and handling a Read Ack Request in a short message. The short message could be Short Message Service (SMS) message, such as, a text message, a multimedia message, etc. The system2can include sender user equipment (UE)52. The sender UE4can be implemented, for example, as a wireless device (e.g., a smart phone or a feature phone) a computing device (e.g., a tablet computer, a desktop computer, a laptop computer, etc.) that is capable of sending and receiving short messages. The sender UE4can be operating on a Code Division Multiple Access (CDMA) wireless network, such as a CDMA 3rd Generation Partnership Project 2 (3GPP2) network, an external network (e.g., a local area network (LAN), such that the sender UE4complies with the External Short Messaging Entity (ESME) standards, etc.

The sender UE2can employ a protocol such as the Short Message Peer-to-Peer (SMPP) protocol, the Transmission Control Protocol/Internet Protocol (TCP/IP), etc., to generate a short message that includes a read acknowledgement request (Read Ack Request) for a recipient UE6. The recipient UE6can be implemented as another wireless device and/or another computing device that is capable of sending and receiving short messages. However, the recipient UE6is operating on a Global System for Mobile Communications (GSM) network, such as a network complying with the 3rd Generation Partnership Project (3GPP) standard, the European Telecommunications Standards Institute (ETSI) standard, etc. Moreover, throughout this disclosure the term “GSM” can refer to a variety of networks and formats conforming to GSM standards that are commonly referred to as GSM networks, 3GPP networks, and/or ETSI networks or some combination thereof, such as GSM 3GPP networks. The recipient UE6can be identified, for example, by a unique identifier (e.g., a phone number, an IP address, an email address, etc.) associated with the recipient UE6. In some examples, the Read Ack Request can be selected at a graphical user interface (GUI) of the sender UE4.

In some examples, the Read Ack Request can be included with the short message automatically (e.g., based on a user setting). In other examples, the Read Ack Request can be selected for individual short messages. In yet other examples, the Read Ack Request may only be automatically included for short messages addressed to a particular recipient UE (e.g., UEs included in an address book and/or based on preference set in the address book). The Read Ack can be a Read Ack as defined by the IS637 CDMA 3rd Generation Project 2 (3GPP2) standard, the ESME standards, etc.

The sender UE4can send the short message with the Read Ack Request to a Short Message Service Center (SMSC)8via a carrier network10. It is noted that the carrier network10can represent multiple carrier networks that are in communication. The SMSC8can be implemented, for example, as an application executing on a server or as a stand-alone network appliance. Additionally, the SMSC8can be representative of multiple SMSCs that are in communication to facilitate sending and receiving of short messages across the carrier network10. The SMSC8can identify the recipient UE6and route the short message with the Read Ack Request to the recipient UE6. Moreover, due to incompatibilities between the GSM standard and the standard employed in other networks, the SMSC8can reformat (e.g., convert) the short message with the Read Ack Request to generate a GSM multi-segment short message. The GSM multi-segment short message can be an Enhanced Messaging Service (EMS) short message (e.g., a text message and/or a multimedia message), such as a GSM multi-segment ESM SMS message. The GSM multi-segment short message can include N number of ordered segments that each include a portion of user data (e.g., text and or a digital photograph) included in the short message with the Read Ack Request, wherein N is an integer greater than one. Each ordered segment can be implemented as a fixed size frame of 140 octets. It is noted that throughout this disclosure, the term “ordered segments” refers an order in which the segments are combined (e.g., by the recipient UE6). The term “ordered segments” does not specify any required order in which the segments are processed and/or generated. For instance, the SMSC8can process and/or generate the N number of ordered segments in any order. Additionally or alternatively, the SMSC8can process and/or generate multiple segments concurrently (e.g., via parallel processing).

The SMSC8can employ the Read Ack embedded in the SMS request to populate a Read Ack Request Information-Element (IE). An Information-Element Identifier (IEI) is the first octet of an IE and the IEI defines the type of data provided in the IE. The Read Ack Request IE can be included in a User Data Header (UDH) of the short message. For instance, the Read Ack Request can be implemented as a Read Ack Request IE that includes a Read Ack IEI similar to that shown in Table 1.

TABLE 1READ ACK REQUEST IEITAG \VALUELENGTH(HEX)(BYTES)VALUEDESCRIPTIONC02INTEGERINCLUDED IN A SHORTMESSAGE TO REQUEST AREAD ACK FROM UE. NOTREPEATABLE. THE VALUECONTAINS A VALUESIMILAR TO A MESSAGEREFERENCE.

The SMSC8can insert the Read Ack Request IE into a UDH of the last ordered segment (e.g., the segment with the highest order number) of the GSM multi-segment short message if the user data and an associated UDH of the short message employ less than a threshold value such as 136 octets (e.g., 135 or less) of the last segment. If the last segment of the GSM multi-segment short message employs more than the threshold value, such as 136 octets or more (e.g., through user data and/or the UDH of the last segment), the SMSC8can generate a new segment in the GSM multi-segment short message that contains the Read Ack IE. The new segment can be a segment with an order number of ‘0’ (zero) (e.g., the 0th segment) of the GSM multi-segment short message.

If the recipient UE6supports Enhanced Messaging Service (EMS) extensions for the SMS protocol, the recipient UE6can generate a Read Ack that confirms that the GSM multi-segment short message from the sender UE4has been read, and not just delivered. In some examples, upon opening the short message, the recipient UE6can generate a short message for the sender UE4with a Read Acknowledgement (Ack). In some examples, the Read Ack can be generated automatically, such as in response to opening the short message. In other examples, a user of the recipient UE6can be prompted for a request to send a Read Ack. In yet other examples, the recipient UE6can automatically send a Read Ack only to a particular sender of a short message (e.g., particular contacts in an address book).

The Read Ack can be implemented as another IE that includes another IEI tag, such as a Read Ack IE. In other examples, such as situations where the recipient UE56does not support the Read Ack Request IE and/or does not support a segment number ‘0’ in the short message, the Read Ack Request IE can be ignored. Thus, the segment number ‘0’ of an SMS short message can be considered to be an optional EMS segment. In situations where the recipient UE6generates the short message with the Read Ack IE, the Read Ack IE can include an IEI that can be implemented in a manner described in Table 2.

TABLE 2READ ACK REQUEST IEITAGVALUELENGTH(HEX)(BYTES)VALUEDESCRIPTIONC12INTEGERINCLUDED IN A SHORTMESSAGE TO INDICATE THATTHE SHORT MESSAGE IS AREAD RECEIPT. NOTREPEATABLE. THE VALUECONTAINS THE READ ACKREQUEST IEI PROVIDED IN ANORIGINAL MESSAGE. THEINCLUDED VALUE ISEMPLOYED BY UE TOCORRELATE THE READRECEIPT TO THE ORIGINALMESSAGE.

In some examples, the Read Ack IE can be sent by itself as a separate SMS message. In other examples, the Read Ack IE can be sent along with a reply short message (e.g., user data). In some examples, upon opening the short message from the sender UE4, if the recipient UE6detects user input (e.g., indicating that a reply short message is being generated), the recipient UE6can delay sending the Read Ack IE until the user of the recipient UE6finishes inputting the reply short message.

The short message with the Read Ack IE can be provided to the SMSC8. The SMSC8can identify the sender UE52and convert the short message with the Read Ack IE into a format compatible with the sender UE (e.g., CDMA or ESME) to form a short message (e.g., an SMS message) with a Read Ack, which compatible format can be the same format of the original short message with the Read Ack Request. The SMSC8can forward the (converted) short message with the Read Ack to the sender UE4. The short message with the Read Ack IE can be employed by the sender UE4to confirm that the recipient UE6received and opened the original message, namely the short message with the Read Ack Request.

By employing the system2, incompatibilities related to short messages between a GSM network and other networks (e.g., CDMA, SMPP, TCP/IP networks, etc.) can be rectified. Furthermore, the system2can avoid the need to reassemble and/or reorder segments of a GSM multi-segment short message. Instead, as explained, the Read Ack IE can simply be added as a new segment to the beginning (segment number ‘0’) of the GSM multi-segment short message or the Read Ack IE can simply be incorporated into the last ordered segment (e.g., segment with the highest order number) of the GSM multi-segment short message. Moreover, it is noted that in other examples, other features can be employed in the segment number ‘0’ of the short message provided to the recipient UE56. Additionally, as noted, in the event that the recipient UE6is not configured/updated to process Read Ack IEs (e.g., in the UDH of a short message), the Read Ack IE can simply be ignored.

FIG. 2illustrates a timing diagram with a system50for processing and handling a Read Ack Request in a short message between two carrier networks. It is noted that in the timing diagram, certain nodes are described as performing certain functions. However, it is to be understood that in other examples, the described functions can be performed in different orders and/or concurrently. Moreover, the functions of multiple nodes may be performed by a single node. The short message could be, for example, an SMS message, such as a text message, a multimedia message, etc.

The system50can include a sender UE52that operates on a non-GSM network54. The non-GSM network54could be, for example, a Code Division Multiple Access (CDMA) carrier network, such as a CDMA 3GPP2 network. Alternatively, the non-GSM network54could be a public network, such as the Internet. The sender UE52can be implemented, for example, as a wireless device (e.g., a smart phone or a feature phone) a computing device (e.g., a tablet computer, a desktop computer, a laptop computer, etc.) that is capable of sending and receiving short messages. In some examples, the sender UE52can be a subscriber to a carrier network. In other examples, the sender UE52can be a node (e.g., an ESME) operating on the Internet. The sender UE52can employ the SMS protocol to generate a short message that includes a Read Ack Request for a recipient UE56.

The Read Ack Request can comply with standards set forth for the non-GSM network54. For instance, if the non-GSM network54is a CDMA network, short message, including the Read Ack Request can be in a CDMA format that complies to IS637 standards. Specifically, in such a situation, the Read Ack Request of the short message can set a “reply_option” field of the short message to ‘1’ to indicate that a read acknowledgement is requested (wherein setting the “reply_option” field to ‘0’ would indicate that no read acknowledgement is requested).

Alternatively, if the sender UE52is an ESME, the sender UE52can generate the Read Ack Request that complies with the Universal Computer Protocol (UCP), the Short Message Peer-to-Peer (SMPP) protocol, the Computer Interface to Message Distribution (CIMD) protocol, etc. For instance, if the short message conforms to the SMPP protocol, the sender UE52can add the Read Ack Request to the short message by setting a bit of the “registered_delivery” field to ‘1’ and insert a relevant “user_message_reference” into the short message. Setting the bit of the “registered_delivery” field to, ‘1’ (‘xx1xxxx’) indicates that the short message includes a “read acknowledgement request”. Conversely, setting the bit of the “registered_delivery” field to, ‘0’ (‘xx0xxxx’) would indicate that the short message has “no read acknowledgement request”.

The recipient UE56can be implemented as another wireless device and/or another computing device that is capable of sending and receiving short messages. The recipient UE56can be identified, for example, by a unique identifier (e.g., a phone number, an IP address, an email address, etc.) associated with the recipient UE56. In some examples, the Read Ack Request can be selected at a GUI of the sender UE52. The sender UE52can send the short message with the Read Ack Request to a Short Message Service Center (SMSC)58associated with the sender UE52, which SMSC can be referred to as a sender SMSC58. The sender SMSC58can be implemented, for example, as an application executing on a server or as a stand-alone network appliance.

In some examples, the Read Ack Request can be included with the short message automatically (e.g., based on a user setting). In other examples, the Read Ack Request can be selected for individual short messages. In yet other examples, the Read Ack Request may only be automatically included for short messages addressed to a particular recipient UE (e.g., specific UEs included in an address book).

The sender SMSC58can employ a lookup table and/or a database to determine whether the recipient UE56is operating on the same carrier network as the sender UE52. In the present example, the recipient UE56operates on a different carrier network, namely a GSM network60. The GSM network60could be, for example, a GSM 3GPP network. Upon determining that the recipient UE56is operating on a network external to the non-GSM network54, the sender SMSC58can forward the short message with the Read Ack to an SMS gateway62. The SMS gateway62can be implemented, for example, as an inter-carrier gateway.

The SMS gateway62can identify (e.g., via a lookup table and/or a database) an SMSC associated with the recipient, which can be referred to as a recipient SMSC64. The SMS gateway62can forward the short message with the Read Ack Request to the recipient SMSC64. The recipient SMSC64and the recipient UE56can each reside on the GSM network60. As noted, in some examples, certain operations described can be performed on different network nodes than the example illustrated inFIG. 2. For instance, in some examples, some (or all) of the operations of sender SMSC58and the recipient SMSC64can be implemented on a single SMSC.

The recipient SMSC64can be configured to employ a database and/or a look-up table to identify the recipient UE56. Moreover, due to incompatibilities between the GSM standard and the standards employed in other networks, the recipient SMSC64can reformat (e.g., convert) the short message with the Read Ack Request to generate a GSM multi-segment short message.

Specifically, the recipient SMSC64can identify a format of the short message with the Read Ack Request. As noted, in some examples, the short message with the Read Ack Request can be in a CDMA format that complies with IS637 standards. Alternatively, the Read Ack Request can be provided from an ESME, such that the short message with the Read Ack Request can be in the formats complying with the UCP, the SMPP protocol, the CIMD protocol, etc., which collectively can be referred to as an “ESME format”. Upon determining the format of the short message with the Read Ack Request, the recipient SMSC64can generate the corresponding multi-segment short message.

In particular, if the recipient SMSC64determines that the short message with the Read Ack Request is in the CDMA format, the recipient SMSC64can identify the “read_reply” field of the short message being set to ‘1’ to indicate that the short message includes the Read Ack Request. In response, the recipient SMSC64can employ a “message_id” field embedded in the short message to populate a Read Ack Request IE for the GSM multi-segment short message.

Alternatively, in another example, if the recipient SMSC64determines that the short message with the Read Ack Request is provided from an ESME and the short message is in the SMPP protocol, the recipient SMSC64can employ the message reference embedded in the short message with the Read Ack Request to populate a Read Ack Request IE for the GSM multi-segment short message.

In any such situation, the GSM multi-segment short message can be an EMS short message (e.g., a text message or a multimedia message). The GSM multi-segment short message can include N number of ordered segments that each include a portion of user data (e.g., text, a digital photograph, video, audio or a combination thereof) included in the short message with the Read Ack Request. Each ordered segment can be implemented as a fixed size frame of 140 octets.

Additionally, the recipient SMSC64can include a Read Ack IEI into the Read Ack IE of the GSM multi-segment short message. The IEI can be a tag added to an ordered segment of the multi-segment short message. In some examples, the Read Ack Request IEI can be implemented in a manner described in Table 1.

The recipient SMSC64can incorporate the Read Ack Request IE (with the Read Ack IEI) into a UDH of the last ordered segment (e.g., the segment with the highest order number) of the GSM multi-segment short message if the user data and an associated UDH employ less than a threshold value, such as 136 octets (e.g., 135 or less) of the last segment. For instance, if the short message generated by the sender UE52is a pure text message and contains 160 characters or less, the recipient SMSC64can incorporate the Read Ack Request IE (with the Read Ack IEI) into a UDH of the last ordered segment of the GSM multi-segment short message.

Conversely, if the last segment of the GSM multi-segment short message employs more than the threshold value, such as 136 octets or more (e.g., through user data and/or the UDH of the last segment), the recipient SMSC64can generate a new segment incorporated into the UDH of the GSM multi-segment short message that contains the Read Ack IE. For instance, if the short message generated by the sender UE52is a pure text message and contains 161 characters or more, the recipient SMSC64can generate a new segment in the GSM multi-segment short message that contains the Read Ack IE. The new segment can be a segment with an order number of ‘0’ (zero) of the GSM multi-segment short message.

The recipient SMSC64can provide the GSM multi-segment short message to the recipient UE56. The GSM multi-segment short message can be opened at the recipient UE56(e.g., via a GUI). Moreover, the recipient UE56can concatenate the segments of the GSM multi-segment short message for output, such that the GSM multi-segment short message is output (e.g., via the GUI) as a single message to a user of recipient UE56. In some examples, upon opening the GSM multi-segment short message, the recipient UE56can generate a short message for the sender UE52with a Read Ack IE. In some examples, the Read Ack IE can be generated automatically. In other examples, the Read Ack IE can be generated in response to user input. In still other examples, the Read Ack IE can be generated automatically only for certain UEs. In some examples, the Read Ack IE can be sent with a reply message (e.g., in response to user input), and in other examples, the Read Ack IE can be sent in a message by itself.

In some examples, such as situations where the recipient UE56does not support the Read Ack Request IE and/or does not support a segment number ‘0’ in a GSM multi-segment short message, the Read Ack Request can be ignored. Thus, the segment number ‘0’ can be considered to be an optional EMS segment. In situations where the recipient UE56generates the short message with the Read Ack IE, the Read Ack IE can include a Read Ack IEI (that identifies the Read Ack IE), which can be implemented in a manner described in Table 2.

The short message with the Read Ack IE can be provided to the recipient SMSC64by the recipient UE56. The recipient SMSC64can determine that the sender UE52operates on a network external to the GSM network60. Thus, the recipient SMSC64can forward the short message with the Read Ack IE to the SMS gateway62. The SMS gateway62can identify the sender SMSC58and forward the short message with the Read Ack IE to the sender SMSC58. The sender SMSC58can convert the short message with the Read Ack IE into format appropriate for the sender UE52. Alternatively, it is specifically noted that in some examples, the recipient SMSC64can convert the short message with the Read Ack IE to the appropriate format prior to providing the short message to the SMS gateway62in the manner described herein. In still other examples, the conversion of the short message with the Read Ack IE may be omitted.

If the non-GSM network54is a CDMA network, the sender SMSC58can convert the short message with the Read Ack IE into a CDMA formatted short message with a Read Ack (complying with the IS637 standards). For instance, the sender SMSC58can employ, for example, an integer value (e.g., a message reference) included in the Read Ack IE to populate a standard CDMA Read Ack message.

In another situation, if the sender UE52is an ESME operating on a public network (e.g., the Internet), the sender SMSC58can convert the short message with the Read Ack IE to a format such as a format dictated by the UCP, the SMPP protocol, the CIMD protocol, etc. to form the short message with the Read Ack. For instance, if the short message with the Read Ack IE is to be converted into a short message in the SMPP format, the sender SMSC58can set an “esm_class” field of the short message to “xx0101xx”, to indicate that the message is a read acknowledgement and insert the integer value (message reference) indicated in the Read ACk IE into a “user_message_reference”, and insert an SMSC message_ID of the submitted message into a “message_ID” field of the short message, for message correlation purposes.

The sender SMSC58can identify the sender UE52and forward the short message with the Read Ack (e.g., in the CDMA or ESME format) to the sender UE52. The short message with the Read Ack can be employed by the sender UE52to confirm that the recipient UE56received and opened the original message, namely the short message with the Read Ack Request.

By employment of this system50, incompatibilities related to short messages between the GSM network60and other networks (e.g., CDMA 3GPP2, ESME, etc.) can be rectified. Furthermore, the system50avoids the need to reassemble and/or reorder segments of a GSM multi-segment short message. Instead, as explained, if needed, the Read Ack IE can simply be added as a new segment to the beginning (segment number ‘0’) of the GSM multi-segment short message or the Read Ack IEI can simply be incorporated into the last segment (the Nth segment) of the GSM multi-segment short message. Moreover, it is noted that in other examples, other features can be employed in the segment number ‘0’ of the short message provided to the recipient UE56.

FIG. 3illustrates another timing diagram with a system100for processing and handling a Read Ack Request in a short message between two carrier networks. It is noted that in the timing diagram, certain nodes are described as performing certain functions. However, it is to be understood that in other examples, the described functions can be performed in different orders and/or concurrently. Moreover, the functions of multiple nodes may be performed by a single node. The short message could be, for example, an SMS message, such as a text message, a multimedia message, etc. The system100can include a sender user UE102that operates on a GSM carrier network104, such as a GSM 3GPP network.

The sender UE102can be implemented, for example, as a wireless device (e.g., a smart phone or a feature phone) a computing device (e.g., a tablet computer, a desktop computer, a laptop computer, etc.) that is capable of sending and receiving short messages. The sender UE102can employ the SMS protocol to generate a GSM multi-segment message that includes a Read Ack Request for a recipient UE106. The GSM multi-segment message can have M number of segments, where M is an integer greater than one. The GSM multi-segment message can be an SMS message (e.g., a text message or a multi-media message) that supports EMS.

The Read Ack Request can be implemented as a Read Request IE that includes a Read Request IEI, as described in Table 1. The sender UE102can insert the Read Ack Request IE (with the Read Ack IEI) into a UDH of the last (e.g., the Nth) segment of the GSM multi-segment short message if the user data and an associated UDH employ less than the threshold value, such as 136 octets (e.g., 135 or less) of the last segment (e.g., the segment with the highest order number) of the GSM multi-segment short message. For instance, if the short message generated by the sender UE52is a pure text message and contains 160 characters or less, the recipient SMSC114can incorporate the Read Ack Request IE (with the Read Ack IEI) into a UDH of the last segment of the GSM multi-segment short message. As noted, in some examples, certain operations described can be performed on different network nodes than the example illustrated inFIG. 3. For instance, in some examples, some (or all) of the operations of sender SMSC108and the recipient SMSC114can be implemented on a single SMSC.

Conversely, if the last segment of the GSM multi-segment short message reaches the threshold value, such as 136 octets or more (e.g., through user data and/or the UDH of the last segment), the sender SMSC108can generate a new segment incorporated into the UDH of the GSM multi-segment short message that contains the Read Ack IE. For instance, if the short message generated by the sender UE102is a pure text message and contains 161 characters or more, the sender UE102can generate a new segment in the GSM multi-segment short message that contains the Read Ack IE. The new segment can be a 0th (zero) numbered segment of the GSM multi-segment short message.

The recipient UE106can be implemented as another wireless device and/or another computing device that is capable of sending and receiving short messages. The recipient UE106can be identified, for example, by a unique identifier (e.g., a phone number, an IP address, an email address, etc.) associated with the recipient UE106. In some examples, the Read Ack Request can be selected at a GUI of the sender UE102. The sender UE102can send the short message with the Read Ack Request IE to a sender SMSC108associated with the sender UE102, which SMSC can be referred to as a sender SMSC108. The sender SMSC108can be implemented, for example, as an application executing on a server or as a stand-alone network appliance.

In some examples, the Read Ack Request IE can be included with the short message automatically (e.g., based on a user setting). In other examples, the Read Ack Request IE can be selected for individual short messages. In yet other examples, the Read Ack Request IE may only be automatically included for short messages addressed to a particular recipient UE (e.g., specific UEs included in an address book).

The sender SMSC108can employ a lookup table and/or a database to determine whether the recipient UE106is operating on the same carrier network as the sender UE102. In the present example, the recipient UE106is on a different carrier network, namely a non-GSM network110. The non-GSM network110could be, for example, a CDMA 3GPP2 network, a public network (e.g., the Internet), etc. Upon determining that the recipient UE106is operating on a network external to the GSM network104, the sender SMSC108can forward the short message with the Read Ack request IE to an SMS gateway112. The SMS gateway112can be implemented, for example, as an inter-carrier gateway.

The SMS gateway112can identify (e.g., via a lookup table and/or a database) an SMSC114associated with the recipient, which can be referred to as a recipient SMSC114. The SMS gateway112can forward the short message with the Read Ack Request IE to the recipient SMSC114. The recipient SMSC114and the recipient UE106can each reside on the non-GSM network110.

The recipient SMSC114can be configured to employ a database and/or a look-up table to identify the recipient UE106. Moreover, due to incompatibilities between the GSM standard and the standard employed in other networks, the recipient SMSC114can reformat (e.g., convert) the short message with the Read Ack Request IE to generate a short message with a Read Ack.

Specifically, the recipient SMSC114can identify a format of the short message with the Read Ack Request IE. As noted, in some examples, the short message with the Read Ack Request IE can be in the format of a GSM multi-segment message (e.g., a GSM format). Upon determining the format of the short message with the Read Ack Request IE, the recipient SMSC114can generate the corresponding short message.

The sender SMSC108can convert the short message with the Read Ack Request IE into a format appropriate for the recipient UE104. Alternatively, it is specifically noted that in some examples, the recipient SMSC114can convert the short message with the Read Ack Request IE to the appropriate format prior to providing the short message to the SMS gateway112in the manner described herein. In still other examples, the conversion of the short message with the Read Ack IE may be omitted.

If the non-GSM network110is a CDMA network, the recipient SMSC114can convert the short message with the Read Ack IE into a CDMA formatted short message with a Read Ack Request (complying with the IS637 standards). For instance, in such a situation, the recipient SMSC114can convert the GSM multi-segment short message with the Read Ack IE into CDMA format by employing the Read Ack Request IE embedded therein to populate a CDMA mobile terminated “message_id” and “reply_option” of the generated short message. The CDMA “reply_option field” can be set to request a CDMA Read Ack per IS637 standards (a “reply_option” field in a CDMA short message message is set to ‘1’ to indicate that a read acknowledgement is requested, otherwise the “reply_option” field is set to ‘0’).

In another situation, if the recipient UE106is an ESME operating on a public network (e.g., the Internet), the recipient SMSC114can convert the GSM multi-segment short message with the Read Ack IE to a format such as a format dictated by the UCP, the SMPP protocol, the CIMD protocol, etc. to form the short message with the Read Ack (e.g., an ESME format). For instance, if the short message with the Read Ack Request IE is to be converted into a short message in the SMPP format, the recipient SMSC114can set a bit of the “registered_delivery” field to ‘1’ and inserting a relevant “user_message_reference” into the short message. Setting the bit of the “registered_delivery” field to, ‘1’ (‘xx1xxxx’) indicates that the short message includes a “read acknowledgement request”. Conversely, setting the bit of the “registered_delivery” field to, ‘0’ (‘xx0xxxx’) would indicate that the short message has “no read acknowledgement request”.

Moreover, in some examples, the resultant (converted) short message can be concatenated by the recipient SMSC114to form a single segment (e.g., a text message up to 160 characters). Thus, user data from the segments of the GSM multi-segment short message with Read Ack IE can be concatenated into a single segment of the short message with the Read Ack Request.

The recipient SMSC114can provide the short message with the Read Ack Request to the recipient UE106. The short message can be opened at the recipient UE106(e.g., via a GUI). In some examples, upon opening the short message with the Read Ack Request, the recipient UE106can generate a short message for the sender UE102with a Read Ack. The short message with the Read Ack can be generated automatically or in response to user input.

The short message with the Read Ack can be provided to the recipient SMSC114by the recipient UE106. The recipient SMSC114can determine that the sender UE102operates on a network external to the non-GSM network110. Thus, the recipient SMSC114can forward the short message with the Read Ack IE to the SMS gateway112. The SMS gateway112can identify the sender SMSC108and forward the short message with the Read Ack IE to the sender SMSC108. The sender SMSC108can convert the short message with the Read Ack into a GSM formatted short message with a Read Ack IE (e.g., an SMS message with EMS extensions). For instance, if the short message with the Read Ack is a CDMA Read Ack or an SMPP short message, the sender SMSC108can employ a “message_id” indicated in the Read Ack to populate a read acknowledgement message indicator Information-Element (IE). The Read Ack IE can include a Read Ack IEI, such as the Read Ack IEI described in Table 2. Alternatively, it is specifically noted that in some examples, the recipient SMSC114can convert the short message with the Read Ack to the GSM format (a short message with a Read Ack IE) prior to providing the short message to the SMS gateway112.

The sender SMSC108can identify the sender UE102and forward the GSM formatted short message with the Read Ack IE to the sender UE102. The short message with the Read Ack IE can be employed by the sender UE102to confirm that the recipient UE106received and opened the original message, namely the GSM multi-segment short message with the Read Ack Request IE.

By employment of this system100, incompatibilities related to short messages between the GSM network104and other networks (e.g., CDMA 3GPP2, ESME, etc.) can be rectified. Furthermore, the system100avoids the need to reassemble and/or reorder segments of a GSM multi-segment short message. Instead, as explained, the Read Ack Request IE can simply be added as a new segment to the beginning (segment number ‘0’) of the GSM multi-segment short message or the Read Ack IE can simply be incorporated into the last segment (the Mth segment) of the GSM multi-segment short message. Moreover, it is noted that in other examples, other features can be employed in the segment number ‘0’ of the short message provided to the recipient UE106.

In view of the foregoing structural and functional features described above, an example method will be better appreciated with reference toFIG. 4. While, for purposes of simplicity of explanation, the example method ofFIG. 4is shown and described as executing serially, it is to be understood and appreciated that the present examples are not limited by the illustrated order, as some actions could in other examples occur in different orders, multiple times and/or concurrently from that shown and described herein. Moreover, it is not necessary that all described actions be performed to implement a method. The example method ofFIG. 4can be implemented as instructions stored in a non-transitory machine-readable medium. The instructions can be accessed by a processing resource (e.g., one or more processor cores) and executed to perform the methods disclosed herein.

FIG. 4illustrates a flowchart of an example method200for generating a GSM multi-segment message with a Read Ack Request IE. The method200can be implemented by an SMSC, such as the SMSC8illustrated inFIG. 1and/or the recipient SMSC64illustrated inFIG. 2. At210, a short message (e.g., an SMS message) with a Read Ack can be received at the SMSC. At220, the SMSC can identify a recipient of the short message with the Read Ack Request. At230, the SMSC can determine a format of the short message with the Read Ack Request.

At240, the SMSC can generate the GSM multi-segment short message with a Read Ack Request IE based on the determined format of the short message with the Read Ack Request. For example, the GSM multi-segment short message can include user data (e.g., text and/or multimedia) included in the short message with the Read Ack Request. At250, the GSM multi-segment short message with Read Ack IE can be forwarded to the identified recipient. The Read Ack IE can be inserted into at a last segment of the GSM multi-segment short messaged or the Read Ack IE can be included in a new ‘0’ numbered segment of the GSM multi-segment short message, as described herein.

In view of the foregoing structural and functional description, those skilled in the art will appreciate that portions of the systems and method disclosed herein may be embodied as a method, data processing system, or computer program product such as a non-transitory computer readable medium. Accordingly, these portions of the approach disclosed herein may take the form of an entirely hardware embodiment, an entirely software embodiment (e.g., in a non-transitory machine readable medium), or an embodiment combining software and hardware. Furthermore, portions of the systems and method disclosed herein may be a computer program product on a computer-usable storage medium having computer readable program code on the medium. Any suitable computer-readable medium may be utilized including, but not limited to, static and dynamic storage devices, hard disks, solid-state storage devices, optical storage devices, and magnetic storage devices.

Certain embodiments have also been described herein with reference to block illustrations of methods, systems, and computer program products. It will be understood that blocks of the illustrations, and combinations of blocks in the illustrations, can be implemented by computer-executable instructions. These computer-executable instructions may be provided to one or more processors of a general purpose computer, special purpose computer, or other programmable data processing apparatus (or a combination of devices and circuits) to produce a machine, such that the instructions, which execute via the one or more processors, implement the functions specified in the block or blocks.