Patent Description:
Communications networks are used to convey data messages between first user equipment and second user equipment. The data messages often include text-based messages such as Short Message Service (SMS) messages. SMS messages are conveyed between the first user equipment and a carrier core network by a cellular base station (i.e., using radio-frequency signals in a cellular telephone frequency band).

Many communications networks have SMS-over-IP capabilities in which an SMS message to or from carrier-authorized first user equipment is included in an SMS-over-IP message conveyed over the internet or other networks that operate using the Internet Protocol (IP). A network carrier that manages the carrier core network also operates a carrier Evolved Packet Data Gateway (ePDG) that is communicatively coupled to the carrier core network. The SMS-over-IP messages are conveyed between the first user equipment and the carrier ePDG through the Internet as well as additional networks not operated by the carrier such as a local wireless access point (i.e., using radio-frequency signals in a wireless local area network frequency band).

The ability to convey SMS message data between the first user equipment and the second user equipment typically depends upon the availability of a first wireless communications link between the first user equipment and the cellular base station or a second communications link between the first user equipment and the Internet. If care is not taken, the first user equipment and the second user equipment may be unable to convey SMS message data through the communications network when the first and second communications links are unavailable.

<CIT> discloses a method to allow alternative messaging routes when Session Initiation Protocol (SIP) message delivery fails.

<CIT> discloses an IMS network using the SIP to provide communication services to mobile nodes.

A selection of optional features is set out in the dependent claims.

A communications network may include first user equipment and second user equipment. The first user equipment may transmit messages to the second user equipment and may receive messages from the second user equipment. The communications network may include a carrier core network that is operated by a network carrier or service provider. The communications network may also include a carrier Evolved Packet Data Gateway (ePDG) that is operated by the network carrier.

The communications network may convey message data such as Short Message Service (SMS) message data between the first and second user equipment. The SMS message data may be included in SMS messages that are conveyed between the carrier core network and the first user equipment via a cellular base station (e.g., over a cellular telephone communications link). The SMS message data may also be included in SMS-over-IP messages that are conveyed by the communications network using the Internet Protocol (IP). SMS-over-IP messages may be conveyed between the carrier core network and the first user equipment via the carrier ePDG and a wireless access point (e.g., the SMS-over-IP messages may be conveyed between the wireless access point and the first user equipment over a wireless local area network communications link). If desired, the SMS-over-IP messages may also be conveyed between the carrier core network and the first user equipment via the carrier ePDG and the cellular base station (e.g., in scenarios where the cellular telephone communications link is capable of conveying SMS-over-IP messages). The SMS-over-IP messages are Session Initiation Protocol (SIP) messages and may therefore sometimes be referred to herein as SMS-over-IP SIP messages or simply as SIP messages.

The cellular telephone communications link and the wireless local area network communications link are high-bandwidth communications links that support relatively high data rates (e.g., <NUM> kB/s or more, <NUM> MB/s or more, <NUM> MB/s or more, <NUM> GB/s or more, etc.). The communications network may also include a proxy server that communicates with the first user equipment over a low-bandwidth communications link. The low-bandwidth communications link may operate using relatively low data rates (e.g., <NUM> kB/s or less, <NUM> kB/s or less, <NUM> kB/s or less, or other data rates that are lower than the data rates of the high-bandwidth communications links). The first user equipment may still be able to communicate with the proxy server over the low-bandwidth communications link when the first user equipment is unable to communicate over the high-bandwidth communications links (e.g., when the first user equipment has moved out of range of the cellular base station and wireless access point or when the Internet is unavailable).

When the high-bandwidth communications links are unavailable to the first user equipment, the communications network may establish and authenticate a logical network path between the first user equipment and the carrier ePDG via the proxy server and the low-bandwidth communications link. The logical network path may include a first path between the first user equipment and the proxy server and a second path that includes a secure network tunnel between the proxy server and the carrier ePDG. Once the logical network path has been established, the first user equipment may generate a compressed message that includes SMS message data to convey to the second user equipment. The first user equipment may generate the compressed message by encapsulating the SMS message data using a compression algorithm associated with the low-bandwidth communications link. The first user equipment may transmit the compressed message to the proxy server over the low-bandwidth communications link.

The proxy server may unpack (de-encapsulate) the SMS message data from the compressed message using a decompression algorithm associated with the low-bandwidth communications link. The proxy server may re-pack (re-encapsulate) the unpacked SMS message data to produce an SMS-over-IP SIP message. The proxy server may transmit the SMS-over-IP SIP message to the carrier ePDG (e.g., over the secure network tunnel), which conveys the SMS-over-IP SIP message or the SMS message data from the SMS-over-IP message to the carrier core network. The carrier core network may provide the SMS-over-IP SIP message or the SMS message data from the SMS-over-IP SIP message to an SMS controller. The SMS controller may forward the SMS message data to the second user equipment (e.g., as an SMS message or SMS-over-IP message conveyed to the second user equipment over a different carrier core network or the same carrier core network). To the carrier ePDG, the SMS-over-IP SIP message received from the proxy server may appear indistinguishable from SMS-over-IP SIP messages conveyed to the carrier ePDG via the cellular base station and the wireless access point. This process may be reversed to convey SMS message data from the second user equipment to the first user equipment via the proxy server and the low-bandwidth communications link when the high-bandwidth communications links are unavailable.

<FIG> is a schematic diagram of an illustrative communications network (system) <NUM> for conveying SMS message data or other message data between first user equipment (UE) <NUM> and second user equipment <NUM>. As shown in <FIG>, communications network <NUM> may include carrier core network <NUM>, carrier ePDG <NUM>, authentication server <NUM>, SMS controller <NUM>, network portion <NUM>, carrier configuration file server <NUM>, proxy server <NUM>, one or more cellular base stations <NUM>, and one or more wireless access points <NUM>. Cellular base station <NUM> and/or wireless access point <NUM> may be omitted if desired. Cellular base station <NUM> and wireless access point <NUM> may sometimes be referred to collectively herein as high-bandwidth wireless equipment or simply as wireless equipment.

First user equipment <NUM> may communicate with cellular base station <NUM> over a high-bandwidth communications link such as high-bandwidth communications link <NUM>. Cellular base station <NUM> may communicate with carrier core network <NUM> over data path <NUM>. If desired, cellular base station <NUM> may communicate with carrier ePDG <NUM> over a corresponding data path (not shown in <FIG> for the sake of clarity). First user equipment <NUM> may communicate with wireless access point <NUM> over a high-bandwidth communications link such as high-bandwidth communications link <NUM>. Wireless access point <NUM> may communicate with carrier ePDG <NUM> over data path <NUM>. Carrier ePDG <NUM> may communicate with carrier core network <NUM> over data path <NUM>. Proxy server <NUM> may communicate with carrier ePDG <NUM> over data path <NUM> and may communicate with carrier configuration file server <NUM> over data path <NUM>. Carrier core network <NUM> may communicate with authentication server <NUM> over data path <NUM> and may communicate with SMS controller <NUM> over data path <NUM>.

Data paths <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may sometimes be referred to herein as communications paths or communications data paths. Data paths <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may each include one or more wired communications links (e.g., communications links formed using cabling such as ethernet cables, radio-frequency cables such as coaxial cables or other transmission lines, optical fibers or other optical cables, etc.), one or more wireless communications links (e.g., short range wireless communications links that operate over a range of inches, feet, or tens of feet, medium range wireless communications links that operate over a range of hundreds of feet, thousands of feet, miles, or tens of miles, and/or long range wireless communications links that operate over a range of hundreds or thousands of miles, etc.), switches, routers, servers, modems, repeaters, telephone lines, network cards, line cards, communications gateways, portals, user equipment (e.g., computing devices, mobile devices, etc.), wireless access points, base stations, some or all of a network of communications (network) nodes or terminals coupled together using these components or other components (e.g., some or all of a mesh network, relay network, ring network, local area network, wireless local area network, personal area network, cloud network, star network, tree network, or networks of communications nodes having other network topologies), the Internet, combinations of these, etc..

