WO2013144778A1 - A method and system for ussd emulation - Google Patents
A method and system for ussd emulation Download PDFInfo
- Publication number
- WO2013144778A1 WO2013144778A1 PCT/IB2013/052195 IB2013052195W WO2013144778A1 WO 2013144778 A1 WO2013144778 A1 WO 2013144778A1 IB 2013052195 W IB2013052195 W IB 2013052195W WO 2013144778 A1 WO2013144778 A1 WO 2013144778A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ussd
- mobile device
- message
- mapping
- network
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Definitions
- This invention relates broadly to mobile telecommunications and specifically to a method and system for USSD emulation.
- USSD Unstructured Supplementary Service Data
- GSM Global System for Mobile Communications
- USSD messages are often (although not always) used to perform more technical operations, e.g. querying a subscriber's airtime balance, topping up a subscriber's airtime, or sending a "callback" request.
- Airtime in this context refers to funds or credit associated with a mobile account of a mobile telephone subscriber.
- the mobile network service provider In order to facilitate USSD communication, the mobile network service provider must set up and operate at least a USSD gateway and a back-end (or USSD) server (or other network element) in addition to supporting USSD protocol at the network level.
- the USSD gateway translates communications between the cellular telephone (PSTN) network and the back-end server.
- PSTN cellular telephone
- the Inventor has noticed that USSD messages are not compatible with all communication systems, for two reasons. First, not all cellular networks support USSD. Typically, GSM-based networks do support USSD, but CDMA-based networks do not. Second, not all devices (or, more specifically, the operating systems on the devices) support USSD, such as Apple's iOS on iPad and Microsoft Windows Mobile which has only a partial support for USSD, which is inadequate to support USSD menus.
- USSD services are not available natively to some devices (e.g. tablets or smart phones) running on a GSM-based network.
- some devices e.g. tablets or smart phones
- an Apple iPad user might not be able to top-up his airtime account using USSD top-up functionality.
- the equipment to facilitate USSD messaging is readily available but cannot be fully utilised.
- USSD gateways have already been deployed, their functionality is not being fully utilised.
- the Inventor wishes to overcome, or at least alleviate, these drawbacks and therefore desires a method and system for USSD emulation.
- a method of USSD emulation including: receiving from a mobile device, via a packet-switched telecommunications network, an initiation message encapsulating a USSD request; generating and sending a handshake request message to the mobile device; receiving from the mobile device a handshake confirmation message indicative of a unique subscriber identifier (USID) associated with the mobile device; and generating and sending, via a telecommunications signalling network, a mapping dial request message including the USID and the USSD request to a USSD gateway, thereby to initiate a USSD emulation session.
- USID unique subscriber identifier
- the method permits a USSD message string to be encapsulated within a different type of message for transmission across telecommunications networks which do not natively support USSD transmission.
- the USSD request (prior to encapsulation) may have a conventional USSD format, e.g. ' * ', followed by at least three digits, and terminated with '#'.
- the USID may be an existing identifier, such as an MSISDN, I MSI, IMEI or may be a custom identifier.
- the method may include generating a custom USID upon first use of the method or registration and associating an existing identifier (e.g. MSISDN) with the generated USID.
- the method may then include interrogating a USID database to obtain a corresponding MSISDN (e.g. telephone number) associated with the USID.
- the method may further include the steps of: receiving from the USSD gateway, via the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; converting the mapping prompt message to a prompt message; and sending the prompt message, via the packet-switched network, to the mobile device.
- the method may then include the steps of: receiving from the mobile device, via the packet-switched network, a reply message indicative of a USSD reply; converting the reply message into a mapping reply message; and sending the mapping reply message, via the telecommunications signalling network, to the USSD gateway.
- the USSD gateway may communicate with a back-end server in conventional fashion.
- the steps of receiving and sending the prompt and reply messages may be repeated.
- a USSD session can be emulated, allowing (for example) display and selection of basic menu options.
- the method may include the steps of: receiving from the USSD gateway, via the telecommunications signalling network, a mapping final message indicative of termination of the session; converting the mapping final message to a final message; and sending the final message, via the packet-switched network, to the mobile device, thereby to terminate the USSD emulation session.
- the messages communicated across the packet-switched network may use any one of a number of existing protocols, such as UDP (User Datagram Protocol), TCP (Transfer Carrier Protocol), or the like.
- UDP may be particularly convenient, and so the invention may be further described with reference to UDP, but it is to be appreciated that this may not be the only practicable protocol for use in accordance with the method.
- the packet- switched network may be a TCP/IP network (e.g. the Internet).
- the steps of converting may include encapsulating USSD messages or de- encapsulating UDP messages.
- the messages communicated across the telecommunications signalling network may utilise SS7 or SIGTRAN signalling protocol utilising particular Mobile Application Part (MAP) primitives used by USSD protocol, as well as aspects of the SIP and/or DIAMETER protocols that may be relevant to USSD.
- MAP Mobile Application Part
- This intermediate service node may be installed within a telecommunications network.
- the mapping messages may be configured to initiate and maintain a USSD session between the intermediate service node and the USSD gateway.
- the other (non-mapping) messages may be configured to initiate and maintain an emulated USSD session between the intermediate service node and the mobile device. There may thus be two back-to-back sessions.
- the method may include sending the mapping messages directly between the intermediate service node and the USSD gateway. In another embodiment, the method may include sending the mapping messages indirectly between the intermediate service node and the USSD gateway, via an intermediate HLR (Home Location Register).
- HLR Home Location Register
- a method of USSD emulation including: generating and sending from a mobile device, via a packet-switched telecommunications network, an initiation message encapsulating a USSD request; receiving a handshake request message in response to the initiation message, the handshake request message querying an USID associated with the mobile device; and sending from the mobile device a handshake confirmation message indicative of the USID associated with the mobile device.
- the method may further include the steps of: receiving by the mobile device, via the packet-switched network, a prompt message indicative of a USSD prompt; displaying the USSD prompt on the mobile device; receiving a user input in the form of a USSD reply; and generating and sending from the mobile device, via the packet- switched network, a reply message indicative of the USSD reply.
- the method may appear to a user of the mobile device similar or identical to a conventional USSD communication session.
- the method may include the prior step of receiving a user input indicative of the USSD prompt.
- the user input may be received by a dialling emulator provided by a mobile application installed on the device.
- the method may thus include the prior step of installing the dialling emulator on the mobile device.
- the mobile application may also be operable to direct the operation of the mobile device to generate and send the various messages in accordance with the method.
- the invention extends to a system which is operable to perform a method as described above. More specifically, the invention extends to a system for USSD emulation, the system including an intermediate service node which, in turn, includes: a communication arrangement operable to communicate via a packet- switched network and a telecommunications signalling network; a handshake module operable to perform a handshake with a mobile device; a mapping module operable to convert or map messages between the packet-switched network and the telecommunications signalling network; the intermediate service node being operable to: receive from a mobile device, via the communication arrangement communicating on the packet-switched network, an initiation message encapsulating a USSD request; generate and send, by the handshake module, a handshake request message to the mobile device; receive, from the mobile device via the communication arrangement, a handshake confirmation message indicative of an USID associated with the mobile device; and generate and send, by the mapping module, via the communication arrangement communicating on the telecommunications signalling network, a mapping dial request message
- the intermediate service node may include a USID database and the handshake module may be operable to interrogate the USID database to obtain an MSISDN corresponding to the USID.
- the intermediate service node may include a processor.
- the handshake module and the mapping module may be conceptual modules corresponding to functional tasks performed by the processor.
- the intermediate service node may include a computer-readable medium, e.g. main memory, and/or a hard disk drive, which carries thereon a set of instructions to direct the operation of the processor, the instructions for example being in the form of a computer program.
- the processor may be one or more microprocessors, controllers, digital signal processors, or any other suitable computing device, resource, hardware, software, or embedded logic.
- the intermediate service node may further be operable to: receive from the USSD gateway, via the communication arrangement communicating on the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; convert, by means of the mapping module, the mapping prompt message to a prompt message; and send the prompt message, via the communication arrangement communicating on the packet-switched network, to the mobile device.
- the intermediate service node may then also be operable to: receive from the mobile device, via the communication arrangement communicating on the packet-switched network, a reply message indicative of a USSD reply; convert, by means of the mapping module, the reply message into a mapping reply message; and send the mapping reply message, via the communication arrangement communicating on the telecommunications signalling network, to the USSD gateway.
- the invention extends to a mobile device operable to emulate a USSD session, the mobile device including: a dialling emulator operable to display a keypad and receive a user input indicative of a USSD request; and a messaging module operable to: generate and send, via a packet-switched telecommunications network, an initiation message encapsulating the USSD request; receive a handshake request message querying an USID associated with the mobile device; and send a handshake confirmation message indicative of the USID associated with the mobile device.
- the mobile device may further be operable to: receive via the messaging module on the packet-switched network a prompt message encapsulating a USSD prompt; display the USSD prompt; receive via the dialling emulator a USSD reply; generate and send via the messaging module a reply message encapsulating a USSD reply.
- the messaging module and/or the dialling emulator may be realised by a mobile application installed on the mobile device.
- the mobile device may be a mobile telephone, tablet, laptop, PDA, or the like, whether including a SIM (Subscriber Identity Module) or not.
- SIM Subscriber Identity Module
- the invention extends to a non-transitory computer-readable medium having stored thereon a computer program which, when executed by a computer, causes the computer to perform a method of USSD emulation as defined above.
- the term "computer” may include the intermediate service node and/or the mobile device.
- Figure 1 illustrates a schematic view of one embodiment of a system for
- Figure 2 illustrates a schematic view of an alternate embodiment of a system for USSD emulation, in accordance with the invention
- Figure 3 illustrates an intermediate service node forming part of the system of Figure 1 ;
- Figure 4 illustrates a schematic view of a mobile device, in accordance with the invention, forming part of the system of Figure 1 ;
- Figure 5 illustrates a flow diagram of a high-level method of USSD emulation, in accordance with the invention
- Figure 6 illustrates a flow diagram of a low-level method of USSD emulation, in accordance with the invention
- Figure 7 illustrates a schematic state diagram from the perspective of the intermediate service node of Figure 3;
- Figure 8 illustrates a schematic state diagram from the perspective of the mobile device of Figure 4.
- Figure 9 illustrates a schematic view of a computer within which a set of instructions, for causing the computer to perform any one or more of the methodologies described herein, may be executed.
- reference numeral 100 generally indicates a system for USSD emulation, in accordance with the invention.
- the system 100 allows a mobile subscriber 102 to send and receive USSD-type messages between his mobile device 400 and a USSD gateway 130 in a communications environment where USSD communication is not natively supported.
- the system 100 includes the mobile device 400, a packet- switched telecommunications network 1 10, an intermediate service node 300, a telecommunications signalling network 120, and ultimately the USSD gateway 130.
- the mobile device 400 (refer to Figure 4 for further information) in this example is a mobile phone and specifically a smart phone which supports packet-based communications, whether via WiFi, or a mobile network, but does not (necessarily) support USSD natively.
- the packet-switched network 1 10 is a conventional TCP/IP network which is operable to support UDP communications.
- the TCP/IP network 1 10 may form part of the Internet.
- the intermediate service node 300 (refer to Figure 3 for more information) is operable to emulate USSD communication across the TCP/IP network 1 10 which does not natively support the USSD protocol. This may be done by encapsulating USSD messages within UDP messages as will become apparent from the description below.
- the telecommunications signalling network 120 is a conventional network and may be a PSTN (Public Switched Telephone Network) which may be GSM- based, SS7-based, or the like.
- PSTN Public Switched Telephone Network
- the telecommunications signalling network 120 may natively support USSD communication.
- Figure 2 shows an alternate embodiment of a system 200 for USSD emulation.
- the system 200 is similar to the system 100 but also includes a
- the intermediate service node 300 includes a processor 302 and a computer program 304 operable to direct the operation of the processor 302.
- the processor 302 includes a mapping module 310 and a handshake module 312 which are functional modules corresponding to functional tasks performed by the processor 302 under the direction of the computer program 304.
- the intermediate service node 300 includes a communication arrangement 306 which is operable to communicate via the packet-switched and telecommunications signalling networks 1 10, 120. It will be appreciated that the communication arrangement 306 may include plural network devices, one for each network 1 10, 120.
- the mapping module 310 is operable to map messages between the two networks 1 10, 120 by encapsulating USSD messages within UDP messages.
- the handshake module 312 is operable to send and receive handshake messages with the mobile phone 400 thereby to obtain a unique subscriber identifier (USID) of the mobile phone 400.
- USID subscriber identifier
- UDP is not the only compatible protocol.
- TCP Transmission Control Protocol
- UDP is not the only compatible protocol.
- TCP Transmission Control Protocol
- the components of the intermediate service node 300 may be consolidated into one device, as illustrated in this example, but instead may be distributed among a number of devices.
- the mobile phone 400 includes a processor 402 and a mobile app 404 which has been installed on the mobile phone 400.
- the mobile app 404 could form part of the operating system or firmware of the mobile phone 400, and need not necessarily be a discrete downloadable application.
- the mobile app 404 provides a dialling emulator 410 and a messaging module 412.
- the dialling emulator 410 is operable to display a numeric keypad on a display screen of the mobile phone 400 and can accept a USSD-format user input including digits and the asterisk ' * ' and hash '#' symbols.
- the dialling emulator 410 may provide more functionality than a conventional dialler and USSD message, e.g. one-touch menu selection, skins, font formatting, etc.
- the messaging module 412 is operable to encapsulate the input received via the dialling emulator 410 in a UDP message and communicate it via the IP network 1 10.
- the messaging module 412 is also operable to receive handshake messages from the intermediate service node 300.
- reference numeral 500 refers to a high-level method of USSD emulation in accordance with the invention.
- the method 500 is from the perspective of the intermediate service node 300 and includes receiving (at block 502) a UDP encapsulated initiation message from the mobile phone 400 across the IP network 1 10.
- the initiation message encapsulates a USSD request in conventional USSD format, e.g. * 123 * 1234567890*.
- UDP messages do not usually inherently include a USID or MSISDN (phone number) of the mobile phone from which they were sent. In fact, many smart phones do not even allow access by apps to the MSISDN. Further, it is necessary or at least desirable to include the MSISDN to form the USSD session.
- the MSISDN may be obtained by the intermediate service node 300 by mapping a Unique Subscriber Identity (USID) to the MSISDN.
- USID Unique Subscriber Identity
- the handshake module 312 of the intermediate service node 300 generates and sends (at block 504) a UDP encapsulated handshake request message to the mobile phone 506 and in turn receives (at block 506) a UDP encapsulated handshake confirmation message containing the USID associated with the mobile phone 400.
- the handshake module 312 then interrogates a USID database (not illustrated) to determine (at block 507) the MSISDN associated with the USID.
- the intermediate service node 300 then has the data necessary (i.e. the USSD request and the MSISDN) to initiate a USSD session, and generates and sends (at block 508) a mapping dial request message including the USSD request and the MSISDN to the USSD gateway 130.
- a USSD session is thereby established between the intermediate service node 300 and the
- the USSD gateway 130 and mapped or translated by the mapping module 310 to UDP-encapsulated messages between the intermediate service node 300 and the mobile phone 400.
- the USSD session between the intermediate service node 300 and the USSD gateway 130 may resemble a conventional USSD session except that instead of being with an endpoint (i.e. the mobile device
- the mobile app 404 is provided on the mobile phone 400.
- the app 404 may be pre-installed when the subscriber acquires his phone 404, and/or may be downloadable from application stores/markets associated with the phone
- the app 404 presents (at block 602) the dialling emulator 410.
- the dialling emulator 410 may include a matrix of soft keys similar to a phone's native dialler used to make telephone calls. Some devices (e.g. tablets) might not even have native diallers.
- the dialling emulator is then operable to receive a user input indicative of a USSD request, e.g. in the form 23 * 1234567890#.
- the messaging module 412 does not attempt to send a USSD message directly, but rather encapsulates the USSD request in a UDP initiation message which can be sent (at block 606) by the phone 400 across the IP network 1 10.
- the intermediate service node 300 receives (at block 606)
- the initiation message and generates and sends the UDP-based handshake request message (at block 504 - as described above).
- the messaging module 412 receives (at block 608) the handshake request message and queries or determines (at block 610) the USID of the mobile telephone 400. The messaging module then generates and sends (at block 612) a UDP-based handshake confirmation message containing the USID.
- the handshake module 312 of the intermediate service node 300 receives (at block 506) the handshake confirmation message and extracts the USID and determines (at block 507) the corresponding MSISDN associated with the mobile phone 400.
- the mapping module 310 then generates and sends (at block 508) a USSD mapping dial request message via the PSTN 120 to the USSD gateway 130.
- the USSD gateway 130 receives (at block 614) and processes the mapping dial request message in conventional fashion.
- USSD gateway 130 may be a conventional USSD gateway and thus may be oblivious to the presence of the intermediate service node 300 and its mapping module 310 and may respond as though it was communicating with a USSD-compatible endpoint (e.g. a "dumb" mobile phone with native USSD capabilities).
- the USSD gateway 130 then generates and sends (at block 61 6) a mapping prompt message, which includes a basic USSD prompt, to initiate and open a USSD session with the intermediate service node 300 (and indirectly with the mobile phone 400).
- the intermediate service node 300 receives (at block 618) the USSD-based mapping prompt message and the mapping module
- the intermediate service node 300 converts (at block 620) it to an encapsulated UDP-based prompt message.
- the intermediate service node 300 sends (at block 622) the prompt message via the IP network 1 10 which is received (at block 626) by the mobile phone 400.
- the mobile app 404 causes the mobile phone 400 to display the USSD prompt which could be a basic menu system, e.g. "Press 1 for yes and 2 for no", or could be more sophisticated and include actual “Yes” and “No” soft buttons.
- the dialling emulator 410 is presented and a user input is received (at block 602 and 604).
- the messaging module 412 encapsulates the user input in a UDP-based reply message and sends (at block 628) the reply message to the intermediate service node 300 which duly receives (at block 630) it.
- the intermediate service node 300 converts (at block 632) the UDP-based reply message into a USSD-based mapping reply message and sends (at block 634) the mapping reply message to the USSD gateway 130 which, in turn, receives (at block 636) it.
- the USSD gateway 130 determines (at block 638) if the USSD session should continue or be terminated. For example, if the selection made by the subscriber 102 indicated a menu item which necessitates a sub-menu or other response, the method 500 can be repeated from steps 61 6 to 638. This repetition may occur indefinitely until an appropriate termination option is chosen by the subscriber 102 or until there is some other termination factor
- the USSD gateway 130 To terminate the USSD session, the USSD gateway 130 generates and sends
- mapping final message which is received by the intermediate service node 300 and converted (at block 644) into a final message which is sent (at block 646).
- the mobile phone 400 receives (at block 648) the final message and closes the session.
- Figures 7 and 8 shows state diagrams from the perspectives of the intermediate service node 300 and the mobile phone 400 respectively and can be read in conjunction with the method 600 of Figure 6 to provide a more thorough understanding of the methodologies described herein.
- UUDP is a coined term referring to USSD over UDP.
- Figure 9 shows a diagrammatic representation of a computer in the example form of a computer system 900 within which a set of instructions, for causing the computer to perform any one or more of the methodologies discussed herein, may be executed.
- the computer operates as a standalone device or may be connected (e.g. networked) to other computers.
- the computer may operate in the capacity of a server or a client computer in a server-client network environment, or as a peer computer in a peer-to-peer (or distributed) network environment.
- the computer may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- web appliance web appliance
- network router switch or bridge
- the example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908.
- the computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD)).
- the computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a user interface (Ul) navigation device 914 (e.g., a mouse), a disk drive unit 91 6, a signal generation device 918 (e.g., a speaker) and a network interface device 920.
- the disk drive unit 916 includes a computer-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software 924) embodying or utilised by any one or more of the methodologies or functions described herein.
- the software 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting computer -readable media.
- the software 924 may further be transmitted or received over a network 926 via the network interface device 920 utilising any one of a number of well-known transfer protocols (e.g., HTTP, UDP, TCP, USSD, FTP).
- HTTP HyperText Transfer Protocol
- UDP User Datagram Protocol
- TCP Transmission Control Protocol
- USSD User Datagram Protocol
- FTP FTP
- While the computer-readable medium 922 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralised or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the computer and that cause the computer to perform any one or more of the methodologies of the present embodiments, or that is capable of storing, encoding or carrying data structures utilised by or associated with such a set of instructions.
- the term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
- the intermediate service node 300 and/or the mobile device 400 may be in the form of the computer system 900, or may include some components thereof.
- the method 500, 600 and system 100, 200 allows USSD messages to be communicated from a non-USSD compatible device and/or across a non-USSD compatible system. This allows more subscribers to benefit from the advantages of USSD, if desired. From the mobile service provider side, costly USSD gateways need not be replaced or upgraded, but can be used with their standard configuration in conjunction with the intermediate service node 300.
- the mobile device 400 can communicate with the USSD gateway 130 even when the mobile device 400 is out of cellular network coverage and merely has a WiFi connection.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
A method (500) of USSD emulation, the method (500) including receiving (502) from a mobile device (400), via a packet-switched telecommunications network (110), an initiation message encapsulating a USSD request and generating and sending (504) a handshake request message to the mobile device (400). The method (500) further includes receiving (506) from the mobile device (400) a handshake confirmation message indicative of a unique subscriber identifier (USID) associated with the mobile device (400) and generating and sending (508), via a telecommunications signalling network (120), a mapping dial request message including the USID and the USSD request to a USSD gateway (130), thereby to initiate a USSD emulation session.
Description
A method and system for USSD emulation
FIELD OF INVENTION
This invention relates broadly to mobile telecommunications and specifically to a method and system for USSD emulation.
BACKGROUND OF INVENTION
USSD (Unstructured Supplementary Service Data) is a protocol used by GSM (Global System for Mobile Communications) cellular telephones to communicate with the systems of a mobile network service provider (http://en.wikipedia.ora/wiki/Unstructured Supplementary Service Data). USSD messages are often (although not always) used to perform more technical operations, e.g. querying a subscriber's airtime balance, topping up a subscriber's airtime, or sending a "callback" request. (Airtime in this context refers to funds or credit associated with a mobile account of a mobile telephone subscriber.)
In order to facilitate USSD communication, the mobile network service provider must set up and operate at least a USSD gateway and a back-end (or USSD) server (or other network element) in addition to supporting USSD protocol at the network level. The USSD gateway translates communications between the cellular telephone (PSTN) network and the back-end server.
The Inventor has noticed that USSD messages are not compatible with all communication systems, for two reasons. First, not all cellular networks support USSD. Typically, GSM-based networks do support USSD, but CDMA-based networks do not. Second, not all devices (or, more specifically, the operating systems on the devices) support USSD, such as Apple's iOS on iPad and Microsoft Windows Mobile which has only a partial support for USSD, which is inadequate to support USSD menus.
The Inventor has noted that this presents some drawbacks. USSD services are not available natively to some devices (e.g. tablets or smart phones) running on a GSM-based network. For example, an Apple iPad user might not be able to top-up his airtime account using USSD top-up functionality. The equipment to facilitate USSD messaging is readily available but cannot be fully utilised. In some cases, where USSD gateways have already been deployed, their functionality is not being fully utilised.
The Inventor wishes to overcome, or at least alleviate, these drawbacks and therefore desires a method and system for USSD emulation.
SUMMARY OF INVENTION
According to a first aspect of the invention, there is provided a method of USSD emulation, the method including: receiving from a mobile device, via a packet-switched telecommunications network, an initiation message encapsulating a USSD request; generating and sending a handshake request message to the mobile device;
receiving from the mobile device a handshake confirmation message indicative of a unique subscriber identifier (USID) associated with the mobile device; and generating and sending, via a telecommunications signalling network, a mapping dial request message including the USID and the USSD request to a USSD gateway, thereby to initiate a USSD emulation session.
Thus, the method permits a USSD message string to be encapsulated within a different type of message for transmission across telecommunications networks which do not natively support USSD transmission. The USSD request (prior to encapsulation) may have a conventional USSD format, e.g. '*', followed by at least three digits, and terminated with '#'.
The USID may be an existing identifier, such as an MSISDN, I MSI, IMEI or may be a custom identifier. For example, the method may include generating a custom USID upon first use of the method or registration and associating an existing identifier (e.g. MSISDN) with the generated USID. The method may then include interrogating a USID database to obtain a corresponding MSISDN (e.g. telephone number) associated with the USID.
The method may further include the steps of: receiving from the USSD gateway, via the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; converting the mapping prompt message to a prompt message; and sending the prompt message, via the packet-switched network, to the mobile device.
The method may then include the steps of:
receiving from the mobile device, via the packet-switched network, a reply message indicative of a USSD reply; converting the reply message into a mapping reply message; and sending the mapping reply message, via the telecommunications signalling network, to the USSD gateway.
The USSD gateway may communicate with a back-end server in conventional fashion.
The steps of receiving and sending the prompt and reply messages may be repeated. Thus, a USSD session can be emulated, allowing (for example) display and selection of basic menu options.
The method may include the steps of: receiving from the USSD gateway, via the telecommunications signalling network, a mapping final message indicative of termination of the session; converting the mapping final message to a final message; and sending the final message, via the packet-switched network, to the mobile device, thereby to terminate the USSD emulation session.
The messages communicated across the packet-switched network may use any one of a number of existing protocols, such as UDP (User Datagram Protocol), TCP (Transfer Carrier Protocol), or the like. UDP may be particularly convenient, and so the invention may be further described with reference to UDP, but it is to be appreciated that this may not be the only practicable protocol for use in accordance with the method. The packet- switched network may be a TCP/IP network (e.g. the Internet). Thus, the steps of converting may include encapsulating USSD messages or de- encapsulating UDP messages.
The messages communicated across the telecommunications signalling network may utilise SS7 or SIGTRAN signalling protocol utilising particular Mobile Application Part (MAP) primitives used by USSD protocol, as well as aspects of the SIP and/or DIAMETER protocols that may be relevant to USSD.
The method above is described from the perspective of a system in the form of an intermediate service node. This intermediate service node may be installed within a telecommunications network. The mapping messages may be configured to initiate and maintain a USSD session between the intermediate service node and the USSD gateway. The other (non-mapping) messages may be configured to initiate and maintain an emulated USSD session between the intermediate service node and the mobile device. There may thus be two back-to-back sessions.
In one embodiment, the method may include sending the mapping messages directly between the intermediate service node and the USSD gateway. In another embodiment, the method may include sending the mapping messages indirectly between the intermediate service node and the USSD gateway, via an intermediate HLR (Home Location Register).
The method is described below from the perspective of a mobile device. According to another aspect of the invention, there is provided a method of USSD emulation, the method including: generating and sending from a mobile device, via a packet-switched telecommunications network, an initiation message encapsulating a USSD request; receiving a handshake request message in response to the initiation message, the handshake request message querying an USID associated with the mobile device; and
sending from the mobile device a handshake confirmation message indicative of the USID associated with the mobile device.
The method may further include the steps of: receiving by the mobile device, via the packet-switched network, a prompt message indicative of a USSD prompt; displaying the USSD prompt on the mobile device; receiving a user input in the form of a USSD reply; and generating and sending from the mobile device, via the packet- switched network, a reply message indicative of the USSD reply.
Thus, the method may appear to a user of the mobile device similar or identical to a conventional USSD communication session.
The method may include the prior step of receiving a user input indicative of the USSD prompt. The user input may be received by a dialling emulator provided by a mobile application installed on the device. The method may thus include the prior step of installing the dialling emulator on the mobile device. The mobile application may also be operable to direct the operation of the mobile device to generate and send the various messages in accordance with the method.
The invention extends to a system which is operable to perform a method as described above. More specifically, the invention extends to a system for USSD emulation, the system including an intermediate service node which, in turn, includes: a communication arrangement operable to communicate via a packet- switched network and a telecommunications signalling network;
a handshake module operable to perform a handshake with a mobile device; a mapping module operable to convert or map messages between the packet-switched network and the telecommunications signalling network; the intermediate service node being operable to: receive from a mobile device, via the communication arrangement communicating on the packet-switched network, an initiation message encapsulating a USSD request; generate and send, by the handshake module, a handshake request message to the mobile device; receive, from the mobile device via the communication arrangement, a handshake confirmation message indicative of an USID associated with the mobile device; and generate and send, by the mapping module, via the communication arrangement communicating on the telecommunications signalling network, a mapping dial request message including the USID and the USSD request to a USSD gateway, thereby to initiate a USSD emulation session.
The intermediate service node may include a USID database and the handshake module may be operable to interrogate the USID database to obtain an MSISDN corresponding to the USID.
The intermediate service node may include a processor. The handshake module and the mapping module may be conceptual modules corresponding to functional tasks performed by the processor. To this end, the intermediate service node may include a computer-readable medium, e.g. main memory, and/or a hard disk drive, which carries thereon a set of instructions to direct the operation of the processor, the instructions for example being in the form of a computer program. It is to be understood that the processor may be one
or more microprocessors, controllers, digital signal processors, or any other suitable computing device, resource, hardware, software, or embedded logic.
The intermediate service node may further be operable to: receive from the USSD gateway, via the communication arrangement communicating on the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; convert, by means of the mapping module, the mapping prompt message to a prompt message; and send the prompt message, via the communication arrangement communicating on the packet-switched network, to the mobile device.
The intermediate service node may then also be operable to: receive from the mobile device, via the communication arrangement communicating on the packet-switched network, a reply message indicative of a USSD reply; convert, by means of the mapping module, the reply message into a mapping reply message; and send the mapping reply message, via the communication arrangement communicating on the telecommunications signalling network, to the USSD gateway.
The invention extends to a mobile device operable to emulate a USSD session, the mobile device including: a dialling emulator operable to display a keypad and receive a user input indicative of a USSD request; and a messaging module operable to: generate and send, via a packet-switched telecommunications network, an initiation message encapsulating the USSD request;
receive a handshake request message querying an USID associated with the mobile device; and send a handshake confirmation message indicative of the USID associated with the mobile device.
The mobile device may further be operable to: receive via the messaging module on the packet-switched network a prompt message encapsulating a USSD prompt; display the USSD prompt; receive via the dialling emulator a USSD reply; generate and send via the messaging module a reply message encapsulating a USSD reply.
The messaging module and/or the dialling emulator may be realised by a mobile application installed on the mobile device. The mobile device may be a mobile telephone, tablet, laptop, PDA, or the like, whether including a SIM (Subscriber Identity Module) or not.
The invention extends to a non-transitory computer-readable medium having stored thereon a computer program which, when executed by a computer, causes the computer to perform a method of USSD emulation as defined above. The term "computer" may include the intermediate service node and/or the mobile device.
BRIEF DESCRIPTION OF DRAWINGS
The invention will now be further described, by way of example, with reference to the accompanying diagrammatic drawings.
In the drawings:
Figure 1 illustrates a schematic view of one embodiment of a system for
USSD emulation, in accordance with the invention;
Figure 2 illustrates a schematic view of an alternate embodiment of a system for USSD emulation, in accordance with the invention;
Figure 3 illustrates an intermediate service node forming part of the system of Figure 1 ;
Figure 4 illustrates a schematic view of a mobile device, in accordance with the invention, forming part of the system of Figure 1 ;
Figure 5 illustrates a flow diagram of a high-level method of USSD emulation, in accordance with the invention;
Figure 6 illustrates a flow diagram of a low-level method of USSD emulation, in accordance with the invention;
Figure 7 illustrates a schematic state diagram from the perspective of the intermediate service node of Figure 3;
Figure 8 illustrates a schematic state diagram from the perspective of the mobile device of Figure 4; and
Figure 9 illustrates a schematic view of a computer within which a set of instructions, for causing the computer to perform any one or more of the methodologies described herein, may be executed.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
Referring initially to Figures 1 to 4, reference numeral 100 generally indicates a system for USSD emulation, in accordance with the invention. The system 100 allows a mobile subscriber 102 to send and receive USSD-type messages between his mobile device 400 and a USSD gateway 130 in a communications environment where USSD communication is not natively supported. The system 100 includes the mobile device 400, a packet- switched telecommunications network 1 10, an intermediate service node 300,
a telecommunications signalling network 120, and ultimately the USSD gateway 130.
The mobile device 400 (refer to Figure 4 for further information) in this example is a mobile phone and specifically a smart phone which supports packet-based communications, whether via WiFi, or a mobile network, but does not (necessarily) support USSD natively.
The packet-switched network 1 10 is a conventional TCP/IP network which is operable to support UDP communications. The TCP/IP network 1 10 may form part of the Internet.
The intermediate service node 300 (refer to Figure 3 for more information) is operable to emulate USSD communication across the TCP/IP network 1 10 which does not natively support the USSD protocol. This may be done by encapsulating USSD messages within UDP messages as will become apparent from the description below.
The telecommunications signalling network 120 is a conventional network and may be a PSTN (Public Switched Telephone Network) which may be GSM- based, SS7-based, or the like. The telecommunications signalling network 120 may natively support USSD communication.
Figure 2 shows an alternate embodiment of a system 200 for USSD emulation. The system 200 is similar to the system 100 but also includes a
HLR 210 between the intermediate service node 300 and the USSD gateway 130. Other than that, similar considerations apply to the two systems 100, 200.
Referring now to Figure 3, the intermediate service node 300 includes a processor 302 and a computer program 304 operable to direct the operation of the processor 302. The processor 302 includes a mapping module 310 and a handshake module 312 which are functional modules corresponding to functional tasks performed by the processor 302 under the direction of the computer program 304. The intermediate service node 300 includes a communication arrangement 306 which is operable to communicate via the packet-switched and telecommunications signalling networks 1 10, 120. It will be appreciated that the communication arrangement 306 may include plural network devices, one for each network 1 10, 120.
The mapping module 310 is operable to map messages between the two networks 1 10, 120 by encapsulating USSD messages within UDP messages. The handshake module 312 is operable to send and receive handshake messages with the mobile phone 400 thereby to obtain a unique subscriber identifier (USID) of the mobile phone 400.
(For completeness, it should be noted that UDP is not the only compatible protocol. For example, TCP (Transmission Control Protocol) may be used to transport USSD primitives using UTCP frames.)
The components of the intermediate service node 300 may be consolidated into one device, as illustrated in this example, but instead may be distributed among a number of devices.
Turning now to Figure 4, the mobile phone 400 includes a processor 402 and a mobile app 404 which has been installed on the mobile phone 400. In other embodiments the mobile app 404 could form part of the operating system or firmware of the mobile phone 400, and need not necessarily be a discrete downloadable application.
When executed by the processor 402, the mobile app 404 provides a dialling emulator 410 and a messaging module 412. The dialling emulator 410 is operable to display a numeric keypad on a display screen of the mobile phone 400 and can accept a USSD-format user input including digits and the asterisk '*' and hash '#' symbols. The dialling emulator 410 may provide more functionality than a conventional dialler and USSD message, e.g. one-touch menu selection, skins, font formatting, etc.
The messaging module 412 is operable to encapsulate the input received via the dialling emulator 410 in a UDP message and communicate it via the IP network 1 10. The messaging module 412 is also operable to receive handshake messages from the intermediate service node 300.
Referring to Figure 5, reference numeral 500 refers to a high-level method of USSD emulation in accordance with the invention. The method 500 is from the perspective of the intermediate service node 300 and includes receiving (at block 502) a UDP encapsulated initiation message from the mobile phone 400 across the IP network 1 10. The initiation message encapsulates a USSD request in conventional USSD format, e.g. *123*1234567890*.
Unlike SMS or USSD messages, UDP messages do not usually inherently include a USID or MSISDN (phone number) of the mobile phone from which they were sent. In fact, many smart phones do not even allow access by apps to the MSISDN. Further, it is necessary or at least desirable to include the MSISDN to form the USSD session. The MSISDN may be obtained by the intermediate service node 300 by mapping a Unique Subscriber Identity (USID) to the MSISDN.
Thus, the handshake module 312 of the intermediate service node 300 generates and sends (at block 504) a UDP encapsulated handshake request message to the mobile phone 506 and in turn receives (at block 506) a UDP
encapsulated handshake confirmation message containing the USID associated with the mobile phone 400. The handshake module 312 then interrogates a USID database (not illustrated) to determine (at block 507) the MSISDN associated with the USID.
The intermediate service node 300 then has the data necessary (i.e. the USSD request and the MSISDN) to initiate a USSD session, and generates and sends (at block 508) a mapping dial request message including the USSD request and the MSISDN to the USSD gateway 130. A USSD session is thereby established between the intermediate service node 300 and the
USSD gateway 130 and mapped or translated by the mapping module 310 to UDP-encapsulated messages between the intermediate service node 300 and the mobile phone 400. The USSD session between the intermediate service node 300 and the USSD gateway 130 may resemble a conventional USSD session except that instead of being with an endpoint (i.e. the mobile device
400) it is with an intermediary (i.e. the intermediate service node 300).
The method will now be described in more detail with reference to a more practical example and to Figure 6. Steps in Figures 5 and 6 which correspond are given the same reference numerals. By way of introduction, the subscriber 102 requires the functionality to send (and receive) USSD messages. There are a number of USSD-assisted applications, such as topping up airtime. The subscriber 102 is unable to send USSD messages natively, either because his mobile phone 400 does not support the USSD protocol or because the immediately upstream network 1 10 does not support the USSD protocol.
Thus, the mobile app 404 is provided on the mobile phone 400. The app 404 may be pre-installed when the subscriber acquires his phone 404, and/or may be downloadable from application stores/markets associated with the phone
404, or even from third party providers. Once installed and executed, the app 404 presents (at block 602) the dialling emulator 410. Given that many smart
phones have touch screens, the dialling emulator 410 may include a matrix of soft keys similar to a phone's native dialler used to make telephone calls. Some devices (e.g. tablets) might not even have native diallers. The dialling emulator is then operable to receive a user input indicative of a USSD request, e.g. in the form 23*1234567890#.
Significantly, the messaging module 412 does not attempt to send a USSD message directly, but rather encapsulates the USSD request in a UDP initiation message which can be sent (at block 606) by the phone 400 across the IP network 1 10. The intermediate service node 300 receives (at block
502) the initiation message and generates and sends the UDP-based handshake request message (at block 504 - as described above).
The messaging module 412 receives (at block 608) the handshake request message and queries or determines (at block 610) the USID of the mobile telephone 400. The messaging module then generates and sends (at block 612) a UDP-based handshake confirmation message containing the USID.
The handshake module 312 of the intermediate service node 300 receives (at block 506) the handshake confirmation message and extracts the USID and determines (at block 507) the corresponding MSISDN associated with the mobile phone 400. The mapping module 310 then generates and sends (at block 508) a USSD mapping dial request message via the PSTN 120 to the USSD gateway 130. The USSD gateway 130 receives (at block 614) and processes the mapping dial request message in conventional fashion. The
USSD gateway 130 may be a conventional USSD gateway and thus may be oblivious to the presence of the intermediate service node 300 and its mapping module 310 and may respond as though it was communicating with a USSD-compatible endpoint (e.g. a "dumb" mobile phone with native USSD capabilities).
The USSD gateway 130 then generates and sends (at block 61 6) a mapping prompt message, which includes a basic USSD prompt, to initiate and open a USSD session with the intermediate service node 300 (and indirectly with the mobile phone 400). The intermediate service node 300 receives (at block 618) the USSD-based mapping prompt message and the mapping module
310 converts (at block 620) it to an encapsulated UDP-based prompt message. The intermediate service node 300 sends (at block 622) the prompt message via the IP network 1 10 which is received (at block 626) by the mobile phone 400.
The mobile app 404 causes the mobile phone 400 to display the USSD prompt which could be a basic menu system, e.g. "Press 1 for yes and 2 for no", or could be more sophisticated and include actual "Yes" and "No" soft buttons. The dialling emulator 410 is presented and a user input is received (at block 602 and 604). The messaging module 412 encapsulates the user input in a UDP-based reply message and sends (at block 628) the reply message to the intermediate service node 300 which duly receives (at block 630) it.
The intermediate service node 300 converts (at block 632) the UDP-based reply message into a USSD-based mapping reply message and sends (at block 634) the mapping reply message to the USSD gateway 130 which, in turn, receives (at block 636) it.
The USSD gateway 130 determines (at block 638) if the USSD session should continue or be terminated. For example, if the selection made by the subscriber 102 indicated a menu item which necessitates a sub-menu or other response, the method 500 can be repeated from steps 61 6 to 638. This repetition may occur indefinitely until an appropriate termination option is chosen by the subscriber 102 or until there is some other termination factor
(e.g. a timeout or a connectivity interruption). There are effectively two sessions end-to-end: a UDP session between the mobile phone 400 and the
intermediate service node 300 and a USSD session between the intermediate service node 300 and the USSD gateway 130, thereby to emulate a USSD session between the mobile phone 400 and the USSD gateway 130.
To terminate the USSD session, the USSD gateway 130 generates and sends
(at block 640) a mapping final message, which is received by the intermediate service node 300 and converted (at block 644) into a final message which is sent (at block 646). The mobile phone 400 receives (at block 648) the final message and closes the session.
Figures 7 and 8 shows state diagrams from the perspectives of the intermediate service node 300 and the mobile phone 400 respectively and can be read in conjunction with the method 600 of Figure 6 to provide a more thorough understanding of the methodologies described herein. For clarity, UUDP is a coined term referring to USSD over UDP.
Figure 9 shows a diagrammatic representation of a computer in the example form of a computer system 900 within which a set of instructions, for causing the computer to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the computer operates as a standalone device or may be connected (e.g. networked) to other computers. In a networked deployment, the computer may operate in the capacity of a server or a client computer in a server-client network environment, or as a peer computer in a peer-to-peer (or distributed) network environment. The computer may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any computer capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computer. Further, while only a single computer is illustrated, the term "computer" shall also be taken to include any collection of computer that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a user interface (Ul) navigation device 914 (e.g., a mouse), a disk drive unit 91 6, a signal generation device 918 (e.g., a speaker) and a network interface device 920.
The disk drive unit 916 includes a computer-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software 924) embodying or utilised by any one or more of the methodologies or functions described herein. The software 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting computer -readable media.
The software 924 may further be transmitted or received over a network 926 via the network interface device 920 utilising any one of a number of well- known transfer protocols (e.g., HTTP, UDP, TCP, USSD, FTP).
While the computer-readable medium 922 is shown in an example embodiment to be a single medium, the term "computer-readable medium" should be taken to include a single medium or multiple media (e.g., a centralised or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the computer and that cause the computer to perform any one or more of the methodologies of the present embodiments, or that is capable of storing, encoding or carrying data structures utilised by or associated with such a set of instructions. The
term "computer-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
The intermediate service node 300 and/or the mobile device 400 may be in the form of the computer system 900, or may include some components thereof.
The applicant believes that the invention as exemplified is advantageous for a number of reasons. The method 500, 600 and system 100, 200 allows USSD messages to be communicated from a non-USSD compatible device and/or across a non-USSD compatible system. This allows more subscribers to benefit from the advantages of USSD, if desired. From the mobile service provider side, costly USSD gateways need not be replaced or upgraded, but can be used with their standard configuration in conjunction with the intermediate service node 300.
UDP is a convenient protocol because it requires a smaller resource footprint than some other protocols on a server side, MAP and TCAP do not support retransmissions, the message bound nature of UDP is simpler to map messages, and small message sizes (MSU = 272 octets) are ideal for UDP.
Also, the mobile device 400 can communicate with the USSD gateway 130 even when the mobile device 400 is out of cellular network coverage and merely has a WiFi connection.
Claims
1. A method of USSD emulation, the method including: receiving from a mobile device, via a packet-switched telecommunications network, an initiation message encapsulating a USSD request; generating and sending a handshake request message to the mobile device; receiving from the mobile device a handshake confirmation message indicative of a unique subscriber identifier (USID) associated with the mobile device; and generating and sending, via a telecommunications signalling network, a mapping dial request message including the USID and the USSD request to a USSD gateway, thereby to initiate a USSD emulation session.
2. The method as claimed in claim 1 , the method including: generating a custom USID upon first use; and associating an existing identifier with the generated USID.
3. The method as claimed in claim 2, in which the existing identifier is the MSISDN or the IMSI.
4. The method as claimed in any of claims 1 to 3, the method including: receiving from the USSD gateway, via the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; converting the mapping prompt message to a prompt message; and sending the prompt message, via the packet-switched network, to the mobile device.
5. The method as claimed in claim 4, the method including: receiving from the mobile device, via the packet-switched network, a reply message indicative of a USSD reply; converting the reply message into a mapping reply message; and sending the mapping reply message, via the telecommunications signalling network, to the USSD gateway.
6. The method as claimed in any of claim 1 to 5, in which the USSD gateway communicates with a back-end server in conventional fashion.
7. The method as claimed in claim 5 or 6, in which the steps of receiving and sending the prompt and reply messages are repeated, thereby emulating a USSD session.
8. The method as claimed in any of claims 1 to 7, the method including: receiving from the USSD gateway, via the telecommunications signalling network, a mapping final message indicative of termination of the session; converting the mapping final message to a final message; and sending the final message, via the packet-switched network, to the mobile device, thereby to terminate the USSD emulation session.
9. The method as claimed in any of claims 1 to 8, in which: the packet-switched network is a TCP/IP network; and messages communicated across the packet-switched network use UDP (User Datagram Protocol).
The method as claimed in any of claim 1 to 9, which is described from the perspective of a system in the form of an intermediate service node installed within a telecommunications network and in which: the mapping messages are configured to initiate and maintain a USSD session between the intermediate service node and the USSD gateway; and the other (non-mapping) messages are configured to initiate and maintain an emulated USSD session between the intermediate service node and the mobile device, there thus being two back- to-back sessions.
11. The method as claimed in claim 10, which includes sending the mapping messages directly between the intermediate service node and the USSD gateway.
The method as claimed in claim 10, which includes sending the mapping messages indirectly between the intermediate service node and the USSD gateway, via an intermediate HLR (Home Location Register).
A method of USSD emulation, the method including: generating and sending from a mobile device, via a packet- switched telecommunications network, an initiation message encapsulating a USSD request; receiving a handshake request message in response to the initiation message, the handshake request message querying an USID associated with the mobile device; and sending from the mobile device a handshake confirmation message indicative of the USID associated with the mobile device.
14. The method as claimed in claim 13, the method including: receiving by the mobile device, via the packet-switched network, a prompt message indicative of a USSD prompt; displaying the USSD prompt on the mobile device; receiving a user input in the form of a USSD reply; and generating and sending from the mobile device, via the packet- switched network, a reply message indicative of the USSD reply.
15. The method as claimed in claim 13 or claim 14, which includes the prior step of receiving a user input indicative of the USSD prompt, the user input being received by a dialling emulator provided by a mobile application installed on the device.
16. A system for USSD emulation, the system including an intermediate service node which, in turn, includes: a communication arrangement operable to communicate via a packet-switched network and a telecommunications signalling network; a handshake module operable to perform a handshake with a mobile device; a mapping module operable to convert or map messages between the packet-switched network and the telecommunications signalling network; the intermediate service node being operable to: receive from a mobile device, via the communication arrangement communicating on the packet-switched network, an initiation message encapsulating a USSD request; generate and send, by the handshake module, a handshake request message to the mobile device; receive, from the mobile device via the communication arrangement, a handshake confirmation message indicative of an USID associated with the mobile device; and generate and send, by the mapping module, via the communication arrangement communicating on the telecommunications signalling network, a mapping dial request message including the USID and the USSD request to a USSD gateway, thereby to initiate a USSD emulation session.
The system as claimed in claim 16, in which: the intermediate service node includes a USID database; and the handshake module is operable to interrogate the USID database to obtain an MSISDN corresponding to the USID.
The system as claimed in claim 1 6 or claim 17, in which the intermediate service node is further be operable to: receive from the USSD gateway, via the communication arrangement communicating on the telecommunications signalling network, a mapping prompt message indicative of a USSD prompt; and convert, by means of the mapping module, the mapping prompt message to a prompt message; and send the prompt message, via the communication arrangement communicating on the packet-switched network, to the mobile device. The system as claimed in claim 18, in which the intermediate service node is operable to: receive from the mobile device, via the communication arrangement communicating on the packet-switched network, a reply message indicative of a USSD reply; convert, by means of the mapping module, the reply message into a mapping reply message; and send the mapping reply message, via the communication arrangement communicating on the telecommunications signalling network, to the USSD gateway.
A mobile device operable to emulate a USSD session, the mobile device including: a dialling emulator operable to display a keypad and receive a user input indicative of a USSD request; and a messaging module operable to: generate and send, via a packet-switched telecommunications network, an initiation message encapsulating the USSD request; receive a handshake request message querying an USID associated with the mobile device; and send a handshake confirmation message indicative of the USID associated with the mobile device.
The mobile device as claimed in claim 20, which is operable to: receive via the messaging module on the packet-switched network a prompt message encapsulating a USSD prompt; display the USSD prompt; receive via the dialling emulator a USSD reply; generate and send via the messaging module a reply message encapsulating a USSD reply.
A non-transitory computer-readable medium having stored thereon a computer program which, when executed by a computer, causes the computer to perform a method of USSD emulation as claimed in any of claims 1 to 12.
A non-transitory computer-readable medium having stored thereon a computer program which, when executed by a computer, causes the computer to perform a method of USSD emulation as claimed in any of claims 13 to 15.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ZA2012/02349 | 2012-03-30 | ||
ZA201202349 | 2012-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013144778A1 true WO2013144778A1 (en) | 2013-10-03 |
Family
ID=48444446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2013/052195 WO2013144778A1 (en) | 2012-03-30 | 2013-03-20 | A method and system for ussd emulation |
Country Status (2)
Country | Link |
---|---|
AP (1) | AP2013006772A0 (en) |
WO (1) | WO2013144778A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018026581A1 (en) * | 2016-08-05 | 2018-02-08 | T-Mobile Usa, Inc. | Ip-based ussd communications |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008055913A1 (en) * | 2006-11-06 | 2008-05-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatuses for allowing session control of ims services via a cs access by ussd messages |
-
2013
- 2013-03-20 WO PCT/IB2013/052195 patent/WO2013144778A1/en active Application Filing
- 2013-03-21 AP AP2013006772A patent/AP2013006772A0/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008055913A1 (en) * | 2006-11-06 | 2008-05-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatuses for allowing session control of ims services via a cs access by ussd messages |
Non-Patent Citations (1)
Title |
---|
MARVIN BIENN: "Mobile initiated USSD procedures", 27 March 2011 (2011-03-27), pages 1 - 6, XP055033822, Retrieved from the Internet <URL:ftp://ftp.3gpp2.org/TSGX/Working/2011/2011-03-Seoul/WG3-MMD/X30-20110328-021%20%5BE%5D%20Mobile%20Initiated%20USSD%20procedure.doc> [retrieved on 20120725] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018026581A1 (en) * | 2016-08-05 | 2018-02-08 | T-Mobile Usa, Inc. | Ip-based ussd communications |
US10701112B2 (en) | 2016-08-05 | 2020-06-30 | T-Mobile Usa, Inc. | IP-based USSD communications |
Also Published As
Publication number | Publication date |
---|---|
AP2013006772A0 (en) | 2013-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240321B2 (en) | Systems and methods for enabling access to third party services via a service layer | |
US6456857B1 (en) | Terminal to execute a terminal application | |
EP3195566B1 (en) | Service layer interworking using mqtt protocol | |
EP3073777B1 (en) | Management method for embedded universal integrated circuit card and related device | |
KR20190134603A (en) | How to send an existing subscription profile from the mobile network operator to the secure element, the corresponding servers and the secure element | |
US10015267B2 (en) | Generic multichannel center for network applications and services | |
US8965952B1 (en) | Processing service requests of multiple types on a common communication port for a service that accepts only one type | |
WO2019184658A1 (en) | Profile switching method and apparatus, and mobile terminal | |
JP2012531846A (en) | Data transmission method and terminal | |
US20220021633A1 (en) | Method and system for providing interoperability for rich communication suite (rcs) messaging with local and remote applications | |
CN114501611B (en) | Apparatus, method and computer program | |
JP2019531652A (en) | Proxy cellularless roaming | |
WO2012019391A1 (en) | System and method for obtaining detail information of number | |
US20130188559A1 (en) | Method for Establishing a Communication Connection over the Internet Between Mobile Terminals, Computer Program, and Storage Medium | |
CN105391702A (en) | Audio/video communication method, terminal, server and platform | |
WO2013144778A1 (en) | A method and system for ussd emulation | |
CN108810180A (en) | Dispatching method, device and its terminal that domain name mapping redirects | |
EP3121998B1 (en) | Generic multichannel center for network applications and services | |
EP3119067B1 (en) | Client-server system for network services and applications for mobile telecommunications terminals | |
WO2015023756A1 (en) | Method and apparatus for verifying a device during provisioning through caller id | |
CN104507068A (en) | Method for achieving one phone with two numbers, user terminal and one-phone with two-number service system | |
GB2541661A (en) | Data communications | |
AU2023213913A1 (en) | Device selection method and apparatus | |
WO2021250457A1 (en) | System and method for establishing a communication | |
CN116610463A (en) | Inter-process communication method, application server, terminal device and storage medium |
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: 13722829 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13722829 Country of ref document: EP Kind code of ref document: A1 |