Nothing Special   »   [go: up one dir, main page]

WO2014191985A1 - System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment - Google Patents

System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment Download PDF

Info

Publication number
WO2014191985A1
WO2014191985A1 PCT/IL2014/050440 IL2014050440W WO2014191985A1 WO 2014191985 A1 WO2014191985 A1 WO 2014191985A1 IL 2014050440 W IL2014050440 W IL 2014050440W WO 2014191985 A1 WO2014191985 A1 WO 2014191985A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile equipment
sms
manner
sms message
blocking state
Prior art date
Application number
PCT/IL2014/050440
Other languages
French (fr)
Inventor
Jordan SHEINFELD
Original Assignee
Callup Net Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Callup Net Ltd. filed Critical Callup Net Ltd.
Publication of WO2014191985A1 publication Critical patent/WO2014191985A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • H04W8/12Mobility data transfer between location registers or mobility servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/184Messaging devices, e.g. message centre

Definitions

  • the presently disclosed subject matter relates to the field of mobile equipment calls and messaging and more specifically to routing mobile equipment messages and voice calls initiated from mobile equipment.
  • a message such as a text message
  • SMS Short Message Service
  • mobile equipment e.g. a mobile phone
  • the message is sent through the roaming cellular network (also referred to as the visited network) that acts as a mediator between the mobile equipment and its home network.
  • the roaming cellular network also referred to as the visited network
  • the roaming cellular network operator can demand a fee for providing the services.
  • a text message sent using the Short Message Service has a limited length. In case the text message is longer than such length, it is divided into several text messages that meet the length limitation prior to sending it.
  • a voice call is initiated from mobile equipment (e.g. a mobile phone) that is located outside the geographical coverage area of its home network
  • the voice call is carried out over the roaming cellular network (also referred to as the visited network) that acts as a mediator between the mobile equipment and its home network.
  • the roaming cellular network also referred to as the visited network
  • the roaming cellular network operator can demand a fee for providing the services.
  • voice over IP can produce better voice quality than the regular circuit switch telephony network.
  • US Patent No. 8, 150,428 discloses a method for offload SMS messages from a voice network of a wireless carrier to a data network.
  • the method includes sending a mobile originated SMS using hypertext transfer protocol (HTTP) from a wireless handset to a short message service center (SMSC) over a wireless data network.
  • HTTP hypertext transfer protocol
  • the method further includes conducting a lookup at the SMSC to determine the home SMSC for the originating mobile handset and sending a redirect to the mobile handset as means to facilitate a dynamic update of the home SMSC location stored on the wireless handset.
  • SMS Short Message Service
  • a method for routing Short Message Service (SMS) messages to a home network of a mobile equipment from which the SMS messages originate comprising, at the mobile equipment: receiving an indication of an SMS message being sent from the mobile equipment in a first manner, the first manner is in accordance with an SMS standard; actively preventing the SMS message from being sent in the first manner; and sending content of the SMS message and metadata associated with the SMS message to an SMS gateway of the home network in a second manner, the second manner is not in accordance with the SMS standard, thereby enabling the SMS gateway to instruct an SMS center of the home network to send the SMS message to its destination.
  • SMS Short Message Service
  • the content is text inputted by a user of the mobile equipment.
  • the content is received through a default interface used to send the SMS message in the first manner.
  • the mobile equipment comprises a Subscriber Identity Module (SIM) card
  • the method further comprises, following the receiving: triggering operation of a function on the SIM card, the function being configured to return a blocking state flag to the mobile equipment, the blocking state flag being indicative of a blocking state of the SMS messages; receiving the blocking state flag from the SIM card; and wherein the preventing and the sending are performed in case the blocking state flag indicates that the SMS messages are blocked.
  • SIM Subscriber Identity Module
  • the method further comprises updating the blocking state flag to indicate that the SMS messages are not blocked responsive to determining that the mobile equipment is not roaming and updating the blocking state flag to indicate that the SMS messages are blocked responsive to determining that the mobile equipment is roaming.
  • the determining is performed using the Mobile Country Code (MCC) and the Mobile Network Code (MNC) of the mobile equipment.
  • MCC Mobile Country Code
  • MNC Mobile Network Code
  • the second manner is through an Internet connection.
  • the method further comprises: updating the blocking state flag to indicate that the SMS messages are not blocked; sending the SMS message in the first manner; and following the sending the SMS message in the first manner, updating the blocking state flag to indicate that the SMS messages are blocked.
  • the sending the SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
  • GSM Global System for Mobile Communications
  • MAP Mobile Application Part
  • the sending the SMS message in a first manner using Radio interface via GSM MAP is performed using MT-ForwardSM operation.
  • the mobile equipment is operated using android operating system.
  • the indication is an
  • the metadata is retrieved from a messages database of the mobile equipment.
  • the metadata comprises, at least, a destination phone number associated with the SMS message.
  • the method further comprises receiving a notification of a transmittal result of the SMS message, from the SMS gateway.
  • a mobile equipment comprising a processing unit, the processing unit configured to: receive an indication of an SMS message being sent from the mobile equipment in a first manner, the first manner is in accordance with an SMS standard; prevent the SMS message from being sent in the first manner; and send content of the SMS message and metadata associated with the SMS message to an SMS gateway of the home network in a second manner, the second manner is not in accordance with the SMS standard, thereby enabling the SMS gateway to instruct an SMS center of the home network to send the SMS message to its destination.
  • the content is text inputted by a user of the mobile equipment.
  • the content is received through a default interface used to send the SMS message in the first manner.
  • the mobile equipment comprises a Subscriber Identity Module (SIM) card
  • SIM Subscriber Identity Module
  • the processor is further configured to: trigger operation of a function on the SIM card, the function being configured to return a blocking state flag to the mobile equipment, the blocking state flag being indicative of a blocking state of the SMS messages; receive the blocking state flag from the SIM card; and wherein the prevent and the send are performed in case the blocking state flag indicates that the SMS messages are blocked.
  • SIM Subscriber Identity Module
  • the processor is further configured to update the blocking state flag to indicate that the SMS messages are not blocked responsive to determining that the mobile equipment is not roaming and update the blocking state flag to indicate that the SMS messages are blocked responsive to determining that the mobile equipment is roaming.
  • the determine is performed using the Mobile Country Code (MCC) and the Mobile Network Code (MNC) of the mobile equipment.
  • MCC Mobile Country Code
  • MNC Mobile Network Code
  • the second manner is through an Internet connection.
  • the processor is further configured to: update the blocking state flag to indicate that the SMS messages are not blocked; send the SMS message in the first manner; and following the sending the SMS message in the first manner, update the blocking state flag to indicate that the SMS messages are blocked.
  • the send the SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
  • GSM Global System for Mobile Communications
  • MAP Mobile Application Part
  • the send the SMS message in a first manner using Radio interface via GSM MAP is performed using MT-ForwardSM operation.
  • the mobile equipment is operated using an Android operating system.
  • the indication is an
  • the metadata is retrieved from a messages database of the mobile equipment.
  • the metadata comprises, at least, a destination phone number associated with the SMS message.
  • the processor is further configured to receive a notification of a transmittal result of the SMS message, from the SMS gateway.
  • the transmittal result is success or failure.
  • Fig. 1 is a schematic illustration of known systems for sending messages from roaming mobile equipment
  • Fig. 2 is a schematic illustration of system for routing a message sent from roaming mobile equipment, in accordance with the presently disclosed subject matter
  • Fig. 3 is a schematic illustration of known systems for routing a voice call initiated from roaming mobile equipment
  • Fig. 4 is a schematic illustration of system for routing a voice call initiated from roaming mobile equipment, in accordance with the presently disclosed subject matter
  • Fig. 5 is a block diagram schematically illustrating one example of mobile equipment, in accordance with the presently disclosed subject matter
  • Fig. 6 is a flowchart illustrating one example of a sequence of operations carried out for routing messages sent from a mobile equipment to its home network, in accordance with the presently disclosed subject matter
  • Fig. 7 is a flowchart illustrating one example of a sequence of operations carried out for initiating voice calls from roaming mobile equipment using its home network, in accordance with the presently disclosed subject matter.
  • non-transitory is used herein to exclude transitory, propagating signals, but to otherwise include any volatile or nonvolatile computer memory technology suitable to the application.
  • the phrase “for example,” “such as”, “for instance” and variants thereof describe non-limiting embodiments of the presently disclosed subject matter.
  • Reference in the specification to "one case”, “some cases”, “other cases” or variants thereof means that a particular feature, structure or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the presently disclosed subject matter. Thus the appearance of the phrase “one case”, “some cases”, “other cases” or variants thereof does not necessarily refer to the same embodiment(s).
  • Figs. 1-4 illustrate a general schematic of the system architecture in accordance with one example of the presently disclosed subject matter. Each module in Figs. 1-4 can be made up of any combination of one or more of software, hardware and/or firmware that performs the functions as defined and explained herein. All or part of the modules in Figs. 1-4 may be centralized in one location or dispersed over more than one location. In some cases the system may comprise fewer, more, and/or different modules than those shown in Figs. 1-4.
  • FIG. 1 showing a schematic illustration of known systems for sending messages from roaming mobile equipment.
  • Mobile equipment 100 e.g. a cellular phone
  • SMS Short Message Service
  • mobile equipment 100 can be configured to enable a user to send Short Message Service (SMS) messages to other mobile equipment devices or to other suitable computerized devices (personal computers, laptop computers, tablet computers, or any other suitable device capable of being connected to the Internet via wired and/or wireless connections and capable of receiving text messages).
  • SMS Short Message Service
  • mobile equipment 100 is roaming (e.g. located outside the geographical coverage area of the home network with which it is associated)
  • an SMS message sent therefrom is sent to its destination (e.g. a destination provided by the user, for example a destination cellular phone number, etc.) through a visited cellular network 140 that provides service to the mobile equipment at the time the message is sent, to a Mobile Switching Center (MSC) 150 of the visited network.
  • MSC Mobile Switching Center
  • Such MSC 150 then forwards the SMS message (e.g. using GSM-MAP Signaling System 7 (SS7) on GSM networks, or using other network technologies/protocols over other networks), through an interconnecting network 160 that interconnects cellular networks of various operators (including at least the visited cellular network 140 and the home cellular network with which the mobile equipment is associated), to the SMS Center (SMSC) 130 of the home cellular network with which the mobile equipment 100 is associated (e.g. on which the mobile equipment 100 is registered).
  • the MSC 150 can utilize an SMSC address that accompanies the SMS message text.
  • the home network with which the mobile equipment 100 is associated can be identified using an International Mobile Subscriber Identity (IMSI) stored on the Subscriber Identity Module (SIM) card connected to the mobile equipment 100.
  • IMSI International Mobile Subscriber Identity
  • SIM Subscriber Identity Module
  • the IMSI contains a Mobile Country Code (MCC) and a Mobile Network Code (MNC) which distinctly identify a specific home network with which the mobile equipment 100 is associated.
  • MCC Mobile Country Code
  • MNC Mobile Network Code
  • the MCC and MNC can be retrieved from mobile equipment 100 using:
  • TelephonyManager tMgr TelephonyManager
  • getSystemService Context. TELEPHON Y_SER VICE
  • the SMS message is sent in accordance with an SMS standard (GSM-MAP for GSM and for LTE over GSM; IS-41 for CDMA or LTE over CDMA, etc.) associated with the relevant cellular network standard (e.g. GSM, CDMA, LTE, etc.).
  • GSM-MAP for GSM and for LTE over GSM
  • IS-41 for CDMA or LTE over CDMA, etc.
  • the visited network operator can charge the home network operator for the services provided by the visited network for transferring the SMS message to the home network SMSC 130, e.g. in accordance with a roaming agreement between them.
  • the SMS standards usually restrict the length of an SMS message to a certain length depending for example on the encoding used (e.g. 7 bit alphabet messages that are 140 English characters). Attention is now drawn to Fig. 2, showing a schematic illustration of a system for routing a message sent from roaming mobile equipment, in accordance with the presently disclosed subject matter.
  • a visited network operator can charge the home network operator for the services provided by it while mobile equipment 100 sends an SMS message.
  • mobile equipment 100 can be configured to prevent an SMS message from being sent in accordance with the SMS standard as detailed herein and to send the content of the SMS message (e.g. text inputted by a user of the mobile equipment 100) and all or part of the metadata associated with the SMS message, including at least an indication of the SMS message destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to a home network SMSC 130, optionally through an SMS gateway 125.
  • Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc). It is to be noted that in some cases, the metadata associated with the SMS message can also include one or more of the following: the sender's address (e.g. the phone number of the mobile equipment from which the SMS message was sent), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
  • IMEI International Mobile Equipment Identity
  • IMSI International mobile subscriber identity
  • the data can be sent to the SMS gateway 125 in a format other than the format dictated by the SMS standard, and in such cases the SMS gateway 125 can be configured to translate the data to the format that meets the SMS standard and to forward the translated data to the home network SMSC 130 for sending it to its destination.
  • FIG. 3 showing a schematic illustration of known systems for routing a voice call initiated from roaming mobile equipment.
  • Mobile equipment 100 can be configured to enable a user to initiate voice calls to other mobile equipment devices or to other suitable computerized devices (personal computers, laptop computers, tablet computers, or any other suitable device capable of being connected to the Internet via wired and/or wireless connections and capable of receiving voice calls).
  • mobile equipment 100 When mobile equipment 100 is roaming (e.g. located outside the geographical coverage area of the home network with which it is associated), a voice call initiated therefrom is sent to its destination (e.g. a destination provided by the user, for example a destination cellular phone number, etc.) through a visited cellular network 140 that provides service to the mobile equipment at the time the voice call is initiated, to the visited network voice switch 170.
  • Such visited network voice switch 170 then forwards the voice call (e.g.
  • SS7 Signaling System 7
  • GSM Global System for Mobile communications
  • interconnecting network 160 that interconnects cellular networks of various operators (including at least the visited cellular network 140 and the home cellular network with which the mobile equipment is associated), to the home network 185 of the home cellular network with which the mobile equipment 100 is associated (e.g. on which the mobile equipment 100 is registered).
  • SS7 Signaling System 7
  • the home network with which the mobile equipment 100 is associated can be identified using an International Mobile Subscriber Identity (IMSI) stored on the Subscriber Identity Module (SIM) card connected to the mobile equipment 100.
  • IMSI International Mobile Subscriber Identity
  • SIM Subscriber Identity Module
  • the IMSI contains a Mobile Country Code (MCC) and a Mobile Network Code (MNC) which distinctly identify a specific home network with which the mobile equipment 100 is associated.
  • MCC Mobile Country Code
  • MNC Mobile Network Code
  • the MCC and MNC can be retrieved from mobile equipment 100 using:
  • TelephonyManager tMgr TelephonyManager
  • Context.getSystemService Context.TELEPHONY SERVICE
  • the voice call is carried out in accordance with the regular circuit switch telephony network (not using voice over IP). It is to be further noted that when such voice call is carried out in accordance with the regular circuit switch telephony network, the visited network operator can charge the home network operator for the services provided by the visited network for enabling the voice call, e.g. in accordance with a roaming agreement between them. It is to be further noted that in some cases voice over IP can produce better voice quality than the regular circuit switch telephony network.
  • FIG. 4 showing a schematic illustration of system for routing a voice call initiated from roaming mobile equipment, in accordance with the presently disclosed subject matter.
  • a visited network operator can charge the home network operator for the services provided by it following initiation of a voice call by roaming mobile equipment 100.
  • mobile equipment 100 can be configured to prevent a voice call from being initiated using a visited network and to initiate the voice call over the internet 120 using a Voice Over Internet Protocol (VOIP) session.
  • the mobile equipment 100 can send all or part of the metadata associated with the initiated voice call, including at least an indication of the voice call destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to a home network voice switch 180 (e.g. a soft switch, a media gateway, etc.) that is configured to initiate the voice call (e.g. using standard call initiation/call control protocols such as Session Initiation Protocol (SIP)), optionally through a voice gateway 190.
  • SIP Session Initiation Protocol
  • Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc). It is to be noted that in some cases, the metadata associated with the initiated voice call can also include one or more of the following: the sender's address (e.g. the phone number of the mobile equipment from which the voice call was initiated), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
  • IMEI International Mobile Equipment Identity
  • IMSI International mobile subscriber identity
  • the data can be sent to the voice gateway 190 in a format other than the format dictated by the VOIP standard, and in such cases the voice gateway 190 can be configured to translate the data to the format that meets the VOIP standard and to forward the translated data to the home network voice switch 180 for initiating the voice call (e.g. using standard call initiation/call control protocols such as Session Initiation Protocol (SIP)).
  • Fig. 5 is a block diagram schematically illustrating one example of mobile equipment, in accordance with the presently disclosed subject matter.
  • Mobile equipment 100 comprises at least one processing unit 200 (e.g. digital signal processor (DSP), a microcontroller, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.) configured to receive instructions and to manage, control and execute the components and operations of mobile equipment 100.
  • processing unit 200 e.g. digital signal processor (DSP), a microcontroller, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • Mobile equipment 100 further comprises a SIM card 220 connected thereto.
  • the SIM card can comprise a blocking state module, configured to provide an indication of a blocking state of SMS messages, as further detailed herein, inter alia with reference to Fig. 6.
  • Mobile equipment 100 still further comprises a messages/calls data repository 210 for storing and enabling retrieval of various data relating to SMS messages (e.g. one or more of: SMS message ID, SMS messages content, data indicative of the SMS message destination, SMS message sending date and/or time, etc.) and call history (e.g. one or more of: voice call ID, data indicative of the voice call destination, voice call initiation date and/or time, etc.), as further detailed below.
  • Messages/calls data repository 210 can be for example non- volatile or volatile memory, including, but not limited to, RAM, flash memory, etc.
  • Mobile equipment 100 also comprises a telephony layer 260 that enables it, inter alia, to send SMS messages in accordance with the SMS standard and to initiate voice calls in accordance with the regular circuit switch telephony network.
  • a telephony layer 260 that enables it, inter alia, to send SMS messages in accordance with the SMS standard and to initiate voice calls in accordance with the regular circuit switch telephony network.
  • Mobile equipment 100 further comprises a network interface 270 that enables it, inter alia, to establish Internet connection 120.
  • Mobile equipment 100 can further comprise a roaming state module 240 and/or a messages/voice routing module 250.
  • Roaming state module 240 can be configured to provide an indication if the mobile equipment 100 is roaming or not, as further detailed herein, inter alia with reference to fig. 6.
  • Messages/voice routing module 250 can be configured to perform an SMS message routing process, as further detailed herein, inter alia with reference to fig. 6 and/or a voice call routing process, as further detailed herein, inter alia with reference to fig. 7. Attention is now drawn to Fig. 6, showing a flowchart illustrating one example of a sequence of operations carried out for routing messages sent from mobile equipment to its home network, in accordance with the presently disclosed subject matter.
  • mobile equipment e.g. by utilizing messages/voice routing module 250, can be configured to perform an SMS message routing process 300.
  • the SMS message routing process 300 can start by receiving an indication of an SMS message being sent from mobile equipment 100 (block 310).
  • the SMS message can be inputted by a user through input means of the mobile equipment 100, for example using the default mobile equipment 100 interface for sending SMS messages.
  • the SMS messages can be automatically generated (e.g. by an application running on mobile equipment 100).
  • the indication can be received upon detection of one or more changes in the outgoing SMS database of the Android operated mobile equipment 100.
  • the mobile equipment 100 can register to such changes in the outgoing SMS database (e.g., in Android operating systems, using contentResolver.registerContentObserver(Uri.parse("content://sms/"),true,myObserver)), and, whenever a change is detected, the SMS message routing process 300 starts.
  • mobile equipment 100 can be configured to retrieve an indication of an SMS message blocking state (block 315).
  • SMS message blocking state indication can be a flag that can indicate whether SMS message blocking is activated or deactivated.
  • the SMS message blocking state can be updated to indicate that SMS message blocking is activated, and whenever mobile equipment 100 connects to its home network, the SMS message blocking state can be updated to indicate that SMS message blocking is deactivated.
  • the SMS message blocking state can be updated in accordance with other/additional rules, including rules that depend on the geographical location (e.g. rules that define activation of the SMS message blocking in certain geographical locations, e.g. certain countries, vs. deactivation of the SMS message blocking in other geographical locations, e.g.
  • the visited network e.g. rules that define activation of the SMS message blocking when mobile equipment 100 is connected to certain visited networks, vs. deactivation of the SMS message blocking when it is connected to other visited networks, etc.
  • the type of internet connection e.g. rules that define that when mobile equipment is connected to the internet via WiFi the SMS message blocking is activated, whereas when mobile equipment is connected to the internet via 3G/LTE the SMS message blocking is deactivated, etc.
  • the SMS message blocking state can be determined in accordance with a combination of two or more types of rules.
  • the SMS message blocking state indication can be stored and retrieved from a data repository on the mobile equipment 100. In other cases, the indication can be stored on, and retrieved from, a data repository of the SIM card 220 connected to the mobile equipment 100.
  • the SIM card can utilize a blocking state module 230 that can be configured to retrieve the SMS message blocking state indication and return it to the mobile equipment 100.
  • a blocking state module 230 can be configured to retrieve the SMS message blocking state indication and return it to the mobile equipment 100. It is to be noted that the indication of a blocking state can be stored on, and retrieved from, any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment (including remote locations accessible to the mobile equipment e.g. through any network connection).
  • mobile equipment 100 can be configured to check the SMS message blocking state (block 320). If the SMS messages blocking state indication indicates that the blocking is not activated, mobile equipment 100 can be configured to send the SMS message in accordance with an SMS standard (e.g., for Global System for Mobile Communications (GSM), via a radio interface via GSM Mobile Application Part (MAP), e.g. using MT-ForwardSM operation) (block 325).
  • GSM Global System for Mobile Communications
  • MAP GSM Mobile Application Part
  • MT-ForwardSM operation e.g. using MT-ForwardSM operation
  • the SMS standard can be, for example:
  • GSM-MAP For GSM or LTE over GSM: GSM-MAP (see European Telecommunications Standards Institute “Digital cellular telecommunications system (Phase 2+); Mobile Application Part (MAP) specification (GSM 09.02)” and European Telecommunications Standards Institute, “Digital cellular telecommunications system (Phase 2+); Technical realization of the Short Message Service (SMS) Point-to-Point (PP) (GSM 03.40)”);
  • SMS Short Message Service
  • PP Point-to-Point
  • CDMA IS-41 For CDMA or LTE over CDMA: CDMA IS-41 (see 3GPP2 C.S0015-A); It is to be noted that other cellular networks (operating in accordance with standard other than GSM, CDMA, LTE over GSM, LTE over CDMA), other SMS standards can be used, and the presently disclosed subject matter can be applied to them as well, mutatis mutandis.
  • mobile equipment 100 can be configured to prevent the SMS message from being sent (block 335).
  • the mobile equipment 100 upon receipt of an indication that an SMS message is sent, the mobile equipment 100 can be optionally configured to scan its outgoing SMS box (comprising data of sent SMSs and metadata thereof), and mark any new SMS message records that are identified (e.g. SMS messages whose status is "queued") to indicate that they are "sent” in order to prevent any further processing thereof.
  • the mobile equipment 100 can further keep an indication of new SMS messages for further processing as indicated herein.
  • SIM card 220 can be configured to maintain a flag indicative of an SMS message blocking state.
  • mobile equipment 100 before mobile equipment 100 sends an SMS message, it is configured to check the SMS message blocking state in accordance with the flag, e.g. by triggering an event EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM in its SIM card 220.
  • such an event can trigger operation of a function that can return to the mobile equipment 100 an SMS message blocking state indication, indicating whether SMS messages are to be blocked or not. If the SMS messages are blocked in accordance with the SMS message blocking state indication, mobile equipment 100 can be configured to prevent sending of the SMS message, mark it as sent and keep an indication that the specific message that was blocked requires further processing.
  • mobile equipment 100 can be configured to check if any Internet connection is available to it (block 340), and if so, it can be configured to send the content of the SMS message and all or part of the metadata associated with the SMS message, including at least an indication of the SMS message destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to the home network SMSC 130 that is configured in turn to send the SMS message to its destination, optionally through an SMS gateway 125 (block 345).
  • Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc).
  • the metadata associated with the SMS message can also include one or more of the following: the sender address (e.g. the phone number of the mobile equipment from which the SMS message was sent), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
  • IMEI International Mobile Equipment Identity
  • IMSI International mobile subscriber identity
  • mobile equipment 100 can be configured to wait for an indication of a successful sending. In some cases, such indication can be received from the SMS gateway 125. Mobile equipment 100 can be configured to check the indication (block 350) and in case of a successful sending, the process ends (block 330).
  • mobile equipment 100 can be configured to unblock SMS messages sending (block 355). In such cases, mobile equipment 100 can be configured to cause the SIM card 220 to turn off the SMS blocking by updating the SMS message blocking state indication accordingly. After turning off the SMS blocking, mobile equipment 100 can be configured to send the SMS message in accordance with the respective SMS standard (block 360). Following sending of the SMS message in accordance with the respective SMS standard, mobile equipment 100 can be configured to cause the SIM card 220 to turn on the SMS blocking by updating the SMS message blocking state indication accordingly (block 365) and the process ends (block 330).
  • Fig. 7 there is shown a flowchart illustrating one example of a sequence of operations carried out for initiating voice calls from roaming mobile equipment using its home network, in accordance with the presently disclosed subject matter.
  • mobile equipment e.g. by utilizing messages/voice routing module 250
  • the voice call routing process 400 can start by receiving an indication of a voice message being initiated from mobile equipment 100 (block 410).
  • the voice call can be initiated by a user utilizing input means of the mobile equipment 100, for example using the default mobile equipment 100 interface for initiating voice calls.
  • the voice call can be initiated automatically (e.g. by an application running on mobile equipment 100).
  • mobile equipment 100 can be configured to retrieve an indication of a voice call blocking state (block 415).
  • voice call blocking state indication can be a flag that can indicate whether voice calls blocking is activated or deactivated.
  • the voice calls blocking state can be updated to indicate that voice calls blocking is activated, and whenever mobile equipment 100 connects to its home network, the voice calls blocking state can be updated to indicate that voice calls blocking is deactivated.
  • the voice calls blocking state can be updated in accordance with other/additional rules, including rules that depend on the geographical location (e.g. rules that define activation of the voice calls blocking in certain geographical locations, e.g. certain countries, vs. deactivation of the voice calls blocking in other geographical locations, e.g.
  • the visited network e.g. rules that define activation of the voice calls blocking when mobile equipment 100 is connected to certain visited networks, vs. deactivation of the voice calls blocking when it is connected to other visited networks, etc.
  • the type of internet connection e.g. rules that define that when mobile equipment is connected to the internet via WiFi the voice calls blocking is activated, whereas when mobile equipment is connected to the internet via 3G/LTE the voice calls blocking is deactivated, etc.
  • the voice calls blocking state can be determined in accordance with a combination of two or more types of rules.
  • the voice calls blocking state indication can be stored and retrieved from a data repository on the mobile equipment 100. In other cases, the indication can be stored on, and retrieved from, a data repository of the SIM card 220 connected to the mobile equipment 100.
  • the SIM card can utilize a blocking state module 230 that can be configured to retrieve the voice calls blocking state indication and return it to the mobile equipment 100.
  • a blocking state module 230 can be configured to retrieve the voice calls blocking state indication and return it to the mobile equipment 100. It is to be noted that the indication of a blocking state can be stored on, and retrieved from, any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment (including remote locations accessible to the mobile equipment e.g. through any network connection).
  • mobile equipment 100 can be configured to check the voice calls blocking state indication (block 420), and if it indication indicates that the blocking is not activated the process ends (block 445).
  • mobile equipment 100 can be configured to check the quality of the available Internet connection (block 425).
  • such check can include retrieving an Internet connection quality flag.
  • mobile equipment 100 can be configured to periodically (e.g. every pre-determined time window, e.g. every 10 seconds, every minute, every five minutes, etc.) and/or randomly and/or upon one or more criteria being met (e.g. switching between cellular networks, etc.) check the accessibility of the home network voice switch 180 (e.g. by measuring ping response times) and to check the available bandwidth of the Internet connection (upload and/or download) available to mobile equipment 100 (e.g. by activating a speed test or any other suitable test).
  • mobile equipment 100 can be configured to analyze the results, determine if they meet certain criteria (e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.) and update the Internet connection quality flag accordingly.
  • certain criteria e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.
  • such check can include checking, in real-time, the accessibility of the home network voice switch 180 (e.g. by measuring ping response times) and checking, in real-time, the available bandwidth of the Internet connection (upload and/or download) available to mobile equipment 100 (e.g. by activating a speed test or any other suitable test).
  • the Internet connection quality flag and/or the results of the available bandwidth of the internet connection and/or the results of the home network voice switch 180 accessibility check can be stored and retrieved from a data repository on the mobile equipment 100, a data repository of the SIM card 220 connected to the mobile equipment 100, or any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment 100 (including remote locations accessible to the mobile equipment 100 e.g. through any network connection).
  • Mobile equipment 100 can be further configured to check if the Internet connection quality is sufficient for establishing the voice call over the Internet (block 430), by checking the Internet connection quality flag, or (e.g. in case the Internet connection quality flag is not updated or not maintained) by analyzing the results of the available bandwidth of the internet connection and/or the results of the home network voice switch 180 accessibility check and determining if the results meet certain criteria (e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.).
  • certain criteria e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.
  • the process ends (block 445) and the call is made through the visited network voice switch 170.
  • mobile equipment 100 can be configured to block the voice call (block 435) and to instruct the home network voice switch 180 to initiate the voice call over the Internet using a VOIP session (block 440).
  • the blocking of the voice call and its initiation over the Internet can be performed by activating the following function;
  • the SIP call itself can be initiated by calling the Android SIP APIs (SipManager), for example using mSipManager.makeAudioCall with the appropriate parameters.
  • SipManager Android SIP APIs
  • mSipManager.makeAudioCall with the appropriate parameters.
  • system can be implemented, at least partly, as a suitably programmed computer.
  • the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the disclosed method.
  • the presently disclosed subject matter further contemplates a machine -readable memory tangibly embodying a program of instructions executable by the machine for executing the disclosed method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method for routing Short Message Service (SMS) messages to a home network of a mobile equipment from which the SMS messages originate, the method comprising, at the mobile equipment: receiving an indication of an SMS message being sent from the mobile equipment in a first manner, the first manner is in accordance with an SMS standard; actively preventing the SMS message from being sent in the first manner; and sending, directly or indirectly, content of the SMS message and metadata associated with the SMS message to the home network in a second manner, the second manner is not in accordance with the SMS standard, thereby enabling an SMS center of the home network to send the SMS message to its destination.

Description

SYSTEM AND METHOD FOR ROUTING SMS MESSAGES SENT FROM MOBILE EQUIPMENT AND VOICE CALLS INITIATED FROM
MOBILE EQUIPMENT
TECHNICAL FIELD
The presently disclosed subject matter relates to the field of mobile equipment calls and messaging and more specifically to routing mobile equipment messages and voice calls initiated from mobile equipment.
BACKGROUND
Nowadays, when a message, such as a text message, is sent (e.g. using Short Message Service (SMS)) from mobile equipment (e.g. a mobile phone) that is located outside the geographical coverage area of its home network, the message is sent through the roaming cellular network (also referred to as the visited network) that acts as a mediator between the mobile equipment and its home network. In some cases, when such a roaming cellular network provides such services to such mobile equipment, the roaming cellular network operator can demand a fee for providing the services. In addition, a text message sent using the Short Message Service has a limited length. In case the text message is longer than such length, it is divided into several text messages that meet the length limitation prior to sending it.
Similarly, when a voice call is initiated from mobile equipment (e.g. a mobile phone) that is located outside the geographical coverage area of its home network, the voice call is carried out over the roaming cellular network (also referred to as the visited network) that acts as a mediator between the mobile equipment and its home network. In some cases, when such a roaming cellular network provides such services to such mobile equipment, the roaming cellular network operator can demand a fee for providing the services. In addition, voice over IP can produce better voice quality than the regular circuit switch telephony network. There is thus a need in the art for a new method and system for routing mobile equipment messages and voice calls, in order to avoid, if and when possible, using roaming cellular network services, and in order to avoid SMS text message length limitation.
A reference considered to be relevant as background to the presently disclosed subject matter is listed below. Acknowledgement of the reference herein is not to be inferred as meaning that it is in any way relevant to the patentability of the presently disclosed subject matter.
US Patent No. 8, 150,428 (Kupsh et al.) discloses a method for offload SMS messages from a voice network of a wireless carrier to a data network. The method includes sending a mobile originated SMS using hypertext transfer protocol (HTTP) from a wireless handset to a short message service center (SMSC) over a wireless data network. The method further includes conducting a lookup at the SMSC to determine the home SMSC for the originating mobile handset and sending a redirect to the mobile handset as means to facilitate a dynamic update of the home SMSC location stored on the wireless handset.
GENERAL DESCRIPTION
According to a first aspect of the presently disclosed subject matter, there is provided a method for routing Short Message Service (SMS) messages to a home network of a mobile equipment from which the SMS messages originate, the method comprising, at the mobile equipment: receiving an indication of an SMS message being sent from the mobile equipment in a first manner, the first manner is in accordance with an SMS standard; actively preventing the SMS message from being sent in the first manner; and sending content of the SMS message and metadata associated with the SMS message to an SMS gateway of the home network in a second manner, the second manner is not in accordance with the SMS standard, thereby enabling the SMS gateway to instruct an SMS center of the home network to send the SMS message to its destination.
In some cases, the content is text inputted by a user of the mobile equipment.
In some cases, the content is received through a default interface used to send the SMS message in the first manner.
In some cases the mobile equipment comprises a Subscriber Identity Module (SIM) card, and the method further comprises, following the receiving: triggering operation of a function on the SIM card, the function being configured to return a blocking state flag to the mobile equipment, the blocking state flag being indicative of a blocking state of the SMS messages; receiving the blocking state flag from the SIM card; and wherein the preventing and the sending are performed in case the blocking state flag indicates that the SMS messages are blocked.
In some cases, the method further comprises updating the blocking state flag to indicate that the SMS messages are not blocked responsive to determining that the mobile equipment is not roaming and updating the blocking state flag to indicate that the SMS messages are blocked responsive to determining that the mobile equipment is roaming.
In some cases the determining is performed using the Mobile Country Code (MCC) and the Mobile Network Code (MNC) of the mobile equipment.
In some cases the second manner is through an Internet connection.
In some cases, in case the sending in the second manner failed or in case the Internet connection is not available, the method further comprises: updating the blocking state flag to indicate that the SMS messages are not blocked; sending the SMS message in the first manner; and following the sending the SMS message in the first manner, updating the blocking state flag to indicate that the SMS messages are blocked.
In some cases, the sending the SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
In some cases, the sending the SMS message in a first manner using Radio interface via GSM MAP is performed using MT-ForwardSM operation.
In some cases, the mobile equipment is operated using android operating system.
In some cases, the indication is an
EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM event.
In some cases, the metadata is retrieved from a messages database of the mobile equipment.
In some cases, the metadata comprises, at least, a destination phone number associated with the SMS message.
In some cases, the method further comprises receiving a notification of a transmittal result of the SMS message, from the SMS gateway.
In some cases, the transmittal result is success or failure. According to a second aspect of the presently disclosed subject matter, there is provided a mobile equipment comprising a processing unit, the processing unit configured to: receive an indication of an SMS message being sent from the mobile equipment in a first manner, the first manner is in accordance with an SMS standard; prevent the SMS message from being sent in the first manner; and send content of the SMS message and metadata associated with the SMS message to an SMS gateway of the home network in a second manner, the second manner is not in accordance with the SMS standard, thereby enabling the SMS gateway to instruct an SMS center of the home network to send the SMS message to its destination.
In some cases, the content is text inputted by a user of the mobile equipment.
In some cases, the content is received through a default interface used to send the SMS message in the first manner.
In some cases, the mobile equipment comprises a Subscriber Identity Module (SIM) card, and, wherein following the receive, the processor is further configured to: trigger operation of a function on the SIM card, the function being configured to return a blocking state flag to the mobile equipment, the blocking state flag being indicative of a blocking state of the SMS messages; receive the blocking state flag from the SIM card; and wherein the prevent and the send are performed in case the blocking state flag indicates that the SMS messages are blocked.
In some cases, the processor is further configured to update the blocking state flag to indicate that the SMS messages are not blocked responsive to determining that the mobile equipment is not roaming and update the blocking state flag to indicate that the SMS messages are blocked responsive to determining that the mobile equipment is roaming.
In some cases, the determine is performed using the Mobile Country Code (MCC) and the Mobile Network Code (MNC) of the mobile equipment.
In some cases, the second manner is through an Internet connection.
In some cases, in case the send in the second manner failed or in case the Internet connection is not available, the processor is further configured to: update the blocking state flag to indicate that the SMS messages are not blocked; send the SMS message in the first manner; and following the sending the SMS message in the first manner, update the blocking state flag to indicate that the SMS messages are blocked. In some cases, the send the SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
In some cases, the send the SMS message in a first manner using Radio interface via GSM MAP is performed using MT-ForwardSM operation.
In some cases, the mobile equipment is operated using an Android operating system.
In some cases, the indication is an
EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM event.
In some cases, the metadata is retrieved from a messages database of the mobile equipment.
In some cases, the metadata comprises, at least, a destination phone number associated with the SMS message.
In some cases, the processor is further configured to receive a notification of a transmittal result of the SMS message, from the SMS gateway.
In some cases, the transmittal result is success or failure.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to understand the presently disclosed subject matter and to see how it may be carried out in practice, the subject matter will now be described, by way of non- limiting examples only, with reference to the accompanying drawings, in which:
Fig. 1 is a schematic illustration of known systems for sending messages from roaming mobile equipment;
Fig. 2 is a schematic illustration of system for routing a message sent from roaming mobile equipment, in accordance with the presently disclosed subject matter;
Fig. 3 is a schematic illustration of known systems for routing a voice call initiated from roaming mobile equipment;
Fig. 4 is a schematic illustration of system for routing a voice call initiated from roaming mobile equipment, in accordance with the presently disclosed subject matter;
Fig. 5 is a block diagram schematically illustrating one example of mobile equipment, in accordance with the presently disclosed subject matter; Fig. 6 is a flowchart illustrating one example of a sequence of operations carried out for routing messages sent from a mobile equipment to its home network, in accordance with the presently disclosed subject matter; and
Fig. 7 is a flowchart illustrating one example of a sequence of operations carried out for initiating voice calls from roaming mobile equipment using its home network, in accordance with the presently disclosed subject matter.
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
In the drawings and descriptions set forth, identical reference numerals indicate those components that are common to different embodiments or configurations.
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "receiving", "preventing", "sending", "routing", "triggering", "blocking", "updating", "utilizing", or the like, include action and/or processes of a computer that manipulate and/or transform data into other data, said data represented as physical quantities, e.g. such as electronic quantities, and/or said data representing the physical objects. The terms "computer", "processor", and "controller" should be expansively construed to cover any kind of electronic device with data processing capabilities, including, by way of non- limiting example, a personal computer, a server, a computing system, a communication device, a processor (e.g. digital signal processor (DSP), a microcontroller, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.), any other electronic computing device, and or any combination thereof.
The operations in accordance with the teachings herein may be performed by a computer specially constructed for the desired purposes or by a general purpose computer specially configured for the desired purpose by a computer program stored in a non- transitory computer readable storage medium. The term "non-transitory" is used herein to exclude transitory, propagating signals, but to otherwise include any volatile or nonvolatile computer memory technology suitable to the application. As used herein, the phrase "for example," "such as", "for instance" and variants thereof describe non-limiting embodiments of the presently disclosed subject matter. Reference in the specification to "one case", "some cases", "other cases" or variants thereof means that a particular feature, structure or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the presently disclosed subject matter. Thus the appearance of the phrase "one case", "some cases", "other cases" or variants thereof does not necessarily refer to the same embodiment(s).
It is appreciated that, unless specifically stated otherwise, certain features of the presently disclosed subject matter, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the presently disclosed subject matter, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.
In some cases, fewer, more and/or different stages than those shown in Figs. 5-6 may be executed. In some cases, one or more stages illustrated in Figs. 5-6 may be executed in a different order and/or one or more groups of stages may be executed simultaneously. Figs. 1-4 illustrate a general schematic of the system architecture in accordance with one example of the presently disclosed subject matter. Each module in Figs. 1-4 can be made up of any combination of one or more of software, hardware and/or firmware that performs the functions as defined and explained herein. All or part of the modules in Figs. 1-4 may be centralized in one location or dispersed over more than one location. In some cases the system may comprise fewer, more, and/or different modules than those shown in Figs. 1-4.
Bearing this in mind, attention is drawn to Fig. 1, showing a schematic illustration of known systems for sending messages from roaming mobile equipment.
Mobile equipment 100 (e.g. a cellular phone) can be configured to enable a user to send Short Message Service (SMS) messages to other mobile equipment devices or to other suitable computerized devices (personal computers, laptop computers, tablet computers, or any other suitable device capable of being connected to the Internet via wired and/or wireless connections and capable of receiving text messages). When mobile equipment 100 is roaming (e.g. located outside the geographical coverage area of the home network with which it is associated), an SMS message sent therefrom is sent to its destination (e.g. a destination provided by the user, for example a destination cellular phone number, etc.) through a visited cellular network 140 that provides service to the mobile equipment at the time the message is sent, to a Mobile Switching Center (MSC) 150 of the visited network. Such MSC 150 then forwards the SMS message (e.g. using GSM-MAP Signaling System 7 (SS7) on GSM networks, or using other network technologies/protocols over other networks), through an interconnecting network 160 that interconnects cellular networks of various operators (including at least the visited cellular network 140 and the home cellular network with which the mobile equipment is associated), to the SMS Center (SMSC) 130 of the home cellular network with which the mobile equipment 100 is associated (e.g. on which the mobile equipment 100 is registered). For that purpose, the MSC 150 can utilize an SMSC address that accompanies the SMS message text.
In some cases, the home network with which the mobile equipment 100 is associated can be identified using an International Mobile Subscriber Identity (IMSI) stored on the Subscriber Identity Module (SIM) card connected to the mobile equipment 100. In some cases, the IMSI contains a Mobile Country Code (MCC) and a Mobile Network Code (MNC) which distinctly identify a specific home network with which the mobile equipment 100 is associated. Such data can be utilized in order to determine if the mobile equipment 100 is connected to its home network or roaming on a visited network.
It is to be noted that when the mobile equipment 100 is using the Android operating system, the MCC and MNC can be retrieved from mobile equipment 100 using:
TelephonyManager tMgr (TelephonyManager)context.getSystemService (Context. TELEPHON Y_SER VICE) ;
String networkOperator = tMgr.getNetworkOperator();
It is to be noted that the SMS message is sent in accordance with an SMS standard (GSM-MAP for GSM and for LTE over GSM; IS-41 for CDMA or LTE over CDMA, etc.) associated with the relevant cellular network standard (e.g. GSM, CDMA, LTE, etc.). It is to be further noted that when such SMS message is sent in accordance with the SMS standard, the visited network operator can charge the home network operator for the services provided by the visited network for transferring the SMS message to the home network SMSC 130, e.g. in accordance with a roaming agreement between them. It is to be further noted that the SMS standards usually restrict the length of an SMS message to a certain length depending for example on the encoding used (e.g. 7 bit alphabet messages that are 140 English characters). Attention is now drawn to Fig. 2, showing a schematic illustration of a system for routing a message sent from roaming mobile equipment, in accordance with the presently disclosed subject matter.
As indicated herein, in some cases, a visited network operator can charge the home network operator for the services provided by it while mobile equipment 100 sends an SMS message. In addition, in some cases there are length limitations on such SMS messages. In accordance with the presently disclosed subject matter, mobile equipment 100 can be configured to prevent an SMS message from being sent in accordance with the SMS standard as detailed herein and to send the content of the SMS message (e.g. text inputted by a user of the mobile equipment 100) and all or part of the metadata associated with the SMS message, including at least an indication of the SMS message destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to a home network SMSC 130, optionally through an SMS gateway 125.
Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc). It is to be noted that in some cases, the metadata associated with the SMS message can also include one or more of the following: the sender's address (e.g. the phone number of the mobile equipment from which the SMS message was sent), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
It is to be further noted that the data can be sent to the SMS gateway 125 in a format other than the format dictated by the SMS standard, and in such cases the SMS gateway 125 can be configured to translate the data to the format that meets the SMS standard and to forward the translated data to the home network SMSC 130 for sending it to its destination.
Bearing this in mind, attention is drawn to Fig. 3, showing a schematic illustration of known systems for routing a voice call initiated from roaming mobile equipment.
Mobile equipment 100 (e.g. a cellular phone) can be configured to enable a user to initiate voice calls to other mobile equipment devices or to other suitable computerized devices (personal computers, laptop computers, tablet computers, or any other suitable device capable of being connected to the Internet via wired and/or wireless connections and capable of receiving voice calls). When mobile equipment 100 is roaming (e.g. located outside the geographical coverage area of the home network with which it is associated), a voice call initiated therefrom is sent to its destination (e.g. a destination provided by the user, for example a destination cellular phone number, etc.) through a visited cellular network 140 that provides service to the mobile equipment at the time the voice call is initiated, to the visited network voice switch 170. Such visited network voice switch 170 then forwards the voice call (e.g. using Signaling System 7 (SS7) on GSM networks, or using other network technologies/protocols over other networks), through an interconnecting network 160 that interconnects cellular networks of various operators (including at least the visited cellular network 140 and the home cellular network with which the mobile equipment is associated), to the home network 185 of the home cellular network with which the mobile equipment 100 is associated (e.g. on which the mobile equipment 100 is registered).
In some cases, the home network with which the mobile equipment 100 is associated can be identified using an International Mobile Subscriber Identity (IMSI) stored on the Subscriber Identity Module (SIM) card connected to the mobile equipment 100. In some cases, the IMSI contains a Mobile Country Code (MCC) and a Mobile Network Code (MNC) which distinctly identify a specific home network with which the mobile equipment 100 is associated. Such data can be utilized in order to determine if the mobile equipment 100 is connected to its home network or roaming on a visited network.
It is to be noted that when the mobile equipment 100 is using the Android operating system, the MCC and MNC can be retrieved from mobile equipment 100 using:
TelephonyManager tMgr (TelephonyManager)context.getSystemService (Context.TELEPHONY SERVICE);
String networkOperator = tMgr.getNetworkOperator();
It is to be noted that the voice call is carried out in accordance with the regular circuit switch telephony network (not using voice over IP). It is to be further noted that when such voice call is carried out in accordance with the regular circuit switch telephony network, the visited network operator can charge the home network operator for the services provided by the visited network for enabling the voice call, e.g. in accordance with a roaming agreement between them. It is to be further noted that in some cases voice over IP can produce better voice quality than the regular circuit switch telephony network.
Attention is now drawn to Fig. 4, showing a schematic illustration of system for routing a voice call initiated from roaming mobile equipment, in accordance with the presently disclosed subject matter.
As indicated herein, in some cases, a visited network operator can charge the home network operator for the services provided by it following initiation of a voice call by roaming mobile equipment 100. In accordance with the presently disclosed subject matter, mobile equipment 100 can be configured to prevent a voice call from being initiated using a visited network and to initiate the voice call over the internet 120 using a Voice Over Internet Protocol (VOIP) session. The mobile equipment 100 can send all or part of the metadata associated with the initiated voice call, including at least an indication of the voice call destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to a home network voice switch 180 (e.g. a soft switch, a media gateway, etc.) that is configured to initiate the voice call (e.g. using standard call initiation/call control protocols such as Session Initiation Protocol (SIP)), optionally through a voice gateway 190.
Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc). It is to be noted that in some cases, the metadata associated with the initiated voice call can also include one or more of the following: the sender's address (e.g. the phone number of the mobile equipment from which the voice call was initiated), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
It is to be further noted that the data can be sent to the voice gateway 190 in a format other than the format dictated by the VOIP standard, and in such cases the voice gateway 190 can be configured to translate the data to the format that meets the VOIP standard and to forward the translated data to the home network voice switch 180 for initiating the voice call (e.g. using standard call initiation/call control protocols such as Session Initiation Protocol (SIP)). Fig. 5 is a block diagram schematically illustrating one example of mobile equipment, in accordance with the presently disclosed subject matter.
Mobile equipment 100 comprises at least one processing unit 200 (e.g. digital signal processor (DSP), a microcontroller, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.) configured to receive instructions and to manage, control and execute the components and operations of mobile equipment 100.
Mobile equipment 100 further comprises a SIM card 220 connected thereto. The SIM card can comprise a blocking state module, configured to provide an indication of a blocking state of SMS messages, as further detailed herein, inter alia with reference to Fig. 6.
Mobile equipment 100 still further comprises a messages/calls data repository 210 for storing and enabling retrieval of various data relating to SMS messages (e.g. one or more of: SMS message ID, SMS messages content, data indicative of the SMS message destination, SMS message sending date and/or time, etc.) and call history (e.g. one or more of: voice call ID, data indicative of the voice call destination, voice call initiation date and/or time, etc.), as further detailed below. Messages/calls data repository 210 can be for example non- volatile or volatile memory, including, but not limited to, RAM, flash memory, etc.
Mobile equipment 100 also comprises a telephony layer 260 that enables it, inter alia, to send SMS messages in accordance with the SMS standard and to initiate voice calls in accordance with the regular circuit switch telephony network.
Mobile equipment 100 further comprises a network interface 270 that enables it, inter alia, to establish Internet connection 120.
Mobile equipment 100 can further comprise a roaming state module 240 and/or a messages/voice routing module 250.
Roaming state module 240 can be configured to provide an indication if the mobile equipment 100 is roaming or not, as further detailed herein, inter alia with reference to fig. 6.
Messages/voice routing module 250 can be configured to perform an SMS message routing process, as further detailed herein, inter alia with reference to fig. 6 and/or a voice call routing process, as further detailed herein, inter alia with reference to fig. 7. Attention is now drawn to Fig. 6, showing a flowchart illustrating one example of a sequence of operations carried out for routing messages sent from mobile equipment to its home network, in accordance with the presently disclosed subject matter.
In some cases, mobile equipment, e.g. by utilizing messages/voice routing module 250, can be configured to perform an SMS message routing process 300. The SMS message routing process 300 can start by receiving an indication of an SMS message being sent from mobile equipment 100 (block 310). In some cases the SMS message can be inputted by a user through input means of the mobile equipment 100, for example using the default mobile equipment 100 interface for sending SMS messages. In other cases, the SMS messages can be automatically generated (e.g. by an application running on mobile equipment 100).
In some cases, e.g. when the mobile equipment 100 is using the Android operating system (however not thus limited), the indication can be received upon detection of one or more changes in the outgoing SMS database of the Android operated mobile equipment 100. In such cases, the mobile equipment 100 can register to such changes in the outgoing SMS database (e.g., in Android operating systems, using contentResolver.registerContentObserver(Uri.parse("content://sms/"),true,myObserver)), and, whenever a change is detected, the SMS message routing process 300 starts.
Once an indication of an SMS message being sent is received, mobile equipment 100 can be configured to retrieve an indication of an SMS message blocking state (block 315). Such SMS message blocking state indication can be a flag that can indicate whether SMS message blocking is activated or deactivated.
It is to be noted that in some cases, if the mobile equipment 100 is roaming, the SMS message blocking is activated, otherwise it is deactivated. It is to be further noted that in some cases, whenever mobile equipment 100 connects to a visited network, the SMS message blocking state can be updated to indicate that SMS message blocking is activated, and whenever mobile equipment 100 connects to its home network, the SMS message blocking state can be updated to indicate that SMS message blocking is deactivated. In some cases, the SMS message blocking state can be updated in accordance with other/additional rules, including rules that depend on the geographical location (e.g. rules that define activation of the SMS message blocking in certain geographical locations, e.g. certain countries, vs. deactivation of the SMS message blocking in other geographical locations, e.g. other countries, etc.), the visited network (e.g. rules that define activation of the SMS message blocking when mobile equipment 100 is connected to certain visited networks, vs. deactivation of the SMS message blocking when it is connected to other visited networks, etc.), the type of internet connection (e.g. rules that define that when mobile equipment is connected to the internet via WiFi the SMS message blocking is activated, whereas when mobile equipment is connected to the internet via 3G/LTE the SMS message blocking is deactivated, etc.), etc. In some cases the SMS message blocking state can be determined in accordance with a combination of two or more types of rules.
In some cases, the SMS message blocking state indication can be stored and retrieved from a data repository on the mobile equipment 100. In other cases, the indication can be stored on, and retrieved from, a data repository of the SIM card 220 connected to the mobile equipment 100.
In case the indication is stored on the SIM card 220, the SIM card can utilize a blocking state module 230 that can be configured to retrieve the SMS message blocking state indication and return it to the mobile equipment 100. It is to be noted that the indication of a blocking state can be stored on, and retrieved from, any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment (including remote locations accessible to the mobile equipment e.g. through any network connection).
In some cases, mobile equipment 100 can be configured to check the SMS message blocking state (block 320). If the SMS messages blocking state indication indicates that the blocking is not activated, mobile equipment 100 can be configured to send the SMS message in accordance with an SMS standard (e.g., for Global System for Mobile Communications (GSM), via a radio interface via GSM Mobile Application Part (MAP), e.g. using MT-ForwardSM operation) (block 325).
The SMS standard can be, for example:
For GSM or LTE over GSM: GSM-MAP (see European Telecommunications Standards Institute "Digital cellular telecommunications system (Phase 2+); Mobile Application Part (MAP) specification (GSM 09.02)" and European Telecommunications Standards Institute, "Digital cellular telecommunications system (Phase 2+); Technical realization of the Short Message Service (SMS) Point-to-Point (PP) (GSM 03.40)");
For CDMA or LTE over CDMA: CDMA IS-41 (see 3GPP2 C.S0015-A); It is to be noted that other cellular networks (operating in accordance with standard other than GSM, CDMA, LTE over GSM, LTE over CDMA), other SMS standards can be used, and the presently disclosed subject matter can be applied to them as well, mutatis mutandis.
Returning to fig. 4, following sending of the SMS in accordance with an SMS standard the process ends (block 330).
If, however, the SMS messages blocking state indication indicates that the blocking is activated, mobile equipment 100 can be configured to prevent the SMS message from being sent (block 335).
In some cases, e.g. when the mobile equipment 100 is using the Android operating system (however not thus limited), upon receipt of an indication that an SMS message is sent, the mobile equipment 100 can be optionally configured to scan its outgoing SMS box (comprising data of sent SMSs and metadata thereof), and mark any new SMS message records that are identified (e.g. SMS messages whose status is "queued") to indicate that they are "sent" in order to prevent any further processing thereof. In addition to marking the relevant SMS messages as sent, the mobile equipment 100 can further keep an indication of new SMS messages for further processing as indicated herein.
It is to be noted that in some cases, if the mobile equipment 100 is trying to send the SMS messages before their status is changed to "sent", the sending of such messages can be prevented by using the SIM card 220. In some cases, SIM card 220 can be configured to maintain a flag indicative of an SMS message blocking state. In some cases, before mobile equipment 100 sends an SMS message, it is configured to check the SMS message blocking state in accordance with the flag, e.g. by triggering an event EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM in its SIM card 220. In some cases, such an event can trigger operation of a function that can return to the mobile equipment 100 an SMS message blocking state indication, indicating whether SMS messages are to be blocked or not. If the SMS messages are blocked in accordance with the SMS message blocking state indication, mobile equipment 100 can be configured to prevent sending of the SMS message, mark it as sent and keep an indication that the specific message that was blocked requires further processing.
In some cases, mobile equipment 100 can be configured to check if any Internet connection is available to it (block 340), and if so, it can be configured to send the content of the SMS message and all or part of the metadata associated with the SMS message, including at least an indication of the SMS message destination (e.g. destination phone number), through an Internet connection 120 of said mobile equipment, to the home network SMSC 130 that is configured in turn to send the SMS message to its destination, optionally through an SMS gateway 125 (block 345). Such Internet connection 120 can be realized through any suitable connection (including wired or wireless) and communication technology or standard (WiFi, 3G, LTE, etc). It is to be noted that in some cases, the metadata associated with the SMS message can also include one or more of the following: the sender address (e.g. the phone number of the mobile equipment from which the SMS message was sent), Android OS version, International Mobile Equipment Identity (IMEI) of the mobile equipment 100, International mobile subscriber identity (IMSI) number of the mobile equipment 100, etc.
It is to be further noted that in some cases, only if a WiFi connection exists mobile equipment 100 will send the data therethrough. In such cases, if no WiFi connection exists, the process continues as if no Internet connection exists, as detailed herein.
In some cases, mobile equipment 100 can be configured to wait for an indication of a successful sending. In some cases, such indication can be received from the SMS gateway 125. Mobile equipment 100 can be configured to check the indication (block 350) and in case of a successful sending, the process ends (block 330).
If no Internet connection exists, or in case of a failure in sending the SMS message through the Internet connection, mobile equipment 100 can be configured to unblock SMS messages sending (block 355). In such cases, mobile equipment 100 can be configured to cause the SIM card 220 to turn off the SMS blocking by updating the SMS message blocking state indication accordingly. After turning off the SMS blocking, mobile equipment 100 can be configured to send the SMS message in accordance with the respective SMS standard (block 360). Following sending of the SMS message in accordance with the respective SMS standard, mobile equipment 100 can be configured to cause the SIM card 220 to turn on the SMS blocking by updating the SMS message blocking state indication accordingly (block 365) and the process ends (block 330).
Turning to Fig. 7, there is shown a flowchart illustrating one example of a sequence of operations carried out for initiating voice calls from roaming mobile equipment using its home network, in accordance with the presently disclosed subject matter. In some cases, mobile equipment, e.g. by utilizing messages/voice routing module 250, can be configured to perform a voice call routing process 400. The voice call routing process 400 can start by receiving an indication of a voice message being initiated from mobile equipment 100 (block 410). In some cases the voice call can be initiated by a user utilizing input means of the mobile equipment 100, for example using the default mobile equipment 100 interface for initiating voice calls. In other cases, the voice call can be initiated automatically (e.g. by an application running on mobile equipment 100).
In some cases, e.g. when the mobile equipment 100 is using the Android operating system (however not thus limited), the indication can be detection of a new outgoing call action (as defined in the manifest.xml Intent filter: <action android:name="android.intent.action.NEW_OUTGOING_CALL" />).
Once an indication of a voice call being initiated is received, mobile equipment 100 can be configured to retrieve an indication of a voice call blocking state (block 415). Such voice call blocking state indication can be a flag that can indicate whether voice calls blocking is activated or deactivated.
It is to be noted that in some cases, if the mobile equipment 100 is roaming, the voice calls blocking is activated, otherwise it is deactivated. It is to be further noted that in some cases, whenever mobile equipment 100 connects to a visited network, the voice calls blocking state can be updated to indicate that voice calls blocking is activated, and whenever mobile equipment 100 connects to its home network, the voice calls blocking state can be updated to indicate that voice calls blocking is deactivated. In some cases, the voice calls blocking state can be updated in accordance with other/additional rules, including rules that depend on the geographical location (e.g. rules that define activation of the voice calls blocking in certain geographical locations, e.g. certain countries, vs. deactivation of the voice calls blocking in other geographical locations, e.g. other countries, etc.), the visited network (e.g. rules that define activation of the voice calls blocking when mobile equipment 100 is connected to certain visited networks, vs. deactivation of the voice calls blocking when it is connected to other visited networks, etc.), the type of internet connection (e.g. rules that define that when mobile equipment is connected to the internet via WiFi the voice calls blocking is activated, whereas when mobile equipment is connected to the internet via 3G/LTE the voice calls blocking is deactivated, etc.), etc. In some cases the voice calls blocking state can be determined in accordance with a combination of two or more types of rules. In some cases, the voice calls blocking state indication can be stored and retrieved from a data repository on the mobile equipment 100. In other cases, the indication can be stored on, and retrieved from, a data repository of the SIM card 220 connected to the mobile equipment 100.
In case the indication is stored on the SIM card 220, the SIM card can utilize a blocking state module 230 that can be configured to retrieve the voice calls blocking state indication and return it to the mobile equipment 100. It is to be noted that the indication of a blocking state can be stored on, and retrieved from, any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment (including remote locations accessible to the mobile equipment e.g. through any network connection).
In some cases, mobile equipment 100 can be configured to check the voice calls blocking state indication (block 420), and if it indication indicates that the blocking is not activated the process ends (block 445).
In case the voice calls blocking state indication indicates that the blocking is activated, mobile equipment 100 can be configured to check the quality of the available Internet connection (block 425).
In some cases, such check can include retrieving an Internet connection quality flag. In such cases mobile equipment 100 can be configured to periodically (e.g. every pre-determined time window, e.g. every 10 seconds, every minute, every five minutes, etc.) and/or randomly and/or upon one or more criteria being met (e.g. switching between cellular networks, etc.) check the accessibility of the home network voice switch 180 (e.g. by measuring ping response times) and to check the available bandwidth of the Internet connection (upload and/or download) available to mobile equipment 100 (e.g. by activating a speed test or any other suitable test). It is to be noted that in some cases the raw results of such checks are stored whereas in other cases, mobile equipment 100 can be configured to analyze the results, determine if they meet certain criteria (e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.) and update the Internet connection quality flag accordingly.
In other cases such check can include checking, in real-time, the accessibility of the home network voice switch 180 (e.g. by measuring ping response times) and checking, in real-time, the available bandwidth of the Internet connection (upload and/or download) available to mobile equipment 100 (e.g. by activating a speed test or any other suitable test).
It is to be further noted that the Internet connection quality flag and/or the results of the available bandwidth of the internet connection and/or the results of the home network voice switch 180 accessibility check, can be stored and retrieved from a data repository on the mobile equipment 100, a data repository of the SIM card 220 connected to the mobile equipment 100, or any other suitable location in the mobile equipment 100, the SIM card connected thereto, or any other location accessible to the mobile equipment 100 (including remote locations accessible to the mobile equipment 100 e.g. through any network connection).
Mobile equipment 100 can be further configured to check if the Internet connection quality is sufficient for establishing the voice call over the Internet (block 430), by checking the Internet connection quality flag, or (e.g. in case the Internet connection quality flag is not updated or not maintained) by analyzing the results of the available bandwidth of the internet connection and/or the results of the home network voice switch 180 accessibility check and determining if the results meet certain criteria (e.g. a minimal available upload and/or download bandwidth, a maximal ping response time of the home network voice switch 180, etc.).
In case the Internet connection quality is not sufficient for establishing the voice call over the Internet or that the home network voice switch 180 is not accessible, the process ends (block 445) and the call is made through the visited network voice switch 170. However, if the Internet connection quality is sufficient for establishing the voice call over the Internet and the home network voice switch 180 is accessible, mobile equipment 100 can be configured to block the voice call (block 435) and to instruct the home network voice switch 180 to initiate the voice call over the Internet using a VOIP session (block 440).
In some cases, e.g. when the mobile equipment 100 is using the Android operating system (however not thus limited), the blocking of the voice call and its initiation over the Internet can be performed by activating the following function;
public class OutgoingCallReceiver extends BroadcastReceiver {
@ Override
public void onReceive(Context context, Intent intent) { makeSipCallQ; setResultData(null) ;
abortBroadcast() ;
}
}
The SIP call itself can be initiated by calling the Android SIP APIs (SipManager), for example using mSipManager.makeAudioCall with the appropriate parameters.
It is to be understood that the presently disclosed subject matter is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The presently disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Hence, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the presently disclosed subject matter.
It will also be understood that the system according to the presently disclosed subject matter can be implemented, at least partly, as a suitably programmed computer. Likewise, the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the disclosed method. The presently disclosed subject matter further contemplates a machine -readable memory tangibly embodying a program of instructions executable by the machine for executing the disclosed method.