SMS controller <NUM> may communicate with second user equipment <NUM> over network portion <NUM>. Network portion <NUM> may include one or more communications links, data paths, wireless access points, cellular base stations, proxy servers, carrier ePDGs, carrier core networks, and/or carrier configuration file servers. Carrier network <NUM> and carrier ePDG <NUM> of <FIG> may be operated by a corresponding network carrier or service provider. In one suitable arrangement, network portion <NUM> may include a carrier core network, carrier ePDGs, and other components that are operated by a different network carrier than the network carrier associated with carrier core network <NUM> and carrier ePDG <NUM>. In another suitable arrangement, network portion <NUM> may be operated by the same network carrier or service provider as carrier core network <NUM> and carrier ePDG <NUM> (e.g., network portion <NUM> may include one or more of carrier core network <NUM>, carrier ePDG <NUM>, cellular base station <NUM>, wireless access point <NUM>, carrier configuration file server <NUM>, and data paths <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> in a scenario where second user equipment <NUM> and first user equipment <NUM> both subscribe to the same network carrier).

High-bandwidth communications links <NUM> and <NUM> may support data transfer using relatively high data rates (e.g., <NUM> kB/s or more, <NUM> MB/s or more, <NUM> MB/s or more, <NUM> GB/s or more, etc.). High-bandwidth communications links <NUM> and <NUM> may each include respective high-bandwidth wireless communications links. For example, high-bandwidth communications link <NUM> may include a cellular telephone communications link that wirelessly conveys data using a cellular telephone frequency band (e.g., a wireless communications link maintained using a cellular telephone radio access technology such as <NUM> LTE, GSM, UMTS, etc.). High-bandwidth communications link <NUM> may include a wireless local area communications link that wirelessly conveys data using a wireless local area network frequency band (e.g., a wireless communications link maintained using a wireless local area network radio access technology such as Wi-Fi®). In this example, the high-bandwidth wireless communications links in high-bandwidth communications links <NUM> and <NUM> are short range wireless communications links that operate over a range of inches, feet, or tens of feet, or medium range wireless communications links that operate over a range of hundreds of feet, thousands of feet, miles, or tens of miles. This is merely illustrative and, if desired, high-bandwidth communications links <NUM> and/or <NUM> may include long range wireless communications links that operate over a range of hundreds or thousands of miles, etc..

In practice, first user equipment <NUM> may only communicate using high-bandwidth communications links <NUM> and <NUM> when user equipment <NUM> is located within range of cellular base station <NUM> or wireless access point <NUM>. When user equipment <NUM> is located outside the range of cellular base station <NUM> and wireless access point <NUM> (or whenever high-bandwidth communications links <NUM> and <NUM> are otherwise unavailable), first user equipment <NUM> may communicate with carrier ePDG <NUM> via proxy server <NUM> and low-bandwidth communications link <NUM>. First user equipment <NUM> and proxy server <NUM> may be able to convey data over low-bandwidth communications link <NUM> even when high-bandwidth communications links <NUM> and <NUM> are unavailable. Proxy server <NUM> may be implemented on a computer, server, or any other computing equipment. If desired, proxy server <NUM> may be implemented on a distributed computer system such as a cloud-based computer network. For example, proxy server <NUM> may be logically defined as a virtual machine or server that is implemented (distributed) across two or more underlying physical computers, servers, network terminals, network nodes, or other computing equipment at one or more geographic locations.

Low-bandwidth communications link <NUM> may support data transfer using a relatively low data rate (e.g., <NUM> kB/s or less, <NUM> kB/s or less, <NUM> kB/s or less, or other data rates that are less than the data rates supported by high-bandwidth communications links <NUM> and <NUM>). In other words, low-bandwidth communications link <NUM> may support data transfer using relatively low bandwidths (and/or data rates) that are lower than the relatively high bandwidths (and/or data rates) supported by high-bandwidth communications links <NUM> and <NUM>. Low-bandwidth communications link <NUM> may include one or more low-bandwidth wireless communications links (e.g., wireless communications links that convey data using the relatively low bandwidth and data rate). The low-bandwidth wireless communications links in low-bandwidth communications link <NUM> may be short range wireless communications links that operate over a range of inches, feet, or tens of feet, medium range wireless communications links that operate over a range of hundreds of feet, thousands of feet, miles, or tens of miles, and/or long range wireless communications links that operate over a range of hundreds or thousands of miles, etc. The low-bandwidth wireless communications links may wirelessly convey data over any desired frequency bands (e.g., frequency bands that are different from the frequency bands handled by high-bandwidth communications links <NUM> and <NUM> or one or more of the same frequency bands as those handled by high-bandwidth communications links <NUM> and <NUM>). Low-bandwidth communications link <NUM> may be a direct connection between first user equipment <NUM> and proxy server <NUM> or may include multiple network nodes that convey data using at least one low-bandwidth wireless communications link and one or more other wireless or wired communications links. For example, low-bandwidth communications link <NUM> may include a relay network, a mesh network, a star network, a tree network, a ring network, a local area network, a wireless local area network, combinations of these, and/or a network of network nodes having other network topologies.

First user equipment <NUM> and second user equipment <NUM> may convey text-based message data such as SMS message data over communications network <NUM>. The SMS message data may be included in SMS messages and/or SMS-over-IP SIP messages (e.g., the SMS message data may form a data payload for the SMS messages or SMS-over-IP SIP messages and may include text or other input generated by software applications running on the user equipment or provided by a user via input/output devices on or coupled to the user equipment). The SMS messages may include an SMS header in addition to the SMS message data. The SMS-over-IP SIP messages may include an SMS header and other headers such as an IP Multimedia Subsystem (IMS) header in addition to the SMS message data. Communications network <NUM> may use the SMS header in the SMS messages and the SMS and IMS headers in the SMS-over-IP SIP messages to help determine where to route the SMS message data to reach a desired message destination.

When first user equipment <NUM> is in range of cellular base station <NUM>, first user equipment <NUM> may transmit an SMS message to cellular base station <NUM> over high-bandwidth communications link <NUM>. Cellular base station <NUM> may relay the SMS message to carrier core network <NUM> over data path <NUM>. Carrier core network <NUM> may transmit the SMS message data from the SMS message to SMS controller <NUM> over data path <NUM>. SMS controller <NUM> may convey the SMS message data to second user equipment <NUM> via network portion <NUM>.

When first user equipment <NUM> is in range of wireless access point <NUM>, first user equipment <NUM> may transmit an SMS-over-IP SIP message to wireless access point <NUM> over high-bandwidth communications link <NUM>. Wireless access point <NUM> may route the SMS-over-IP SIP message to carrier ePDG <NUM> over data path <NUM>. Carrier ePDG <NUM> is a node or gateway that is communicatively coupled to carrier core network <NUM> via data path <NUM>. Carrier ePDG may transmit the SMS-over-IP SIP message to carrier core network <NUM> over data path <NUM>. Carrier core network <NUM> may parse and process the SMS-over-IP SIP message and may convey the SMS-over-IP SIP message or the corresponding SMS message data from the SMS-over-IP SIP message to SMS controller <NUM>. SMS controller <NUM> may convey the SMS message data to second user equipment <NUM> via network portion <NUM>.

A secure network tunnel such as an Internet Protocol Security (IPSec) tunnel may be established between carrier ePDG <NUM> and first user equipment <NUM> (through wireless access point <NUM>) using authentication information (e.g., security keys or other information) stored at authentication server <NUM>. The SMS-over-IP SIP message may be conveyed between first user equipment <NUM> and carrier ePDG <NUM> over the IPSec tunnel (e.g., via the underlying high-bandwidth communications link <NUM>, wireless access point <NUM>, and data path <NUM>). If desired, the SMS-over-IP SIP message may additionally or alternatively be conveyed between first user equipment <NUM> and carrier ePDG <NUM> via cellular base station <NUM> and high-bandwidth communications link <NUM> (e.g., in scenarios where high-bandwidth communications link <NUM> is a cellular telephone communications link capable of conveying SMS-over-IP messages such as a <NUM> LTE link). These processes may be reversed to receive SMS message data at first user equipment <NUM> (e.g., SMS message data transmitted by second user equipment <NUM>).

