The present invention relates to a method for executing CAT commands on a portable data carrier, and to a corresponding data carrier.
CAT commands (“Card Application Toolkit” commands) are a collection of commands that extend the functionality of portable data carriers, in particular of (U)SIM mobile communication cards. The CAT commands are defined by ETSI, the European Telecommunications Standards Institute, in the specification TS102 223. These are commands of the (U)SIM mobile communication card to the telecommunication terminal, with which commands the telecommunication terminal and its components, e.g. the display, the keyboard and the like, can be directly addressed or queried. CAT commands furthermore also enable the sending of messages, e.g. SMS messages, or the setup of a voice connection through the (U)SIM mobile communication card. Such commands are also referred to as proactive commands, because they can be independently executed by the (U)SIM mobile communication card.
For executing a proactive command it is therefore necessary to reverse the conventional master/slave relationship between the telecommunication terminal and the (U)SIM mobile communication card. For commands of the “SIM Application Toolkit” implemented on usual (U)SIM mobile communication cards, said commands constituting a subset of those of the “Card Application Toolkit”, the telecommunication terminal sends for example at regular intervals a request to the (U)SIM mobile communication card as to whether a SIM Application Toolkit command is present for processing. This procedure is referred to as “polling”.
Modern (U)SIM mobile communication cards often have a web server application (“SCWS”, Smart Card Web Server). The latter is adapted to provide to a web browser of the telecommunication terminal, on request, contents which are stored in the mobile communication card in the form of HTML documents. In this manner it is possible to present applications which are implemented completely on the mobile communication card, such as a phone book application, to a user of the telecommunication terminal in the form of HTML pages in the easy-to-use manner familiar to him from the Internet. Furthermore, the corresponding application can be easily transferred together with the mobile communication card to another telecommunication terminal as long as a web browser is available there.
Such applications, such as the above-mentioned phone book application, which partly make use of CAT commands must therefore support a mechanism which activates corresponding CAT commands on the mobile communication card when e.g. on the basis of an action of the user of the telecommunication terminal, for example the selection of a number from the phone book represented as an HTML document by clicking on said number, the corresponding CAT command for setting up a connection with the stated number is to be executed.
WO 2006/085201 A1 solves this problem by the phone book entry comprising a reference to a Java servlet stored on the mobile communication card and executable on a processor of the mobile communication card, wherein a click on the entry activates the servlet, which in its turn triggers the execution of the corresponding CAT command for dialing the number belonging to the phone book entry.
In WO 2007/105084 A1 there is described an application implemented as an applet, which makes SIM Toolkit commands and their interdependence displayable to a user of a telecommunication terminal. The application translates for this purpose the individual SIM Toolkit commands into corresponding HTML pages. The latter are displayed to the user and can be scrolled in accordance with the interdependencies of the SIM Toolkit commands by means of the navigation known from HTML pages. The statement of which of the commands displayed as described hereinabove is to be called is sent through an HTTP request to the application, which initiates an execution of the corresponding command.
For supporting an interaction between a web server application which makes available HTML contents on the (U)SIM mobile communication card, and a CAT interpreter for executing CAT commands on the (U)SIM mobile communication card, the prior art thus always makes use of an application usually implemented on the basis of the programming language Java. This requires a corresponding Java runtime environment on the (U)SIM mobile communication card, which makes substantial resource demands on the (U)SIM mobile communication card, and generally slows down the execution of the corresponding CAT commands.
It is the object of the present invention to simplify an execution of CAT commands on a portable data carrier.
In the inventive method on a portable data carrier, a web server of the data carrier receives command information from a terminal connected to the data carrier, the command information relating to at least one CAT command. The at least one CAT command is then executed by a CAT interpreter of the data carrier. According to the invention, the command information is embedded in an HTTP command request message of an HTTP client of the terminal, and the web server extracts the embedded command information from the HTTP command request message before relaying it to the CAT interpreter of the data carrier for executing the at least one CAT command.
An inventive portable data carrier accordingly comprises a communication interface, a memory and a processor as well as a web server application and a CAT interpreter application. The web server application is adapted to receive command information relating to at least one CAT command from a terminal connectable to the data carrier via the communication interface, and the CAT interpreter application is adapted to execute the at least one CAT command. Further, the web server application is adapted to extract command information embedded in an HTTP command request message received from an HTTP client of the terminal from the HTTP command request message and to relay it to the CAT interpreter application.
In this manner it is possible to cause the execution of CAT commands, in particular out of HTML-based applications, without employing an execution application specifically programmed for such purposes, such as a Java servlet. The initiation of the execution of the CAT commands is effected through the HTTP command request message in flexibly controllable fashion and with very low resource utilization on the data carrier, because it requires no execution application additionally needing memory space and runtime. Accordingly, the inventive solution can also be realized on those data carriers that do not comprise a Java runtime environment or corresponding interpreter platforms.
Preferably, the data carrier is configured as a (U)SIM mobile communication card which is connected via the communication interface to a telecommunication terminal. The telecommunication terminal comprises a web browser which, as an HTTP client, sends the command information to the web server of the data carrier. A user of the telecommunication terminal is enabled by the method to use the (U)SIM Application Toolkit commands comfortably via the web browser of the telecommunication terminal.
For extraction of the command information from the received HTTP command request message, the web server application first identifies the command information within the HTTP command request message. According to one embodiment of the method, the web server application identifies as command information in the HTTP command request message at least one CAT command which is embedded e.g. in the message part of an HTTP command—e.g. of a “POST” command—as a text message. Thus transferred CAT commands are easy to identify for the web server application, e.g. by the special syntax of the CAT commands.
According to a further embodiment, there is embedded in the HTTP command request message a reference to a file which in turn comprises at least one CAT command. The web server application is adapted to identify such references and to extract them from the HTTP command request message.
The web server application can be adapted to receive from the CAT interpreter after the execution of the at least one CAT command, command response information which relates to the execution of the at least one CAT command. Such command response information can comprise e.g. status information, a result of a computation, a response text relating to a request, an error message or the like. The web server application is then further adapted to send an HTTP command response message comprising the command response information to the HTTP client of the terminal as a response to the HTTP command request message. In this manner it is possible to use the method for a completely HTML-based interaction of a user of the terminal with an application of the data carrier which employs CAT commands.
Such an application can support for example the procurement of certain information, e.g. of a specific stock-market price or the like, by means of an SMS request with a background system. In this case the command information relates to that CAT command initiating the sending of the SMS request. The SMS response of the background system is relayed by the CAT interpreter to the web server application as command response information. The web server application in turn embeds the SMS response in the HTTP command response message to the HTTP client of the terminal and sends the thus constructed HTTP command response message to the HTTP client of the terminal according to the HTTP communication protocol.
According to one embodiment, the command information embedded in the HTTP command request message can relate to a CAT command which upon the execution initiates the readout of a defined file. In said file there can be stored for example an SMS message previously received by the data carrier. The web server application receives from the CAT interpreter as command response information the content of the SMS message and embeds it in the HTTP command response message, as described hereinabove.
Preferably, the data communication between the data carrier and the terminal is effected on the transport layer (cf. ISO/OSI reference model), i.e. below the application layer on which, as described, the HTTP communication protocol is employed, according to the Bearer Independent Protocol (BIP) which is specified in ETSI TS102 223. The data carrier thus does not have to support a complete Internet protocol stack, but only a transmission protocol for the lower layers close to hardware, e.g. the T=0 protocol, as well as the BIP and the HTTP communication protocol. In this manner, too, it is possible to save resources of the data carrier or to enable rather low-resource data carriers to carry out the method.
The invention will hereinafter be described by way of example with reference to the attached drawings. Therein are shown:
With reference to
The communication interface 20 is configured as a contact pad according to ISO/IEC 7816. This enables a data communication between the (U)SIM mobile communication card 10 and a terminal connected via the communication interface 20 to the (U)SIM mobile communication card 10, for example according to the T=0 or the USB communication protocol. However, the communication interface 20 can also be configured differently, for example according to the SD standard. Alternatively or additionally, the (U)SIM mobile communication card 10 can comprise a contactless interface, e.g. in the form of an antenna coil (not shown).
In the non-volatile, non-rewritable ROM memory 40 there is stored an operating system (OS) 42 controlling the (U)SIM mobile communication card 10. Special operating system routines implement the communication protocols supported by the (U)SIM mobile communication card 10. These are in particular the T=0 or T=1 protocol on the network access layer close to hardware, the Bearer Independent Protocol (BIP) on the connection and transport layer, and the HTTP communication protocol on the application layer. It is also possible that the (U)SIM mobile communication card 10 supports alternative or additional communication protocols, such as the USB protocol, or comprises a complete Internet protocol stack. A volatile, rewritable RAM memory 50 serves the (U)SIM mobile communication card 10 as working memory, and a non-volatile, rewritable FLASH memory 60 serves to store applications and data, such as a web server application 62 and a CAT interpreter application 64, as well as files 66 and 68.
The web server application 62 is adapted to provide contents, e.g. in the form of HTML documents, on request to an HTTP client, e.g. a web browser 110 (
In
As the result of such a click on a phone book entry, the web browser 110, in a first step S1, sends an HTTP command request message to the web server application (SCWS) 62, which comprises as command information in the content field of a corresponding HTTP command, e.g. of a “POST” command, a CAT command as text information, e.g. in the form <SET UP CALL 123456>. The web server application 62 analyzes the received command, e.g. by means of a suitable parser, and identifies the CAT command embedded in the HTTP command request message, which command the web server application 62 thereupon extracts from the HTTP command request message, and relays to the CAT interpreter application 64 in a second step S2. It is likewise possible to embed several CAT commands in the HTTP command request message as command information.
The CAT interpreter application 64 is adapted to execute the received CAT command, i.e. to set up a voice connection to the stated number 123456. After the CAT interpreter application 64 has executed the command, it sends, in step S3, command response information to the web server application 62 saying that the corresponding command has been executed, i.e. that a dialing of the corresponding number has been effected. As command response information the CAT interpreter application 64 can for example also return an error message when an execution of the corresponding command has failed. Further forms of command response information will be described with reference to
The web server application 62 receives the command response information sent by the CAT interpreter application 64 and embeds it in an HTTP command response message, which it sends to the web browser 110 as a response to the HTTP command request message in step S4. The user of the telecommunication terminal 100 can then read on the web browser 110 for example that the desired number has been dialed. Alternatively, the steps S3 and S4 can be omitted, i.e. there is no direct feedback from the CAT interpreter application 64 to the web browser 110 via the web server application 62. It is also possible that the web server application 62 sends an HTTP command response message to the web browser 110 without having received command response information from the CAT interpreter application 64. Such an HTTP command response message can convey for example the information that the CAT command received with the HTTP command request message has been relayed to the CAT interpreter application 64.
This embodiment of the method is suited in particular for initiating by means of an HTTP command request message the execution of a plurality of CAT commands which are stored in an accordingly defined command file, without having to embed each of said commands in the HTTP command request message again explicitly and upon each identical, possibly recurring HTTP command request message. For example, a sending of SMS messages to a predetermined distribution list can be carried out efficiently in this manner. The steps S4 and S5 correspond to the steps S3 and S4 from
A further embodiment of the method which is represented with reference to
The background system 200, in step S4, sends to the (U)SIM mobile communication card 10 an SMS response message following the SMS request message. Said SMS response message and possibly already the SMS request message can be transferred between the background system and the (U)SIM mobile communication card 10 according to GSM 03.48 in encrypted form. In this manner it is also possible to carry out the transfer of sensitive data by means of the method described here.
The SMS response message which contains the information requested by the user is relayed by the CAT interpreter application 64 to the web server application 62 as command response information in step S5.
The web server application 62 embeds the thus received SMS response message in an HTTP command response message and sends the latter to the web browser 110 of the telecommunication terminal 100 in step S6. The user of the telecommunication terminal 100 can thereupon view the content of the SMS response message as an HTML document on the web browser 110.
In
In a special embodiment of this embodiment, the steps S2 and S3 can be omitted when the (U)SIM mobile communication card 10 receives a so-called push SMS message. A push SMS message is normally processed by the (U)SIM mobile communication card and displayed to the user directly. The CAT interpreter application 64 initiates the launching of the web browser 110 of the telecommunication terminal 100 by means of a special CAT command, “LAUNCH BROWSER”, and only then relays the content of the received push SMS message to the web server application 62. The latter deals therewith as in the embodiments described with reference to
As represented in
Number | Date | Country | Kind |
---|---|---|---|
10 2008 004 693 | Jan 2008 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2009/000224 | 1/15/2009 | WO | 00 | 7/14/2010 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2009/090070 | 7/23/2009 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7076273 | Laumen et al. | Jul 2006 | B2 |
7406332 | Gaillard et al. | Jul 2008 | B1 |
7417885 | Matsuno et al. | Aug 2008 | B2 |
8136109 | Birdeau et al. | Mar 2012 | B1 |
8676260 | Robles et al. | Mar 2014 | B2 |
20040171375 | Chow-Toun | Sep 2004 | A1 |
20050259673 | Lu et al. | Nov 2005 | A1 |
20060150245 | Cheng et al. | Jul 2006 | A1 |
20070112680 | van Niekerk et al. | May 2007 | A1 |
20070121366 | Matsuno et al. | May 2007 | A1 |
20070239857 | Mahalal et al. | Oct 2007 | A1 |
20070266271 | Frints | Nov 2007 | A1 |
20080278496 | Helfman et al. | Nov 2008 | A1 |
20080280644 | Hugot | Nov 2008 | A1 |
20090020602 | Pratone | Jan 2009 | A1 |
20090082008 | Thorell | Mar 2009 | A1 |
20090191917 | Zappulla et al. | Jul 2009 | A1 |
20100167754 | Jolivet | Jul 2010 | A1 |
20100281139 | Deprun | Nov 2010 | A1 |
Number | Date | Country |
---|---|---|
1971758 | May 2007 | CN |
101006430 | Jul 2007 | CN |
1 608 123 | Dec 2005 | EP |
1 691 536 | Aug 2006 | EP |
2 893 803 | May 2007 | FR |
2004059562 | Jul 2004 | WO |
2006085201 | Aug 2006 | WO |
2007062673 | Jun 2007 | WO |
2007105084 | Sep 2007 | WO |
Entry |
---|
Guthery, S. et al: “The WebSIM—Clever Smartcards Listen to Port 80” Internet Citation, [Online] XP002461126, Dec. 1999. |
International Search Report in PCT/EP2009/000224, Jul. 31, 2009. |
Chinese Search Report from Corresponding Chinese Application No. 2009801068742, Jan. 30, 2013. |
Number | Date | Country | |
---|---|---|---|
20110111802 A1 | May 2011 | US |