Claims

CLAIMS:
1. A method for routing Short Message Service (SMS) messages to a home network of a mobile equipment from which said SMS messages originate, the method comprising, at the mobile equipment:
receiving an indication of an SMS message being sent from said mobile equipment in a first manner, said first manner is in accordance with an SMS standard;
actively preventing said SMS message from being sent in said first manner; and
sending, directly or indirectly, content of said SMS message and metadata associated with said SMS message to said home network in a second manner, said second manner is not in accordance with said SMS standard, thereby enabling an SMS center of said home network to send the SMS message to its destination.
2. The method of claim 1 wherein said content is text inputted by a user of said mobile equipment.
3. The method of claim 1 wherein said content is received through a default interface used to send said SMS message in said first manner.
4. The method of claim 1 wherein said mobile equipment comprises a Subscriber Identity Module (SIM) card, wherein said method further comprises, following said receiving:
triggering operation of a function on said SIM card, said function being configured to return a blocking state flag to said mobile equipment, said blocking state flag being indicative of a blocking state of said SMS messages; receiving said blocking state flag from said SIM card;
and wherein said preventing and said sending are performed in case said blocking state flag indicates that said SMS messages are blocked.
5. The method of claim 4 further comprising updating said blocking state flag to indicate that said SMS messages are not blocked responsive to determining that said mobile equipment is not roaming and updating said blocking state flag to indicate that said SMS messages are blocked responsive to determining that said mobile equipment is roaming.
6. The method of claim 5 wherein said determining is performed using a Mobile Country Code (MCC) and a Mobile Network Code (MNC) of said mobile equipment.
7. The method of claim 4 wherein said second manner is through an Internet connection.
8. The method of claim 7 wherein in case said sending in said second manner failed or in case said Internet connection is not available, the method further comprises:
updating said blocking state flag to indicate that said SMS messages are not blocked;
sending said SMS message in said first manner; and
following said sending said SMS message in said first manner, updating said blocking state flag to indicate that said SMS messages are blocked.
9. The method of claim 1 wherein said sending said SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
10. The method of claim 9 wherein said sending said SMS message in a first manner using Radio interface via GSM MAP is performed using MT- ForwardSM operation.
11. The method of claim 4 wherein said mobile equipment is operated
Android operating system.
12. The method of claim 11 wherein said indication is an EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM event.
13. The method of claim 11 wherein said metadata is retrieved from a messages database of said mobile equipment.
14. The method of claim 13 wherein said metadata comprises, at least, a destination phone number associated with said SMS message.
15. The method of claim 1 further comprising receiving a notification of a transmittal result of said SMS message, from said home network.
16. The method of claim 15 wherein said transmittal result is success or failure.
17. A mobile equipment comprising a processing unit, said processing unit configured to:
receive an indication of an SMS message being sent from said mobile equipment in a first manner, said first manner is in accordance with an SMS standard;
prevent said SMS message from being sent in said first manner; and send, directly or indirectly, content of said SMS message and metadata associated with said SMS message to a home network of the mobile equipment in a second manner, said second manner is not in accordance with said SMS standard, thereby enabling an SMS center of said home network to send the SMS message to its destination.
18. The mobile equipment of claim 17 wherein said content is text inputted by a user of said mobile equipment.
19. The mobile equipment of claim 17 wherein said content is received through a default interface used to send said SMS message in said first manner.
20. The mobile equipment of claim 17 wherein said mobile equipment comprises a Subscriber Identity Module (SIM) card, and wherein, following said receive, said processing unit is further configured to:
trigger operation of a function on said SIM card, said function being configured to return a blocking state flag to said mobile equipment, said blocking state flag being indicative of a blocking state of said SMS messages; receive said blocking state flag from said SIM card;
and wherein said prevent and said send are performed in case said blocking state flag indicates that said SMS messages are blocked.
21. The mobile equipment of claim 20 wherein said processing unit is further configured to update said blocking state flag to indicate that said SMS messages are not blocked responsive to determining that said mobile equipment is not roaming and update said blocking state flag to indicate that said SMS messages are blocked responsive to determining that said mobile equipment is roaming.
22. The mobile equipment of claim 21 wherein said determine is performed using a Mobile Country Code (MCC) and a Mobile Network Code (MNC) of said mobile equipment.
23. The mobile equipment of claim 20 wherein said second manner is through an Internet connection.
24. The mobile equipment of claim 23 wherein in case said send in said second manner failed or in case said Internet connection is not available, the processing unit is further configured to:
update said blocking state flag to indicate that said SMS messages are not blocked;
send said SMS message in said first manner; and
following said sending said SMS message in said first manner, update said blocking state flag to indicate that said SMS messages are blocked.
25. The mobile equipment of claim 17 wherein said send said SMS message in a first manner is performed using radio interface via Global System for Mobile Communications (GSM) Mobile Application Part (MAP).
26. The mobile equipment of claim 25 wherein said send said SMS message in a first manner using Radio interface via GSM MAP is performed using MT- ForwardSM operation.
27. The mobile equipment of claim 20 wherein said mobile equipment is operated using Android operating system.
28. The mobile equipment of claim 27 wherein said indication is an EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM event.
29. The mobile equipment of claim 27 wherein said metadata is retrieved from a messages database of said mobile equipment.
30. The mobile equipment of claim 29 wherein said metadata comprises, at least, a destination phone number associated with said SMS message.
31. The mobile equipment of claim 17 wherein said processing unit is further configured to receive a notification of a transmittal result of said SMS message, from said home network.
32. The mobile equipment of claim 31 wherein said transmittal result is success or failure.
33. A system for routing Short Message Service (SMS) messages to a home network of a mobile equipment from which said SMS messages originate, wherein the mobile equipment comprising a processing unit, said processing unit configured to: receive an indication of an SMS message being sent from said mobile equipment in a first manner, said first manner is in accordance with an SMS standard;
prevent said SMS message from being sent in said first manner; and send, directly or indirectly, content of said SMS message and metadata associated with said SMS message to said home network in a second manner, said second manner is not in accordance with said SMS standard, thereby enabling an SMS center of said home network to send the SMS message to its destination.
34. A method for routing a voice call to a home network of a mobile equipment from which said voice call originate, the method comprising, at the mobile equipment:
receiving an indication of a non voice over IP (VOIP)_voice call being initiated from said mobile equipment;
determining if an internet connection of said mobile equipment meets one or more criteria, and if not, performing the following:
preventing said voice call from being initiated; and
instructing a home network voice switch of the home network to initiate the voice call over the Internet using a VOIP session.
35. The method of claim 34 wherein said determining comprises retrieving a predetermined Internet connection quality flag and determining if said Internet connection quality flag meets said criteria, wherein said criteria is a given value of the predetermined Internet connection quality flag.
36. The method of claim 35 wherein said Internet connection quality flag is given a first value if an available bandwidth of said internet connection is above a minimal available bandwidth of an Internet connection of the mobile equipment and a second value if the available bandwidth of said internet connection is below the minimal available bandwidth.
37. The method of claim 35 wherein said Internet connection quality flag is given a first value if a ping response time of the home network voice switch is below a maximal ping response time and a second value if the ping response time is above the maximal ping response time.
38. The method of claim 34 wherein said determining comprises calculating a bandwidth of said internet connection and determining if said bandwidth meets said criteria, wherein said criteria is a minimal available bandwidth of an Internet connection of the mobile equipment.
39. The method of claim 34 wherein said determining comprises pinging the home network voice switch and determining if a response time of said ping meets said criteria, wherein said criteria is a maximal ping response time.
PCT/IL2014/050440 2013-05-26 2014-05-20 System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment WO2014191985A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL226560 2013-05-26
IL226560A IL226560A0 (en) 2013-05-26 2013-05-26 System and method for routing mobile equipment sms messages