When high-bandwidth communications links <NUM> and <NUM> are unavailable to first user equipment <NUM>, first user equipment <NUM> may convey SMS message data using low-bandwidth communications link <NUM> and proxy server <NUM> instead of using high-bandwidth communications links <NUM> and <NUM>, cellular base station <NUM>, and wireless access point <NUM>. Information stored at authentication server <NUM> and carrier configuration file server <NUM> may be used in establishing and securing a logical network path between first user equipment <NUM> and carrier ePDG <NUM>. The logical network path may include one or more secure network tunnels such as a first network tunnel between first user equipment <NUM> and proxy server <NUM> (e.g., SMS message data conveyed over low-bandwidth communications link <NUM> may be encapsulated using a protocol associated with low-bandwidth communications link <NUM>) and a second network tunnel between proxy server <NUM> and carrier ePDG <NUM> (e.g., an IPSec tunnel). Proxy server <NUM> may convert the SMS message data between a low-bandwidth format associated with low-bandwidth communications link <NUM> and a high-bandwidth format associated with data path <NUM> (e.g., an SMS-over-IP SIP message). Proxy server <NUM> and low-bandwidth communications link <NUM> may allow for seamless or near-seamless communications between second user equipment <NUM> and first user equipment <NUM> using SMS-over-IP messages even when high-bandwidth communications links <NUM> and <NUM> become unavailable to first user equipment <NUM>.

The example of <FIG> is merely illustrative. First user equipment <NUM> and second user equipment <NUM> may convey SMS-over-IP information whenever first user equipment <NUM> is connected to a network that can communicate via the Internet Protocol with carrier ePDG <NUM>. For example, first user equipment <NUM> may be communicatively coupled to a network that has high speed IP connectivity to carrier ePDG <NUM> such as an access point connected to the public Internet. However, first user equipment <NUM> need not communicate with carrier ePDG via the public Internet. In other words, access point <NUM> may be an access point with Internet access or may be hardwired to a private IP network that is directly connected to the carrier (e.g., data path <NUM> may include the public Internet or a private IP network). For example, access point <NUM> may be a subscriber identity module (SIM)-based Internet of Things (IoT) device hardwired to a corporate network that peers with the carrier. In this example, access point <NUM> may be a device with no Internet or wireless capability but that still conveys SMS-over-IP information between first user equipment <NUM> and carrier ePDG <NUM>. High-bandwidth communications link <NUM> may be replaced by a wired link and need not be wireless in this or in other examples.

While low-bandwidth communications link <NUM> is described herein as being a low-bandwidth link, the methods described herein may be used for any second communications link (e.g., in place of low-bandwidth communications link <NUM> of <FIG>) that does not fit the criteria of being able to connect to a network that has high speed IP connectivity to carrier ePDG <NUM> (e.g., via access point <NUM>) and that is not connected to the carrier over a cellular telephone communications link. This communication may be low-bandwidth, may occur when first user equipment <NUM> is connected to a network that does not have IP connectivity to carrier ePDG <NUM> such as a corporate network that does not have Internet, or may be high speed without communicating using IP (e.g., a high speed network that does not have SIM-based devices that need to send SMS messages, a private IP corporate network without Internet connectivity, etc.). In other words, low-bandwidth communications link <NUM> need not be low-bandwidth and may, in general, be any communications link that does not fit the criteria of being able to connect to a network that has high speed IP connectivity to carrier ePDG <NUM>.

<FIG> is a schematic diagram of first user equipment <NUM>. First user equipment <NUM> may be a portable electronic device such as a cellular telephone, portable media player, wearable electronic device (e.g., wristwatch), laptop computer, tablet computer, gaming controller, remote control, or electronic navigation device, other larger electronic devices such as a desktop computer, television, set-top box, home entertainment system, server, or computer monitor, or may include electronic equipment integrated into a larger system such as a kiosk, building, or vehicle. First user equipment <NUM> may include a housing having housing walls formed from dielectric and/or conductive materials. Second user equipment <NUM> of <FIG> may include any of these types of equipment. In another suitable arrangement, second user equipment <NUM> may include Internet service equipment. Information conveyed between first user equipment <NUM> and second user equipment <NUM> may include any desired information (e.g., message data, application data, image data, video data, email data, webpage data, authentication data such as two-factor authentication codes, real-time chat data, etc.).

As shown in <FIG>, first user equipment <NUM> may include control circuitry <NUM>, input/output devices <NUM>, and wireless circuitry <NUM>. Control circuitry <NUM> may include storage such as storage <NUM>. Storage <NUM> may include volatile memory (e.g., static or dynamic random-access-memory), nonvolatile memory (e.g., flash memory or other electrically-programmable-read-only memory), hard drive storage, etc. Control circuitry <NUM> may also include processing circuitry <NUM>. Processing circuitry <NUM> may control the operation of first user equipment <NUM>. Processing circuitry <NUM> may include one or more application specific integrated circuits, microprocessors, microcontrollers, baseband processor integrated circuits, central processing units, digital signal processors, etc..

Control circuitry <NUM> may be used to run software on first user equipment <NUM> such as operating system functions, software applications, etc. For example, storage <NUM> may store computer code or other software instructions that are executed by processing circuitry <NUM>. The computer code may be stored on a non-transitory computer readable storage medium (e.g., storage <NUM> or a removable storage medium). Control circuitry <NUM> may also be used in implementing wireless communications protocols (e.g., wireless communications protocols associated with different radio-access technologies that are used to wirelessly convey data over wireless communications links in high-bandwidth communications links <NUM> and <NUM> and low-bandwidth communications link <NUM> of <FIG>).

Input/output devices <NUM> are used in providing input to and output from first user equipment <NUM>. For example, input/output devices <NUM> may include one or more displays (e.g., touch sensitive displays, liquid crystal displays, light emitting diode displays, etc.), sensors (e.g., light sensors, proximity sensors, range sensors, image sensors, audio sensors such as microphones, force sensors, moisture sensors, humidity sensors, fingerprint sensors, pressure sensors, touch sensors, ultrasonic sensors, accelerometers, gyroscopes, compasses, etc.), status indicator lights, speakers, vibrators, keyboards, touch pads, buttons, joysticks, etc..

Wireless circuitry <NUM> may include radio-frequency transceivers <NUM> and one or more antennas <NUM> for wirelessly communicating with external equipment (e.g., cellular base station <NUM>, wireless access point <NUM>, and proxy server <NUM> of <FIG>). Antennas <NUM> may include any desired types of antennas such as patch antennas, dipole antennas, monopole antennas, inverted-F antennas, planar inverted-F antennas, slot antennas, helical antennas, combinations of these and/or other types of antennas, etc. Transceivers <NUM> may be used to transmit and receive radio-frequency signals using antennas <NUM>. Transceivers <NUM> may each be formed from respective integrated circuits or may share one or more integrated circuits. Transceivers <NUM> may include mixer circuitry, analog-to-digital converter circuitry, digital-to-analog transceiver circuitry, amplifier circuitry, and/or any other desired components for transmitting and receiving radio-frequency signals. Wireless circuitry <NUM> may also include baseband processor circuitry, transmission line structures, filter circuitry, switching circuitry, and/or any other desired circuitry for transmitting and receiving wireless radio-frequency signals using antennas <NUM>.

If desired, each transceiver <NUM> may handle radio-frequency signals using a different respective radio access technology and/or frequency band. For example, a first transceiver <NUM> may handle communications over high-bandwidth communications link <NUM> of <FIG> using a first radio access technology and/or a first frequency band, a second transceiver <NUM> may handle communications over high-bandwidth communications link <NUM> using a second radio access technology and/or a second frequency band, and a third transceiver <NUM> may handle communications over low-bandwidth communications link <NUM> using a third radio access technology and/or a third frequency band. This is merely illustrative and, if desired, the same radio access technology and/or frequency band may be used to handle one, two, or each of low-bandwidth communications link <NUM>, high-bandwidth communications link <NUM>, and high-bandwidth communications link <NUM>. Similar components may be used to form second user equipment <NUM> of <FIG> if desired.

<FIG> is a flow chart of illustrative steps that may be performed by communications network <NUM> of <FIG> to convey SMS message data between first user equipment <NUM> and second user equipment <NUM>. The steps of <FIG> may, for example, allow for seamless or near-seamless communications between second user equipment <NUM> and first user equipment <NUM> using SMS message data even after high-bandwidth communications links <NUM> and <NUM> have become unavailable to first user equipment <NUM>.

At step <NUM> of <FIG>, communications network <NUM> may convey SMS message data between first user equipment <NUM> and second user equipment <NUM> using high-bandwidth communications links <NUM> and/or <NUM>. For example, SMS messages may be conveyed between carrier core network <NUM> and first user equipment <NUM> via data path <NUM> and high-bandwidth communications link <NUM>. As another example, SMS-over-IP SIP messages may be conveyed between first user equipment <NUM> and carrier ePDG <NUM> via data path <NUM>, wireless access point <NUM>, and high-bandwidth communications link <NUM> (e.g., over an IPSec tunnel from carrier ePDG <NUM> to first user equipment <NUM> through wireless access point <NUM>). SMS message data received at first user equipment <NUM> may be provided to software applications running on first user equipment <NUM> (e.g., for displaying to a user using a display on the first user equipment). SMS message data transmitted by first user equipment <NUM> may be provided by software applications running on user equipment <NUM> and/or one or more user input devices on the first user equipment.

When high-bandwidth communications links <NUM> and <NUM> are no longer available to first user equipment <NUM>, processing may proceed to step <NUM> as shown by arrow <NUM>. High-bandwidth communications links <NUM> and <NUM> may become unavailable when first user equipment <NUM> has moved out of range of wireless access point <NUM> and cellular base station <NUM> (e.g., when first user equipment <NUM> has moved out of range of any wireless access points or cellular base stations), when first user equipment <NUM> no longer has access to cellular base station <NUM> and wireless access point <NUM> (e.g., because cellular base station <NUM> and wireless access point <NUM> are operated by a network carrier that does not provide first user equipment <NUM> with access to cellular base station <NUM> and wireless access point <NUM>), when cellular base station <NUM> and wireless access point <NUM> are disabled, inoperable, or powered down, etc..

If desired, first user equipment <NUM> may monitor the status of high-bandwidth communications links <NUM> and <NUM> and may identify when high-bandwidth communications links <NUM> and <NUM> have become unavailable. For example, first user equipment <NUM> may monitor the link quality of high-bandwidth communications links <NUM> and <NUM> (e.g., using received signal strength measurements, received signal strength indicator measurements, error rate measurements, signal-to-noise ratio measurements, etc.), may determine when data is no longer being received over high-bandwidth communications links <NUM> and <NUM>, may process satellite navigation data or other sensor data to identify when first user equipment <NUM> is no longer in range of cellular base station <NUM> and wireless access point <NUM>, may identify messages received from cellular base station <NUM>, wireless access point <NUM>, or elsewhere indicating that high-bandwidth communications links <NUM> and <NUM> are no longer available, and/or may perform any other desired operations to determine when high-bandwidth communications links <NUM> and <NUM> have become unavailable. Cellular base station <NUM>, wireless access point <NUM>, and/or any other desired components in communications network <NUM> may perform one or more of these operations to determine when high-bandwidth links <NUM> and <NUM> have become unavailable if desired.

At step <NUM> (e.g., in response to identifying, at first user equipment <NUM>, that high-bandwidth communications links <NUM> and <NUM> are unavailable), communications network <NUM> may establish and authenticate a logical network path between first user equipment <NUM> and carrier ePDG <NUM> through low-bandwidth communications link <NUM>, proxy server <NUM>, and data path <NUM>. The example of <FIG> is merely illustrative and, in another suitable arrangement, step <NUM> may be performed while one or more of the high-bandwidth communications links are still being used to convey SMS message data (e.g., step <NUM> may be performed concurrently with step <NUM>).

In establishing and authenticating the logical network path, communications network <NUM> may establish one or more secure network tunnels between carrier ePDG <NUM> and first user equipment <NUM>. For example, first user equipment <NUM> and proxy server <NUM> may establish a first secure network tunnel such as an interworking wireless local area network (iWLAN) tunnel between first user equipment <NUM> and proxy server <NUM>. SMS message data may be conveyed over the first network tunnel by encapsulating the SMS message data using a compression algorithm or envelope associated with low-bandwidth communications link <NUM> prior to conveying the SMS message data over the low-bandwidth communications link. This encapsulation may be reversed using a decompression (de-encapsulation) algorithm after the SMS message data has been conveyed over the low-bandwidth communications link and the first secure network tunnel (e.g., at proxy server <NUM> or first user equipment <NUM>). First user equipment <NUM> and proxy server <NUM> may convey data over communications link <NUM> without using a network tunnel if desired. Communications network <NUM> may also establish a second secure network tunnel (e.g., an IPSec tunnel) between proxy server <NUM> and carrier ePDG <NUM>. The established and authenticated logical network path may include the underlying low-bandwidth communications link <NUM>, proxy server <NUM>, and data path <NUM>. However, proxy server <NUM> may appear indistinguishable from first user equipment <NUM> to carrier ePDG <NUM> (e.g., proxy server <NUM> may serve as a proxy for first user equipment <NUM> from the perspective of carrier ePDG <NUM>).

At step <NUM>, communications network <NUM> may convey SMS message data between first user equipment <NUM> and second user equipment <NUM> using low-bandwidth communications link <NUM>, proxy server <NUM>, data path <NUM>, and carrier ePDG <NUM>. For example, first user equipment <NUM> may transmit SMS message data in a low-bandwidth format (e.g., as a compressed message) to proxy server <NUM> over low-bandwidth communications link <NUM>. Proxy server <NUM> may convert the SMS message data from the low-bandwidth format into a high-bandwidth format associated with carrier ePDG <NUM> (e.g., proxy server <NUM> may convert the compressed message into an SMS-over-IP SIP message). Proxy server <NUM> may transmit the SMS message data in the high-bandwidth format (e.g., as an SMS-over-IP SIP message) to carrier ePDG <NUM> over data path <NUM> (e.g., via the IPSec tunnel between proxy server <NUM> and carrier ePDG <NUM>). Carrier ePDG <NUM> may transmit the SMS message data to second user equipment <NUM> via carrier core network <NUM>, SMS controller <NUM>, and network portion <NUM>. This process may be reversed to receive SMS message data from second user equipment <NUM> at first user equipment <NUM>.

Carrier ePDG <NUM> may be unable to distinguish between the IPSec tunnel between carrier ePDG <NUM> and proxy server <NUM> and an IPSec tunnel between carrier ePDG <NUM> and first user equipment <NUM> through wireless access point <NUM> (e.g., as used to convey SMS-over-IP SIP messages while processing step <NUM>). Similarly, carrier ePDG <NUM> may be unable to distinguish between the SMS-over-IP SIP messages received from wireless access point <NUM> and the SMS-over-IP SIP messages received from proxy server <NUM> (e.g., because the SMS-over-IP SIP messages received at carrier ePDG <NUM> are the same regardless of whether the messages were conveyed over data path <NUM> and high-bandwidth communications link <NUM> or whether the messages were conveyed over data path <NUM> and low-bandwidth communications link <NUM> via proxy server <NUM>). Proxy server <NUM> may therefore appear to carrier ePDG <NUM> and the rest of communications network <NUM> above dashed line <NUM> of <FIG> as indistinguishable from first user equipment <NUM>. SMS message data conveyed to first user equipment <NUM> from second user equipment <NUM> may terminate at proxy server <NUM> (e.g., as if proxy server <NUM> were in fact the first user equipment <NUM>). Proxy server <NUM> may then forward the SMS message data to first user equipment <NUM> (e.g., as a compressed message) over low-bandwidth communications link <NUM>.

In this way, first user equipment <NUM> and second user equipment <NUM> may continue to convey SMS message data even when high-bandwidth communications links <NUM> and <NUM> are unavailable. Once high-bandwidth communications link <NUM> and/or high-bandwidth communications link <NUM> have become available again, processing may loop back to step <NUM>, as shown by arrow <NUM>. Communications network <NUM> may then continue conveying SMS message data using high-bandwidth communications links <NUM> and <NUM> until the high-bandwidth communications links are no longer available.