Publications (1)

Publication Number Publication Date
WO2014191985A1 true WO2014191985A1 (en) 2014-12-04

Family

ID=49328822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2014/050440 WO2014191985A1 (en) 2013-05-26 2014-05-20 System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment

Country Status (2)

Country Link
IL (1) IL226560A0 (en)
WO (1) WO2014191985A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110280018A (en) * 2019-06-21 2019-09-27 努比亚技术有限公司 Interface processing method, terminal and computer readable storage medium
CN111031563A (en) * 2020-01-09 2020-04-17 维沃移动通信有限公司 Communication state updating method and device
CN115022824A (en) * 2022-06-02 2022-09-06 河南信安通信技术股份有限公司 Method and device for detecting startup and shutdown of mobile phone by using non-inductive short message

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001467A1 (en) * 2002-06-26 2004-01-01 International Business Machines Corporation Access point initiated forced roaming based upon bandwidth
US20040208186A1 (en) * 2003-04-16 2004-10-21 Elliot Eichen System and method for IP telephony ping
US20060286984A1 (en) * 2005-06-16 2006-12-21 Cingular Wireless Llc Multi-mode handset services
US20070015535A1 (en) * 2005-04-06 2007-01-18 Qwest Communications International Inc. Call handling on dual-mode wireless handsets
US20100130238A1 (en) * 2008-11-24 2010-05-27 Verizon Corporate Resources Group Llc Mobile-originated sms over a wireless ip network
US20100304766A1 (en) * 2009-06-02 2010-12-02 Goyal Amitabh Method and apparatus for providing enhanced sms/ems/mms
US8095127B2 (en) * 2003-08-15 2012-01-10 Xius Holding Corp. Subscriber management and accounting using event detection in a wireless device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001467A1 (en) * 2002-06-26 2004-01-01 International Business Machines Corporation Access point initiated forced roaming based upon bandwidth
US20040208186A1 (en) * 2003-04-16 2004-10-21 Elliot Eichen System and method for IP telephony ping
US8095127B2 (en) * 2003-08-15 2012-01-10 Xius Holding Corp. Subscriber management and accounting using event detection in a wireless device
US20070015535A1 (en) * 2005-04-06 2007-01-18 Qwest Communications International Inc. Call handling on dual-mode wireless handsets
US20060286984A1 (en) * 2005-06-16 2006-12-21 Cingular Wireless Llc Multi-mode handset services
US20100130238A1 (en) * 2008-11-24 2010-05-27 Verizon Corporate Resources Group Llc Mobile-originated sms over a wireless ip network
US20100304766A1 (en) * 2009-06-02 2010-12-02 Goyal Amitabh Method and apparatus for providing enhanced sms/ems/mms

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110280018A (en) * 2019-06-21 2019-09-27 努比亚技术有限公司 Interface processing method, terminal and computer readable storage medium
CN111031563A (en) * 2020-01-09 2020-04-17 维沃移动通信有限公司 Communication state updating method and device
CN111031563B (en) * 2020-01-09 2022-12-06 维沃移动通信有限公司 Communication state updating method and device
CN115022824A (en) * 2022-06-02 2022-09-06 河南信安通信技术股份有限公司 Method and device for detecting startup and shutdown of mobile phone by using non-inductive short message
CN115022824B (en) * 2022-06-02 2024-03-22 河南信安通信技术股份有限公司 Method and device for detecting on/off of mobile phone by using non-inductive short message