<FIG> is a flow chart of illustrative steps that may be performed by communications network <NUM> in establishing and authenticating a logical network path between first user equipment <NUM> and carrier ePDG <NUM> through an underlying low-bandwidth communications link <NUM>, proxy server <NUM>, and data path <NUM> (<FIG>). Some or all of the steps of <FIG> may, for example, be performed while processing step <NUM> of <FIG>.

At step <NUM> of <FIG>, proxy server <NUM> may receive carrier configuration file information (e.g., one or more carrier configuration files) from carrier configuration file server <NUM> over data path <NUM>. Carrier configuration file server <NUM> may store the latest carrier configuration file for each network carrier associated with communication network <NUM>. The carrier configuration file information may identify the domain and network address of one or more carrier ePDGs such as carrier ePDG <NUM>. Carrier configuration file server <NUM> may periodically update the carrier configuration file information over time. Step <NUM> may be performed concurrently with or prior to step <NUM> of <FIG>, if desired.

At step <NUM> of <FIG>, first user equipment <NUM> may transmit a configuration data message to proxy server <NUM> over low-bandwidth communications link <NUM>. The configuration data message may include the international mobile subscriber identity (IMSI) of first user equipment <NUM> or other network identity information that uniquely identifies first user equipment <NUM>. The configuration data may also include the network access identifier (NAI) of first user equipment <NUM>, which identifies the network carrier associated with first user equipment <NUM>. As an example, the NAI may be of the form "x<IMSI>@nai. 3gppnetwork. org,", "imsi@realm," or other formats, where "x" represents a version of Extensible Authentication Protocol Authentication and Key Agreement (EAP-AKA) that is used (e.g., "<NUM><IMSI>@nai. 3gppnetwork. org" to signal regular EAP-AKA, "<NUM><IMSI>@nai. 3gppnetwork. org" to signal EAP-AKA', "<NUM><IMSI>@nai. 3gppnetwork. org" to signal EAP-SIM, etc.). If desired, the configuration data message may include any other desired information (e.g., information identifying the configuration data message as a configuration data message to use in establishing a logical path between first user equipment <NUM> and carrier ePDG <NUM>, the domain and network address of carrier ePDG <NUM>, etc.).

Proxy server <NUM> may subsequently begin a network authentication procedure such as an Internet Key Exchange Version <NUM> (IKEv2) procedure based on the configuration data message and the carrier configuration file information. For example, at step <NUM>, proxy server <NUM> may identify the domain and network address of carrier ePDG <NUM> based on the configuration data received from first user equipment <NUM> and the carrier configuration file information received from carrier configuration file server <NUM>. Proxy server <NUM> may, for example, identify the carrier ePDG domain and network address in the carrier configuration file server information corresponding to the NAI in the configuration data received from first user equipment <NUM>.

As part of the network authentication procedure, proxy server <NUM> may begin a key exchange procedure such as an Extensible Authentication Protocol Authentication and Key Agreement (EAP-AKA) key exchange with authentication server <NUM>. For example, at step <NUM>, proxy server <NUM> may transmit an authentication request to carrier ePDG <NUM> (e.g., using the domain and network address identified while processing step <NUM>). Carrier ePDG <NUM> may pass the authentication request to authentication server <NUM> via data path <NUM>, carrier core network <NUM>, and data path <NUM>. Authentication server <NUM> may generate a response to the authentication request and may transmit the response to proxy server <NUM>.

At step <NUM>, proxy server <NUM> may receive the response to the authentication request from authentication server <NUM> via data path <NUM>, carrier core network <NUM>, data path <NUM>, carrier ePDG <NUM>, and data path <NUM>.

At step <NUM>, proxy server <NUM> may transmit the response to the authentication request to first user equipment <NUM> over low-bandwidth communications link <NUM>.

At step <NUM>, first user equipment <NUM> may challenge a subscriber identity module (SIM) at first user equipment <NUM> using the response to the authentication request received over low-bandwidth communications link <NUM>. When challenged by the response to the authentication request, the SIM at first user equipment <NUM> may produce a challenge response.

At step <NUM>, first user equipment <NUM> may transmit the challenge response to proxy server <NUM> over low-bandwidth communications link <NUM>.

At step <NUM>, proxy server <NUM> may transmit the challenge response to authentication server <NUM> via data path <NUM>, carrier ePDG <NUM>, data path <NUM>, carrier core network <NUM>, and data path <NUM>. The challenge response may appear to authentication server <NUM> and the rest of communications network <NUM> above dashed line <NUM> of <FIG> as if it were generated by a SIM at proxy server <NUM> (e.g., because proxy server <NUM> serves as a proxy for first user equipment <NUM>). Authentication server <NUM> may verify the received challenge response and, once the challenge response has been verified, may transmit an acknowledgement of the challenge response to proxy server <NUM>.

At step <NUM>, proxy server <NUM> may receive the acknowledgement of the challenge response from authentication server <NUM> via data path <NUM>, carrier core network <NUM>, data path <NUM>, carrier ePDG <NUM>, and data path <NUM>. Once proxy server <NUM> has received the acknowledgment, a secure and authentic network tunnel such as an IPSec tunnel is established between proxy server <NUM> and carrier ePDG <NUM>.

At step <NUM>, communications network <NUM> may perform IMS registration operations for proxy server <NUM>. For example, proxy server <NUM> may provide an IMS registration request to authentication server <NUM> (e.g., via the IPSec tunnel over data path <NUM>, carrier ePDG <NUM>, data path <NUM>, carrier core network <NUM>, and data path <NUM>). Authentication server <NUM> may respond to the IMS registration request with unique response data transmitted to proxy server <NUM>. Proxy server <NUM> may convey the unique response data to first user equipment <NUM> over low-bandwidth communications link <NUM>. First user equipment <NUM> may use the unique response data to challenge the SIM at first user equipment <NUM>, which generates a challenge response. First user equipment <NUM> may transmit the challenge response to proxy server <NUM> over low-bandwidth communications link <NUM>. Proxy server <NUM> may transmit the challenge response to authentication server <NUM> (e.g., via the IPSec tunnel over data path <NUM>, carrier ePDG <NUM>, data path <NUM>, carrier core network <NUM>, and data path <NUM>). Authentication server <NUM> may verify the challenge response and, once the challenge response has been verified, may transmit a corresponding acknowledgement to proxy server <NUM>. At this point, proxy server <NUM> and thus first user equipment <NUM> may be IMS-registered. Once IMS registration is complete, a secure and authenticated logical network path is established between first user equipment <NUM> and carrier ePDG <NUM> through proxy server <NUM>. SMS message data may subsequently be conveyed over low-bandwidth communications link <NUM> and over data path <NUM> (e.g., via the IPSec tunnel). This example is merely illustrative and, if desired, other authentication procedures may be used to establish and authenticate the logical network path.

<FIG> is a flow chart of illustrative steps that may be performed by communications network <NUM> in transmitting SMS message data from first user equipment <NUM> to second user equipment <NUM>. The steps of <FIG> may, for example, be performed while processing step <NUM> of <FIG>.

At step <NUM> of <FIG>, first user equipment <NUM> may identify SMS message data to transmit to second user equipment <NUM>. The SMS message data may be a data payload that includes text or other input generated by software applications running on the user equipment or provided by a user via input/output devices on or coupled to the user equipment. In scenarios where high-bandwidth communications link <NUM> is available, the SMS message data may be included in an SMS message or in an SMS-over-IP SIP message provided to cellular base station <NUM> over high-bandwidth communications link <NUM>. Similarly, in scenarios where high-bandwidth communications link <NUM> is available, the SMS message data may be included in an SMS-over-IP SIP message provided to wireless access point <NUM> over high-bandwidth communications link <NUM>. When high-bandwidth communications links <NUM> and <NUM> are unavailable, only low-bandwidth communications link <NUM> is available for first user equipment <NUM> to transmit the SMS message data. However, low-bandwidth communications link <NUM> may be unable to support excessively large messages such as SMS-over-IP messages.

At step <NUM>, first user equipment <NUM> may generate a compressed message that includes the identified SMS message data (e.g., a compressed message in the low-bandwidth format associated with low-bandwidth communications link <NUM>). To generate the compressed message, first user equipment <NUM> (e.g., control circuitry <NUM> of <FIG>) may encapsulate the SMS message data using a compression algorithm or envelope associated with low-bandwidth communications link <NUM>. The compression algorithm may, for example, remove any SMS or IMS headers from the SMS message data (e.g., headers that would otherwise be present when the SMS message data is sent as an SMS-over-IP SIP message via high-bandwidth communications links <NUM> or <NUM>) and/or may perform any other desired compression operations on the SMS message data. Removing the SMS and IMS headers from the SMS message data may significantly reduce the size of the compressed message relative to the size of an SMS-over-IP SIP message. The compressed message may, for example, be less than <NUM> kB, less than <NUM> kB, etc. This reduced size may allow the compressed message to be conveyed over low-bandwidth communications link <NUM>. The compressed message may include Link Layer headers or other relatively small headers (e.g., headers that are smaller in size than SMS or IMS headers), network identity information associated with first user equipment <NUM> (e.g., the IMSI of first user equipment <NUM>), and/or any other desired information that helps to route the SMS message data in the compressed message to a desired destination (e.g., to second user equipment <NUM>).

At step <NUM>, first user equipment <NUM> may transmit the compressed message to proxy server <NUM> over low-bandwidth communications link <NUM>. The encapsulation of the SMS message data to form the compressed message may, for example, configure the SMS message data to be conveyed over the first secure network tunnel between first user equipment <NUM> and proxy server <NUM> (e.g., via the underlying low-bandwidth communications link <NUM>).

At step <NUM>, proxy server <NUM> may unpack (extract) the SMS message data from the compressed message received over low-bandwidth communications link <NUM>. For example, proxy server <NUM> may unpack the SMS message data by performing a decompression algorithm (e.g., de-enveloping or de-encapsulating process) on the compressed message (e.g., the decompression algorithm may reverse the compression algorithm performed by first user equipment <NUM> because the first secure network tunnel terminates at proxy server <NUM>).

At step <NUM>, proxy server <NUM> may re-pack the unpacked SMS message data into a high-bandwidth format associated with data path <NUM>. For example, proxy server <NUM> may re-pack (e.g., encapsulate) the SMS message data as an SMS-over-IP SIP message. The SMS-over-IP SIP message may include SMS and IMS headers (e.g., headers that were removed at first user equipment <NUM> while processing step <NUM>), where the SMS message data forms the data payload for the SMS-over-IP SIP message.

At step <NUM>, proxy server <NUM> may transmit the SMS-over-IP SIP message to carrier ePDG <NUM> via data path <NUM> (e.g., over the IPSec tunnel between proxy server <NUM> and carrier ePDG <NUM>). The SMS-over-IP SIP message generated by proxy server <NUM> may be indistinguishable to carrier ePDG <NUM> from an SMS-over-IP SIP message conveyed to carrier ePDG <NUM> via wireless access point <NUM> and high-bandwidth communications link <NUM>. While the source address header fields of the SMS-over-IP SIP message may identify proxy server <NUM> as the source of the SMS-over-IP SIP message rather than first user equipment <NUM>), carrier ePDG <NUM> may have no way of knowing that proxy server <NUM> is a network entity that is different from first user equipment <NUM> (e.g., proxy server <NUM> serves as a proxy for first user equipment <NUM> and, from the perspective of carrier ePDG <NUM>, is indistinguishable from first user equipment <NUM>).

At step <NUM>, carrier ePDG <NUM> may transmit the SMS message data (e.g., the SMS-over-IP SIP message) received from proxy server <NUM> to carrier core network <NUM> over data path <NUM>. Carrier core network <NUM> may transmit the SMS message data to SMS controller <NUM> over data path <NUM>. SMS controller <NUM> may transmit the SMS message data to second user equipment <NUM> via network portion <NUM>.

<FIG> is a flow chart of illustrative steps that may be performed by communications network <NUM> in transmitting SMS message data from second user equipment <NUM> to first user equipment <NUM>. The steps of <FIG> may, for example, be performed while processing step <NUM> of <FIG>. Second user equipment <NUM> may transmit SMS message data (e.g., in an SMS message or an SMS-over-IP SIP message) that is forwarded to carrier core network <NUM> by SMS controller <NUM>. Carrier core network <NUM> may pass the SMS message data to carrier ePDG <NUM> over data path <NUM>. Carrier ePDG <NUM> may transmit an SMS-over-IP SIP message that includes the SMS message data to proxy server <NUM> over data path <NUM> (e.g., over the IPSec tunnel associated with data path <NUM>).

At step <NUM> of <FIG>, proxy server <NUM> may receive the SMS-over-IP SIP message from carrier ePDG <NUM>. From the perspective of carrier ePDG <NUM>, proxy server <NUM> is the destination for the SMS message data in the SMS-over-IP SIP message. However, proxy server <NUM> is aware of low-bandwidth communications link <NUM> and that first user equipment <NUM> is the final destination for the SMS message data in the SMS-over-IP SIP message.

At step <NUM>, proxy server <NUM> may unpack the SMS message data from the SMS-over-IP SIP message received from carrier ePDG <NUM>.

At step <NUM>, proxy server <NUM> may re-pack the SMS message data to generate a compressed message. For example, proxy server <NUM> may generate the compressed message by encapsulating the SMS message data using the compression algorithm or envelope associated with low-bandwidth communications link <NUM> (e.g., using the same compression algorithm used by first user equipment <NUM> while processing step <NUM> of <FIG>).

At step <NUM>, proxy server <NUM> may transmit the compressed message to first user equipment <NUM> over low-bandwidth communications link <NUM>.

At step <NUM>, first user equipment <NUM> may unpack the SMS message data from the compressed message received from proxy server <NUM> over low-bandwidth communications link <NUM>. For example, first user equipment <NUM> may unpack the SMS message data by performing the decompression algorithm (e.g., de-enveloping or de-encapsulating process) associated with low-bandwidth communications link <NUM> on the compressed message (e.g., the same decompression algorithm used by proxy server <NUM> in processing step <NUM> of <FIG>). The unpacked SMS message data may be provided to software applications running on first user equipment <NUM> (e.g., for display to a user of first user equipment <NUM>).

The steps of <FIG> and <FIG> may be processed to exchange SMS messages in both directions between first user equipment <NUM> and second user equipment <NUM> when high-bandwidth communications links <NUM> and <NUM> are unavailable. In another suitable arrangement, second user equipment <NUM> may broadcast SMS message data to first user equipment <NUM> and/or other user equipment in communications network <NUM> (e.g., without first user equipment <NUM> transmitting SMS message data back to second user equipment <NUM>). Rather than being addressed to an individual proxy server <NUM>, SMS-over-IP SIP messages that include SMS message data broadcasted by second user equipment <NUM> may be provided to multiple user equipment network addresses by carrier ePDG <NUM> (e.g., different network addresses known by the network carrier associated with carrier core network <NUM> and carrier ePDG <NUM> to be located within or associated with a particular geographic region or area). In scenarios where high-bandwidth communications links <NUM> and <NUM> are unavailable, this broadcasted SMS message data (e.g., the SMS-over-IP SIP messages that include the broadcasted SMS message data) may be addressed to proxy server <NUM> (e.g., because proxy server <NUM> represents first user equipment <NUM> from the perspective of carrier ePDG <NUM>). Proxy server <NUM> may forward the broadcasted SMS message data to first user equipment <NUM> over low-bandwidth communications link <NUM>.

<FIG> is a flow diagram showing how first user equipment <NUM> may transmit SMS message data over communications network <NUM> when high-bandwidth communications link <NUM> is available and when high-bandwidth communications link <NUM> is unavailable. As shown in <FIG>, when high-bandwidth communications link <NUM> is available, first user equipment <NUM> may transmit SMS-over-IP SIP message <NUM> to wireless access point <NUM> over high-bandwidth communications link <NUM>, as shown by arrow <NUM>. Wireless access point <NUM> may route SMS-over-IP SIP message <NUM> to carrier ePDG <NUM> over data path <NUM>, as shown by arrow <NUM>. Communications network <NUM> may, for example, transmit SMS-over-IP SIP message <NUM> over a secure network tunnel such as IPSec tunnel <NUM> that extends from first user equipment <NUM> to carrier ePDG <NUM> through wireless access point <NUM> (e.g., an IPSec tunnel that runs through wireless access point <NUM> but that terminates at first user equipment <NUM> and carrier ePDG <NUM>). Carrier ePDG <NUM> may transmit SMS-over-IP SIP message <NUM> to carrier core network <NUM> over data path <NUM>, as shown by arrow <NUM>. Carrier ePDG <NUM> may transmit the SMS message data from SMS-over-IP SIP message <NUM> to carrier core network <NUM> in other formats if desired. The communications network may subsequently transmit the SMS message data to the second user equipment via SMS controller <NUM> of <FIG>.