Also Published As

Publication number Publication date
IL226560A0 (en) 2013-09-30

Similar Documents

Publication Publication Date Title
CN110036656B (en) ESIM profile switching without SMS
US10855847B2 (en) Mobile electronic communications using internet protocol
US9715379B2 (en) Methods and apparatus to trigger firmware update request in response to a failure event
US20190166244A1 (en) Messaging to emergency services via a mobile device in a wireless communication network
CN101502146A (en) Method and apparatus for SIM-based firewall
US20200351761A1 (en) System and method for monitoring mobile data configuration access point names
US11758370B2 (en) Cross network rich communications services content
US10560570B2 (en) Method, system and device for providing a setup of an enhanced call via a wireless local area network
CN111277484A (en) Network message fallback and deduplication
KR20180104060A (en) Determine Access Point Names for Mission-Critical Services
EP2629556A1 (en) Improved set up and configuration of a mobile communications terminal
KR20160103092A (en) Call control device and method for processing user services
KR101158993B1 (en) Method and apparatus for updating a terminal profile
US11729674B2 (en) Changing radio access technologies to connect to a network
CN111526550B (en) Communication method, network equipment and terminal equipment
WO2014191985A1 (en) System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment
US8867726B2 (en) Methods and systems for authorizing call forwarding
JP2008178103A (en) System and method for effectuating remote control of network node by user equipment (ue) device
US10506099B2 (en) Processing SMS messages
US8923903B2 (en) Syncing history information
WO2008127864A1 (en) Caller information retrieval system for unavailable calls
US11197159B2 (en) Reducing latency associated with threat detection
US20220312170A1 (en) Provision of Message Service Center Address
CN108064043A (en) A kind of pseudo-base station detection method, device, system and a kind of communication server
US20160164926A1 (en) Method and apparatus for inbound roaming over cellular voice channel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14804554

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14804554

Country of ref document: EP

Kind code of ref document: A1