When high-bandwidth communications link <NUM> is unavailable, first user equipment <NUM> may generate compressed message (CM) <NUM> by encapsulating (compressing) the SMS message data that would otherwise have been transmitted in SMS-over-IP SIP message <NUM> (e.g., while processing step <NUM> of <FIG>). First user equipment <NUM> may transmit compressed message <NUM> to proxy server <NUM> over low-bandwidth communications link <NUM>, as shown by arrow <NUM> (e.g., while processing step <NUM> of <FIG>). Compressed message <NUM> may, for example, be transmitted over a secure network tunnel <NUM> extending from first user equipment <NUM> to proxy server <NUM>. While low-bandwidth communications link <NUM> may not have sufficient bandwidth to support transmission of SMS-over-IP SIP messages, low-bandwidth communications link <NUM> may be capable of transmitting compressed message <NUM>, which is much smaller than SMS-over-IP SIP message <NUM>.

Proxy server <NUM> may unpack the SMS message data from compressed message <NUM> and may re-pack (encapsulate) the SMS message data as SMS-over-IP SIP message <NUM> (e.g., while processing steps <NUM> and <NUM> of <FIG>). Proxy server <NUM> may transmit SMS-over-IP SIP message <NUM> to carrier ePDG <NUM> over data path <NUM>, as shown by arrow <NUM> (e.g., while processing step <NUM> of <FIG>). SMS-over-IP SIP message <NUM> may, for example, be transmitted over a secure network tunnel such as IPSec tunnel <NUM> extending from proxy server <NUM> to carrier ePDG <NUM> (e.g., an IPSec tunnel that terminates at proxy server <NUM> and carrier ePDG <NUM>). SMS-over-IP SIP message <NUM> may be indistinguishable from SMS-over-IP SIP message <NUM> to carrier ePDG <NUM> (e.g., carrier ePDG <NUM> may be unable to distinguish between IPSec tunnel <NUM> and IPSec tunnel <NUM>). Carrier ePDG <NUM> may transmit SMS-over-IP SIP message <NUM> to carrier core network <NUM> over data path <NUM>, as shown by arrow <NUM>. Carrier ePDG <NUM> may transmit the SMS message data from SMS-over-IP SIP message <NUM> to carrier core network <NUM> in other formats if desired. The communications network may subsequently transmit the SMS message data to the second user equipment via SMS controller <NUM> of <FIG>.

<FIG> is a flow diagram showing how first user equipment <NUM> may receive SMS message data over communications network <NUM> when high-bandwidth communications link <NUM> is available and when high-bandwidth communications link <NUM> is unavailable. As shown in <FIG>, when high-bandwidth communications link <NUM> is available, carrier ePDG <NUM> may receive SMS-over-IP SIP message <NUM> from carrier core network <NUM> over data path <NUM>, as shown by arrow <NUM>. Carrier ePDG <NUM> may transmit SMS-over-IP SIP message <NUM> to first user equipment <NUM> over IPSec tunnel <NUM> (e.g., SMS-over-IP SIP message <NUM> may be conveyed to wireless access point <NUM> over data path <NUM>, as shown by arrow <NUM>, and may be conveyed to first user equipment <NUM> over high-bandwidth communications link <NUM>, as shown by arrow <NUM>).

When high-bandwidth communications link <NUM> is unavailable, carrier ePDG <NUM> may receive SMS-over-IP SIP message <NUM> from carrier core network <NUM> over data path <NUM>, as shown by arrow <NUM>. Carrier ePDG <NUM> may transmit SMS-over-IP SIP message <NUM> to proxy server <NUM> over data path <NUM>, as shown by arrow <NUM> (e.g., over IPSec tunnel <NUM>). Because carrier ePDG <NUM> is unable to distinguish between IPSec tunnel <NUM> and IPSec tunnel <NUM>, SMS-over-IP SIP message <NUM> may be transmitted to proxy server <NUM> even though high-bandwidth communications link <NUM> is unavailable.

Proxy server <NUM> may unpack the SMS message data from SMS-over-IP SIP message <NUM> and may re-pack (encapsulate) the SMS message data to generate compressed message <NUM> (e.g., while processing steps <NUM> and <NUM> of <FIG>). Proxy server <NUM> may transmit compressed message <NUM> to first user equipment <NUM> over low-bandwidth communications link <NUM>, as shown by arrow <NUM> (e.g., while processing step <NUM> of <FIG>). First user equipment <NUM> may subsequently unpack (de-encapsulate) compressed message <NUM> to retrieve the SMS message data from SMS-over-IP SIP message <NUM> (e.g., while processing step <NUM> of <FIG>). While low-bandwidth communications link <NUM> may have insufficient bandwidth to support transmission of SMS-over-IP SIP messages, low-bandwidth communications link <NUM> may be capable of transmitting compressed message <NUM>, which is much smaller than SMS-over-IP SIP message <NUM>. In this way, first user equipment <NUM> may continue to transmit and receive SMS message data even when high-bandwidth communications links become unavailable. Because carrier ePDG <NUM> is unable to distinguish between SMS-over-IP messages from proxy server <NUM> and SMS-over-IP messages from first user equipment <NUM>, communications may transition from the high-bandwidth communications links to the low-bandwidth communications links without requiring expensive and time-consuming modifications to carrier ePDG <NUM>, carrier core network <NUM>, or other portions of communications network <NUM>.

In practice, first user equipment <NUM> may rapidly and unpredictably switch between the high-speed communications link (e.g., high-bandwidth communications link <NUM>) and the low-speed communications link (e.g., low-bandwidth communications link <NUM>) such that the same message is received multiple times over different protocols and/or communications links (e.g., over links <NUM> and <NUM>), potentially over long periods of time. This may occur, for example, in scenarios where both the high-speed communications link (e.g., high-bandwidth communications link <NUM>) and the low-speed communications link (e.g., low-bandwidth communications link <NUM>) are concurrently available and/or in scenarios where proxy server <NUM> and/or carrier ePDG <NUM> queue messages for first user equipment <NUM> such as when first user equipment <NUM> has no connectivity. Consider an example in which first user equipment <NUM> receives a message over low-bandwidth communications link <NUM> but the link is severed before first user equipment <NUM> sends an acknowledgement (ACK) message back to proxy server <NUM>. Then, when high-bandwidth communications link <NUM> is back in service (e.g., hours later), first user equipment <NUM> may receive the same message over link <NUM> and may send an ACK message to carrier ePDG <NUM> in response. In these scenarios, first user equipment <NUM> may perform de-duplication operations to handle the receipt and acknowledgement of these duplicate messages at first user equipment <NUM>.

If desired, proxy server <NUM> may control other devices to send and receive SMS messages (e.g., SMS-over-IP messages) on behalf of first user equipment <NUM>. For example, proxy server <NUM> may communicate with one or more additional devices (e.g., a tablet computer, laptop computer, speaker device, desktop computer, cellular telephone, etc.) to control the device(s) to send and/or receive SMS messages on behalf of first user equipment <NUM> while first user equipment <NUM> is communicatively coupled to proxy server <NUM> (e.g., via low-bandwidth communications link <NUM> or any Internet link). Proxy server <NUM> may be communicatively coupled to the additional device(s) via any desired wired and/or wireless links. Proxy server <NUM> may transmit message data from first user equipment <NUM> to the additional device(s) for transmission to second user equipment <NUM> and may relay message data received by the additional device(s) to first user equipment <NUM>. This operation may be performed even when first user equipment <NUM> is not constantly connected to proxy server <NUM> (e.g., authentication may be performed once and then on some regular period thereafter).

The methods and operations described above in connection with <FIG> may be performed by the components of communications network <NUM> using software, firmware, and/or hardware (e.g., dedicated circuitry or hardware). Software code for performing these operations may be stored on non-transitory computer readable storage media (e.g., tangible computer readable storage media) stored on one or more of the components of communications network <NUM> or elsewhere (e.g., storage <NUM> of <FIG>). The software code may sometimes be referred to as software, data, instructions, program instructions, or code. The non-transitory computer readable storage media may include drives, non-volatile memory such as non-volatile random-access memory (NVRAM), removable flash drives or other removable media, other types of random-access memory, etc. Software stored on the non-transitory computer readable storage media may be executed by processing circuitry on one or more of the components of communications network <NUM> (e.g., processing circuitry <NUM> of <FIG>). The processing circuitry may include microprocessors, central processing units (CPUs), application-specific integrated circuits with processing circuitry, or other processing circuitry.

In accordance with an embodiment, an electronic device is provided that includes wireless circuitry configured to communicate with external equipment over a first communications link having a first bandwidth and over a second communications link having a second bandwidth that is less than the first bandwidth and control circuitry coupled to the wireless circuitry for controlling transmission of Short Message Service (SMS) message data, the control circuitry is configured to: control, while the first communications link is available, the wireless circuitry to transmit the SMS message data in a Session Initiation Protocol (SIP) message over the first communications link and control, while the first communications link is unavailable, the wireless circuitry to transmit the SMS message data in a compressed message over the second communications link.

In accordance with another embodiment, the control circuitry is configured to generate the compressed message by encapsulating, using a compression algorithm associated with the second communications link, the SMS message data.

In accordance with another embodiment, the compressed message does not include an SMS header or an IP Multimedia Subsystem (IMS) header.

In accordance with another embodiment, the SIP message includes an SMS header and an IMS header.

In accordance with another embodiment, the compressed message includes a link layer header.

In accordance with another embodiment, the first communications link forms part of an overlying network tunnel that runs through a wireless access point and that terminates at the electronic device and at an Evolved Packet Data Gateway (ePDG), the control circuitry being configured to transmit the SIP message to the ePDG through the network tunnel.

In accordance with another embodiment, the control circuitry is configured to transmit the compressed message to a proxy server through an additional network tunnel overlying the second communications link and the additional network tunnel terminates at the electronic device and the proxy server.

In accordance with another embodiment, the control circuitry is configured to identify when the first communications link has become unavailable and the control circuitry is configured to control the wireless circuitry to transmit, in response to identifying that the first communications link has become unavailable, configuration data to a proxy server over the second communications link, the configuration data includes an international mobile subscriber identity associated with the electronic device and a network access identifier associated with the electronic device.

In accordance with another embodiment, the first communications link includes a first wireless communications link in a first frequency band and the second communications link includes, a second wireless communications link in a second frequency band that is different from the first frequency band and a network of communications nodes selected from the group consisting of: a mesh network, a relay network, a star network, a ring network, and a tree network.

In accordance with an embodiment, a method of operating a communications network to convey Short Message Service (SMS) message data from first user equipment to second user equipment using the Internet Protocol (IP), the communications network includes an Evolved Packet Data Gateway (ePDG), wireless equipment, and a proxy server, the method is provided that includes with the wireless equipment, receiving a first SMS-over-IP message from the first user equipment over a first communications link having a first bandwidth with the wireless equipment, routing the first SMS-over-IP message to the ePDG, with the proxy server, while the first communications link is unavailable, receiving message data from the first user equipment over a second communications link having a second bandwidth that is less than the first bandwidth; with the proxy server, converting the message data received from the first user equipment into a second SMS-over-IP message and with the proxy server, transmitting the second SMS-over-IP message to the ePDG.

In accordance with another embodiment, converting the message data includes: de-encapsulating the message data using a decompression algorithm associated with the second communications link and adding an IP Multimedia Subsystem (IMS) header to the de-encapsulated message data.

In accordance with another embodiment, the method includes with the proxy server, receiving a third SMS-over-IP message from the ePDG, the third SMS-over-IP message including SMS message data transmitted by the second user equipment, with the proxy server, extracting, from the third SMS-over-IP message, the SMS message data transmitted by the second user equipment, with the proxy server, generating a compressed message by encapsulating, using a compression algorithm associated with the second communications link, the SMS message data transmitted by the second user equipment and with the proxy server, transmitting the compressed message to the first user equipment over the second communications link.

In accordance with another embodiment, the method includes with the ePDG, receiving the first SMS-over-IP message over a first network tunnel that runs through the wireless equipment and that terminates at the first user equipment and the ePDG, and with the ePDG, receiving the second SMS-over-IP message over a second network tunnel that terminates at the proxy server and the ePDG.

In accordance with another embodiment, receiving the message data from the first user equipment over the second communications link includes receiving the message data over a third network tunnel that terminates at the first user equipment and the proxy server.

In accordance with another embodiment, the second communications link includes a wireless communications link having the second bandwidth and a network selected from the group consisting of: a relay network, a mesh network, a star network, a ring network, and a tree network.

In accordance with another embodiment, the method includes, with the proxy server, receiving carrier configuration file information from a carrier configuration file server, with the proxy server, when the first communications link is unavailable, receiving configuration data from the first user equipment over the second communications link, with the proxy server, identifying, based on the configuration data and the carrier configuration file information, a network address of the ePDG and with the proxy server, after the network address of the ePDG has been identified, transmitting an authentication request to an authentication server via the ePDG.

In accordance with another embodiment, the method includes, with the proxy server, receiving a response to the authentication request from the authentication server through the ePDG, the response to the authentication request being addressed to the proxy server, with the proxy server, transmitting the response to the authentication request to the first user equipment over the second communications link, with the proxy server, receiving a subscriber identity module (SIM) challenge response from the first user equipment over the second communications link, with the proxy server, transmitting the SIM challenge response to the authentication server via the Epdg, and with the proxy server, receiving, via the ePDG, an acknowledgement indicative of the SIM challenge response being verified by the authentication server.

In accordance with another embodiment, the method includes, with the proxy server and after the acknowledgement has been received, transmitting, via the ePDG and a network tunnel extending from the proxy server to the ePDG, an IP Multimedia Subsystem (IMS) registration request to the authentication server.

In accordance with an embodiment, non-transitory computer-readable storage medium storing one or more programs configured to be executed by at least one processor of user equipment having wireless circuitry and a display, the one or more programs including instructions for: receiving, using the wireless circuitry, a Session Initiation Protocol (SIP) message from an Evolved Packet Data Gateway (ePDG) over a first communications link, the first SIP message includes first Short Message Service (SMS) message data and the first communications link has a first bandwidth, receiving, using the wireless circuitry and while the first communications link is unavailable, a compressed message from the ePDG via a proxy server and a second communications link between the proxy server and the user equipment, the second communications link has a second bandwidth that is less than the first bandwidth, de-encapsulating the compressed message to retrieve second SMS message data from the compressed message and displaying the first SMS message data and the second SMS message data on the display.

In accordance with another embodiment, the non-transitory computer-readable storage medium; the one or more programs further include instructions for: transmitting, using the wireless circuitry, an additional SIP message to the ePDG over the first communications link, the additional SIP message includes third SMS message data; generating an additional compressed message by encapsulating fourth SMS message data and transmitting, using the wireless circuitry and while the first communications link is unavailable, the additional compressed message to the ePDG via the second communications link and the proxy server.

Claim 1:
A user equipment device comprising:
one or more antennas (<NUM>); and
wireless circuitry (<NUM>) configured to use the one or more antennas (<NUM>) to:
transmit (<NUM>) Short Message Service, SMS, message data over a first communications link (<NUM>) having a first bandwidth, the first communications link (<NUM>) comprising a cellular communications link or a Wi-Fi communications link, and
when the first communications link (<NUM>) is unavailable, transmit (<NUM>), over a second communications link (<NUM>), a compressed message including the SMS message data, the second communications link (<NUM>) comprising neither a cellular communications link nor a Wi-Fi communications link, being associated with a relay network including at least two network nodes and having a second bandwidth that is less than the first bandwidth.