Abstract: System and method of providing a USSD service in a network without impacting the user experience are disclosed. The method includes the steps of: a) receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period; b)determining whether a total number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period c) in response to a negative outcome in step b), transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination; d) terminating the first USSD session subsequent to the delivery of the message; and e) automatically initiating establishment of the second USSD session.
CLIAMS:We Claim:
1. A method of providing a USSD service in a network, the method comprising the steps of:
a. receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period;
b. determining continuously whether a total/pending number of steps needed for servicing the USSD request, as defined in a static manner or as defined in a dynamic manner, can be completed within the first time period;
c. in response to a negative outcome in step b, transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination;
d. terminating the first USSD session subsequent to the delivery of the message; and
e. automatically initiating establishment of a second USSD session.
2. The method as claimed in claim 1, wherein the first time period is the actual network element timeout period for the first USSD session set by a MSC/HLR or other network elements which can set the timeout in the network.
3. The method as claimed in claim 1 further comprising the steps of:
f. forwarding the USSD request to a content provider subsequent to step d;
g. receiving a response to the USSD request from the content provider; and
h. communicating the received response to the mobile station, thereby automatically initiating the establishment of the second USSD session.
4. The method as claimed in claim 1 further comprising the steps of:
i. in response to the positive outcome in step b, forwarding the USSD request to the content provider;
j. determining a delay in receiving a response to the USSD request, the delay being imparted by a delay imparting entity including content provider, the mobile station, a USSD Device or any entity in the mobile network;
k. determining whether in presence of the delay the USSD request can be serviced within the first time period;
l. in response to a negative outcome in step k, transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination;
m. terminating the first USSD session subsequent to the delivery of the message;
n. receiving a response to the USSD request from the delay imparting entity subsequent to the termination of the first USSD session; and
o. automatically initiating establishment of the second USSD session based on the response from the delay imparting entity.
5. The method as claimed in claim 1 further comprising the steps of:
p. storing one or more flags indicating a progress of the mobile station in the first USSD session; and
q. commencing processing in the second USSD session based on the flag thus stored.
6. The method as claimed in claim 5, wherein the step of commencing processing is done from a last safe logical state of the terminated session, the last logical state being determined using the stored flags.
7. The method as claimed in claim 1, wherein in step e) of automatically establishment of the second USSD session occurs upon satisfaction of the predetermined condition, the predetermined conditioned being based upon the number of steps already completed in the first USSD session.
8. An apparatus for providing a USSD service in a network, the apparatus comprising:
a transceiver for receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period;
a clock for tracking the pre-configured first time period;
a memory for storing a list of time periods including a start point of the pre-configured first time period;
a session device, in operational interconnection with a message sending device, configured for:
a) determining whether a total/pending number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period; wherein in response to a negative outcome in said determining, transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination.
b) Terminating the first USSD session subsequent to the delivery of the message and
c) Automatically initiating establishment of the second USSD session.
9. The apparatus as claimed in claim 8, wherein the memory is further configured for storing one or more flags indicating progress of the mobile station in the first USSD session.
,TagSPECI:
FIELD OF THE INVENTION
This invention relates broadly to mobile telecommunications and specifically to a method and system for enabling continuity in servicing an Unstructured Supplementary Service Data request.
BACKGROUND OF THE INVENTION
The following background discussion includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
Unstructured Supplementary Service Data (USSD) is a GSM (Global System for Mobile Communication) service that allows high-speed interactive communication between subscribers and applications across a GSM network. USSD can be used for prepaid callback service, mobile-money services, location-based content services, menu-based information services, as part of configuring the phone on the network to name a few.
USSD is a session based message interchange typically between a Mobile Station (MS)/ subscriber and a USSD Device. The USSD session can either be initiated by the MS, i.e. the pull mode of operation, or can be initiated by the USSD Device or associated network elements, i.e. the push mode of operation. The push and pull modes of operation of the USSD communication are described in GSM 02.90 V8.0.0, entitled "Digital cellular telecommunications system (Phase 2+); Unstructured Supplementary Service Data (USSD) - Stage 1", ETSI TS 100 549 V7.0.0, entitled "Digital cellular telecommunications system (Phase 2+); Unstructured Supplementary Service Data (USSD) - Stage 2", GSM 04.90 version 7.0.1, entitled "Unstructured Supplementary Service Data (USSD); Stage 3" and 3GPP TS 23.090 V8.0.0, entitled "Unstructured Supplementary Service Data (USSD); Stage 2", the contents of which are incorporated herein by reference.
A USSD session typically starts with the subscriber sending a USSD message like as an illustration "*121#".USSD messages are generally up to 182 alphanumeric character bytes in length. The service code serves as an identity of a USSD application service and is utilized for routing the message to the USSD Device via telecom operator network elements such as MSC, HLR etc. Unlike Short Message Service (SMS) messages, USSD messages create a real-time connection during a USSD session. The connection remains open, allowing a two-way exchange of a sequence of data. This makes USSD more responsive than services that use SMS. Further, USSD is session orientated, unlike SMS, which is a store-and-forward technology. When a USSD session is initiated, the radio connection stays open until it is released by either the subscriber or by the network gateway or the session time expires.
USSD sessions, in both pull and push modes of operation, comprise a sequence of messages exchanged between the subscriber, USSD Device and other network entities. In a USSD session, the network has the limitations on the session timers (including idle times of the subscriber, USSD Device, content provider applications) by considering the limited resource usage available. If the session time limit reaches, network shall terminate the session with the subscriber even though the subscriber is active in the session. This impacts the subscriber’s experience.
Currently, when the network time out happens, there is no meaningful communication to the subscribers and the session gets terminated abruptly, thereby impacting the subscriber’s experience. The network timeout may be a result of the internal network delay/issues or non-receipt of any response from the subscriber or any network entity involved in the USSD session. Increasing the network time out value may overcome the issue for some time. However, this increases the number of signaling channel blocking.
One solution that is available is by handling the timeouts at application/Content Provider level. However, handling at application/content provider level increases the complexity and overhead for all the provider’s applications.
In case of such termination of the USSD session, there is loss of the user application data and thus the user needs to re-send a fresh USSD message and establish a new USSD session from the very first stage giving users a great deal of inconvenience. Certain prior art solutions have been provided to reinitiate the session from the stage from where the session got terminated. However, such an initiation is not advisable in cases where the user authenticated details are involved, such as mobile banking applications.
These session duration limitations and abrupt session terminations impact the user experiences while browsing the USSD services and also lead to improper closure of transactions performing.
Certain solutions have been provided in the prior art such as patent number CN101854607A to Zhao et. al., non-patent literature entitled: “Implementation of Real Time Tracking using Unstructured Supplementary Service Data” to Dabas et. al and US patent Publication No. US2012/0089674 to Staykoff to name afew.
However, there exists a well felt need to provide a better and improved mechanism for providing the USSD device without impacting the user experience and overcoming the prior art problems.
SUMMARY OF THE INVENTION
In accordance with an embodiment disclosed herein, a method of providing a USSD service in a network is disclosed. The method includes the steps of: a) receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period; b)determining continuously whether a total /pending number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period c) In response to a negative outcome in step b), transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination; d) Terminating the first USSD session subsequent to the delivery of the message; and e) Automatically initiating establishment of the second USSD session.
In accordance with an embodiment disclosed herein, an apparatus for providing a USSD service in a network is disclosed. The apparatus includes a transceiver for receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period and a clock for tracking the pre-configured first time period. The apparatus further includes a memory for storing a list of predefined conditions and a start point of the pre-configured first time period. A session device, in operational interconnection with a message sending device, is configured for: a) determining continuously whether a total/pending number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period; wherein in response to a negative outcome in said determining, transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination b) terminating the first USSD session subsequent to the delivery of the message and c) automatically initiating establishment of the second USSD session.
BRIEF DESCRIPTION OF THE DRAWINGS
To further clarify advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail with the accompanying drawings in which:
Figure 1 illustrates a flowchart of a method for providing USSD service in accordance with an embodiment of the invention;
Figure 2 illustrates a schematic diagram of a system for providing USSD service in accordance with an embodiment of the invention;
Figure 3 illustrates an example of the timing diagram in accordance with an embodiment of the invention;
Figure 4 illustrates an example of a USSD process involving a simple hierarchical structure in accordance with an embodiment of the invention;
Figure 5 illustrates an example of a USSD process involving a complex hierarchical structure in accordance with an embodiment of the invention;
Figure 6 illustrates another example of the timing diagram in accordance with an embodiment of the invention;
Figure 7 illustrates another example of the timing diagram in accordance with an embodiment of the invention;
Figure 8 illustrates another example of the timing diagram in accordance with an embodiment of the invention;
Figure 9 illustrates an exemplified diagram of the USSD device in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the invention and are not intended to be restrictive thereof. Throughout the patent specification, a convention employed is that in the appended drawings, like numerals denote like components.
Reference throughout this specification to “an embodiment”, “another embodiment” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
The terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures proceeded by "comprises... a" does not, without more constraints, preclude the existence of other devices or other sub-systems or other elements or other structures or additional devices or additional sub-systems or additional elements or additional structures.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The system, methods, and examples provided herein are illustrative only and not intended to be limiting. The term user, subscriber, mobile station, mobile, may be used interchangeably having the same intention and are not intended to be limiting.
Further, the term service, application, request may be used in conjunction or interchangeably with each other.
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
A system and method for proving a USSD service in a network without impacting the user experience is disclosed.
Referring to Figure 1, a flow chart of a method 100 for providing a USSD service in a network is illustrated. The method comprises the step of receiving a USSD request in a first USSD session, the first USSD session being valid for a pre-configured first time period as shown in step 102. The method further comprises the step of determining whether a total number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period as shown in step 104. Based on the determining, the method comprises the step of transmitting a message to the subscriber as shown in step 106. The method further comprises the step of gracefully terminating the first USSD session subsequent to the delivery of the message and automatically initiating establishment of the second USSD session as shown in step 108 and 110 respectively.
According to an embodiment, the method further comprises the step of transmitting a message to the mobile station before expiry of the first time period, said message informing the mobile station of a forthcoming termination in response to a negative outcome in step 104.
According to an embodiment, the method further comprises the step of forwarding the USSD request to the content provider subsequent to step 108 and receiving a response to the USSD request from the content provider. The method further comprises the step of communicating the received response to the mobile station thereby automatically initiating the establishment of the second USSD session.
According to an embodiment, in response to the positive outcome in step 104, the method further includes the step of, forwarding the USSD request to the content provider and determining the delay in receiving a response to the USSD request, the delay being imparted by a delay imparting entity including content provider, the mobile station, the USSD Device or any entity in the mobile network. The method further comprises the steps of determining whether in presence of the delay the USSD request can be serviced within the first time period and transmitting a message to the mobile station before expiry of the first time period, in response to a negative outcome in the aforesaid determining. The method further comprises the steps of receiving the response to the USSD request from the delay imparting entity subsequent to the termination of the first USSD session and automatically initiating establishment of the second USSD session based on the response from the delay imparting entity. The delay imparting entity may include any entity in the system such as, but not limited to, MSC, HLR, subscriber (Mobile Station), Content Provider Device or any other system entity. However, in absence of a valid USSD session, the delay imparting entity cannot be a Mobile Station from which response is received.
According to an embodiment, the step 110 occurs upon satisfaction of the predetermined condition, the predetermined conditioned being based upon the number of step already completed in the first USSD session.
According to an embodiment, the method further includes the step of storing at least one flag indicating a progress of the mobile station in the first USSD session and commencing processing in the second USSD session based on the flag thus stored. In the preferred embodiment, the step of commencing processing is done from a last safe logical state of the terminated session, the last logical state being determined using the stored flags.
Referring to Figure 2, a schematic diagram of a system implementing the method in accordance with an embodiment of the invention is disclosed.The system 200 comprises of a Mobile Switching Centre (MSC)/HLR (Home Location Register) 210, a USSD device 220 and a Content Provider device (CPD) 230. The MSC/HLR 210 is responsible for setting the network time out period for a USSD session. The various aforesaid entities are in operative communication with each other via communication channels (not shown).The communication channels may be analog or digital channels, simplex or duplex or half-duplex channel, uplink or downlink channels, or any other communication channels known in the art.
The Mobile Switching Centre (MSC) is the core of the network. The MSC 210 is mostly associated with communications switching functions, such as setting the USSD session time out period, USSD request release, and routing. However, it also performs a host of other duties, including routing conference calls, facsimile, and billing as well as interfacing with other networks, such as the public switched telephone network (PSTN). The MSC 210 is further connected to a Home Location Register (HLR), which is arranged to provide the MSC 210 with data relating to a subscriber upon request. The subscriber may include a mobile communication device used directly by an end-user to communicate such as handheld computers, UMTS mobile phones, GSM mobile phones, etc.
The USSD device 220 receives a USSD request in a first USSD session wherein the first USSD session is valid for the network time out period set by the MSC/HLR 210.The USSD session can either be initiated by the MS, i.e. the pull mode of operation, or can be initiated by the USSD Device, i.e. the push mode of operation. A pull mode of operation USSD request typically starts with the subscriber sending a USSD message. On receiving the USSD request, the MSC/HLR 210 begins a USSD session for a fixed predetermined time.
The USSD device 220 is configured to determine whether a total number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period or not. The USSD device 220 based on said determining sends a graceful communication message to the subscriber. The USSD device 220 is further configured to gracefully terminate the first USSD session subsequent to the delivery of the message and automatically initiate establishment of the second USSD session.
The present application may be explained by way of the following non-limiting examples:
Example 1: Referring to Figure 3, the process starts at the USSD device receiving a request message depicted by step S1 in the figure 3. While figure 3 illustrates the USSD device receiving the request from a MSC and in response to the MSC receiving the request from a subscriber, the request may be alternatively received from any other entity which caters to the USSD request, for example from the MSC without being dependent upon a reception from the subscriber or from the content provider device. During this process of receiving the USSD request, the USSD device also receives an indication of the first time period for which the USSD session is valid. Generally, such a time period is set out by the MSC/HLR. However, other network elements may also be configured and capable of setting the aforesaid time period.
There exists two possibilities which can be encountered at the time of receiving the USSD request, namely, (a) the USSD platform is able to identify the total number of steps that are needed to be completed for servicing the USSD request and (b) the USSD platform is not in a position to identify the total number of steps that are needed to be completed for servicing the USSD request.
The first scenario may exists especially in case of processes which involve a simple hierarchical structure as illustrated in figure 4 while for processes involving complex hierarchical structure as illustrated in figure 5 the second scenario may exists predominantly.
While referring to the first scenario, it is possible for an administrator to analyze the process for servicing the USSD request and determine the total number of steps needed for servicing the USSD request. Based on the past experience, the administrator can take a decision as to whether it should be feasible to perform all the steps within the first time period or in other words, service the USSD request within the first time period. Once the administrator takes a decision, the administrator appropriately indicates his conclusion in a memory storage device, which the USSD device can access.
In instances wherein the administrator is not analyzing the process for servicing the USSD request, the USSD device or any other device can automatically perform the analysis the process to arrive at the total number of steps and based on historical data, determine whether the total number of steps needed for servicing the USSD request can be completed within the first time period.
In instances wherein the number of steps needed for servicing the USSD request is determinable or known to the USSD device at the time of receiving the USSD request, we will construe that the number of steps needed for servicing the USSD request has been defined in a static manner.
Thus drawing corollary from the above, the USSD request in respect of which the number of steps needed for servicing the USSD request is not determinable or known to the USSD device at the time of receiving the USSD request, will be construed as being dynamic. It may however, be noticed that USSD services which will be understood to be dynamic at the beginning, after progress of the process of servicing can have a static definition, wherein such definition can be provided by the administrator or by the USSD device (after performing the analysis). In other words, after a series of steps, it may be then possible for the administrator or the USSD device to determine the number of steps remaining to complete the USSD process.
Upon receipt of the USSD request, the USSD device in turn checks whether a total number of steps needed for servicing the USSD request, as defined in the static manner or as defined in a dynamic manner, can be completed within the first time period.
Now it can be noticed that there are two possible outcomes to the step of determining whether the total number of steps needed for servicing the USSD request, as defined in the static manner, can be completed within the first time period.
The first outcome is arriving at a conclusion that the total number of steps needed for servicing the USSD request, as defined in the static manner, cannot be completed within the first time period. The present example deals with the how to proceed under such circumstances.
Once the USSD device determines that the total number of steps needed for servicing the USSD request, as defined in the static manner, cannot be completed within the first time period, it may send a communication message to the subscriber before the expiry of the USSD session time out period, as shown in step S2. Such a message gracefully informs the user of the forthcoming termination, as done in step S3. Thereafter, the USSD device forwards the USSD request to the Content Provider Device as shown in step S4. Once the response is received from the Content Provider Device at S5, the USSD Device automatically seeks permission from the user for establishment of the new USSD session, as shown in step S6. Once the subscriber confirms to such permission, as shown in step S7, the new session is automatically initiated which is indicated by step S8, and the process continues. The aforesaid process can be performed in a continuous manner after every predetermined period of time period or after a step has been completed till the session is terminated or serviced.
The aforesaid configuration is particularly helpful in case there is a huge delay on part of the USSD device in sending the USSD request to the Content Provider Device. The aforesaid configuration is also helpful in case there is a huge delay on part of the Content Provider Device in responding to the initial message. Under the aforesaid scenario, it is possible for the USSD device to immediately send a communication message that gracefully informs the user of the forthcoming termination and terminate the first USSD session thereafter.
It can be noticed that in the aforesaid configuration the USSD device automatically seeks permission from the user for establishment of new session in all cases where it is determined that the session could not be completed. Although such a process is feasible, such a process need not always guarantee an increase in “return on investment”, wherein the step of automatically seeking permission from the user for establishment of new session, which is in the form of an intimation being sent to the user is taken as the investment. Thus, in one probable variation the USSD device automatically seeks permission from the user for establishment of new session only after satisfaction of a predetermined condition. More particularly, it may be easy and feasible for the administrator to set a target number of operations/steps needed to be completed in the USSD session as a criterion for the USSD device to automatically seek permission from the user for establishment of new session (or for the system to automatically set such target). In this configuration, only after determining that a target number of steps as configured have been performed in the existing USSD session, the USSD device shall automatically establish a new USSD session after sending a message to the subscriber. In case, the target number of steps has not been performed in the existing USSD session, the USSD device shall not re-establish a new USSD session.
The following examples, deals with the second outcome i.e. when the USSD device arrives at a conclusion that the total number of steps needed for servicing the USSD request, as defined in the static manner, can be completed within the first time period. Thus, immediately after arriving at the positive conclusion, the USSD device sends the USSD request to the Content Provider Device.
While such a positive conclusion looks good on the face, the same is subject to changes, wherein the changes can occur because of a wide variety of reasons as is known to a person skilled in the art. Under the aforesaid scenario, the USSD device can configure a timer and determine a delay. Without wishing to be limited to the reasons, some of the most commonly observed reasons for the delay include:
(b) The content provider taking a lot of time to respond;
(a) The user taking a lot of time to respond;
(c) An interruption on part of the user caused because of receipt of a call / message,
(d) Congestion in the network,
(e) Any other technical failure etc.
Thereafter, the USSD device proceeds in the same manner as illustrated in the above example. Since the session is not completed and as stated above in example 1, the query can be posted after every predetermined amount of time period. When the query is reposted, the delay is taken into consideration.
The following examples may be read in line with the description and step numbers referred in example 1. The sequence of steps may change in the following examples based the nature of the reason for non-completion of the first USSD session. However, the terminology and the meaning used in example 1 for the step numbers indicate the same and shall be incorporated in the following examples for the purpose of understanding.
Example 2: illustrates case of non-completion of USSD request due to delay at the end of the Content Provider Device:
Referring to Figure 6, this example illustrates the case where a USSD request cannot be completed in a delay dependent scenario, the delay being caused by the Content Provider Device. Once the USSD request is forwarded to the Content Provider Device (step S4), the USSD device determines the delay in receiving the response from the Content provider (receiving step indicated at Step S5) and further determines whether in the presence of the delay the USSD request can be serviced within the USSD session or not. Assuming the case that the USSD request cannot be completed due to the delay in receiving the response from the Content Provider Device, a graceful communication message indicating the subscriber of the delay is sent to the subscriber before the expiry of the USSD session time out period as shown in step S2. Thereon the steps proceed in the same way as illustrated in example 1 and thus have not been repeated herein for sake of brevity. In an alternate example, a threshold time may be defined by the administrator for the Content Provider to respond. The threshold time may be the time beyond which there is no sense in resuming the USSD session. In case, where the Content Provider does not respond by the predefined threshold time, the USSD device shall send a graceful communication message to the mobile station/subscriber. Thereafter, the USSD session shall be terminated and USSD session shall not be resumed.
Example 3: illustrates a case of non-completion of USSD request due to delay at the user/Mobile Station’s end:
Referring to Figure 7, this example illustrates the case where a USSD request cannot be completed in a delay dependent scenario, the delay being caused by the subscriber/mobile station. Assuming the case wherein completing the USSD request requires a response from the subscriber at any step to proceed further, let’s say after step S9. Step S9 indicates the step of forwarding the response by the USSD device as received from the Content Provider Device. In a timeout scenario i.e. non –receipt of any response from the subscriber within a predetermined time fixed by the administrator, the USSD Device sends a graceful communication message indicating the subscriber of the delay before the expiry of the USSD session time out period as shown in step S2. Thereon the steps proceed in the same way as illustrated in example 1 and thus have not been repeated herein for sake of brevity. In an alternate example, a threshold time may be defined for the subscriber/ mobile station to respond. The threshold time may be the time beyond which there is no sense in resuming the USSD session. In case, where the subscriber/ mobile station does not respond by the threshold time, the USSD device shall send a graceful communication message to the mobile station/subscriber and the session shall be terminated. Considering for instance, the subscriber/ mobile station moves out of network coverage at a time where a response is required from the subscriber/ mobile station. Thereafter, the subscriber/ mobile station comes back to network coverage after the expiry of the threshold time defined to respond, the USSD device shall send a gracefully communication message to the mobile station/subscriber informing of the session termination. Thereafter, the USSD session shall be terminated and USSD session shall not be resumed.
Example 4: illustrates a case of resumption of a terminated session from a safe state.
Referring to Figure 8, an example of resumption of a terminated session from a safe state is shown. Consider a money transfer/ mobile banking application wherein there are 3 steps –
a) Login,
b) authenticate pin,
c) make transfer
Considering the scenario that the USSD session got terminated after step b, it is not advisable to resume at the last menu or state always and it depends on the type of operation or state that was done in the previous session. As can be seen in the Figure 8, the process starts with the subscriber making a USSD request (for mobile banking in present case) at step S1. The USSD request is forwarded to the Content Provider Device (CPD) as indicated at step S4 (USSD request forward). On receiving the USSD request, the CPD forwards its response, requesting for Login details from the subscriber, to the USSD device, as indicated in step S5 (Login). The response from the CPD is forwarded to the subscriber as indicated in step S9 (Login) by the USSD device. At step S10, the user responds by submitting the login details that is forwarded to the CPD at Step S4 (Login Details). The CPD on receiving the login details confirms the same and requests for Authentication pin in its next response as indicated in Step S5 (Authentication Pin). The same is forwarded to the subscriber and the response is received with respect to the authentication pin from the subscriber at steps S9 and S10 (Authentication Pin) respectively. Thereafter, the authentication pin details are forwarded to the CPD at step S4 (Authentication Pin). The CPD, on receiving and confirming the authentication pin details, responds by requesting for details relating to the transfer at step S5 (make transfer) As can be seen, thereafter the session gets terminated. In the preferred example, the USSD Device instead of resuming from step c, will resume the new USSD session by requesting credentials again i.e. step b (Authentication Pin step) as indicated at step S9 (Authentication Pin), just to ensure the safe logical state is restored to avoid any fraudulent misuse arising out of disconnect. The USSD device directly, without involving the Content Provider, resumes the USSD session from the Authentication Pin step (safe logical state) and forwards the response to the subscriber. Thus, the present invention provides a safe way of resuming from previous USSD session or resuming from a safe state. In another example, the USSD application server shall always resume the new USSD session from any safe step as may be fixed by the administrator.
An exemplary construction of the USSD device is shown in Figure 9. Referring to Figures 2 and 9 together, the USSD Device 220 includes a transceiver 310, a clock 320, a memory 330, a session device 340, a message sending device 350, a session terminating device 360. The transceiver 310 is adapted to route USSD messages/requests from a signaling network to the Content Provider Device 230, and from the Content Provider Device 230 to the signalling network. Signalling System Number 7 (SS7) is a set of telephony signaling protocols commonly used in public switched telephone networks. As is well known in the prior art, the functionality of the physical, data-link and network layer, per the Open System Interconnection (OSI) Reference Model, is provided by the Message Transfer Part (MTP) and the Signaling Connection Control Part (SCCP) in the SS7. The application layer functionality, per the OSI Reference Model, is provided by the Transaction Capabilities Application Part (TCAP), which in a communications network, such as GSM, carries Mobile Application Part (MAP) messages.
The clock 320 is used to keep a track of the various time out periods involved in a USSD session. The clock 320 is adapted to be set by an administrator for various time out periods such as, but not limited to, time period for sending a message to the subscriber, time period for receiving a response from the subscriber or any entity in the system and so on. The clock 320 is further configured to determine and track the elapsed time for any given state in a session. Such a determination of the elapsed time may be used to check the number of pending steps to be completed before the preconfigured timeout. The clock 320 is however not configured to reset the time period set by the MSC/HLR 210 for the USSD session. The other known functions of the clock 320 as known in the art may be performed.
The session device 340 is configured to determine whether a USSD request can be completed in a single USSD session i.e. within the time period fixed by the MSC/HLR 210 for the USSD session. In the scenario wherein the USSD request cannot be completed in a single USSD session, the message sending device 350 sends a graceful communication message before the USSD session terminates or the connection with the subscriber gets disconnected abruptly. The non- completion of the USSD request in a single USSD session may be attributed to several reasons such as, but not limited to, delay imparted by any entity in the system, delay at the subscribers’ end, no-response received from the subscriber or any entity in the system, occurrence of a predetermined event or condition and so on. The session device 240 is involved in gracefully terminating the USSD session.
The session device 340 is further configured to determine the levels/sequence of operations/menu or the total numbers of steps needed for servicing the USSD request the USSD request from the subscriber. The session device 340 is adapted to allow the administrator to configure that a certain target number of operations (or in some cases all the operations) have to be completed within a single session and should not be spread across session to retain the intended user experience for servicing that particular USSD request. This is what is termed as static behaviour. Such a static configuration is done based on service type or operation/menu type understanding of the administrator. The session device 340 provides provisions for such manual configuration. In case the administrator has not configured such static configuration for each USSD application/menu/operations, then the session device 340 automatically determines such restrictions (like what set of operations to be completed in a single sessions) and take actions (does not allow resume from menu/operation 2) accordingly based on the service/menu/operation type configured for a given USSD application. In this case the expectation is at least the type of service/menu/operation type needs to be known to the system either sent by USSD application at run time to or when the menus are being created.
The memory 330 acts a data repository and stores, but not limited to, various subscriber authenticated details, list of time period of various USSD sessions including a start point of the pre-configured first time period, list of active USSD sessions, lists of USSD sessions which have been terminated due to any of the aforesaid reasons and so on. The memory 330 is further configured to store a list of flags, each flag indicating the progress of the subscriber in the USSD session i.e. indicating the step number, involved in completion of the USSD request. Such flags may be associated with each of the responses received from any of the entities involved in the system.
The session device 340, in operative interconnection with the transceiver 310, on such a graceful termination, as aforesaid, may automatically establish a new USSD session or establish a session on receiving a confirmation from the subscriber for continuing participation in the new USSD session for completing the existing USSD request. The session device 340 establishes the new USSD session from the state or step as may be statically configured by the administrator when the USSD menus are being configured directly in the system. The session device 340 is further adapted to establish the new USSD session using the flags stored in the memory 330. In a preferred embodiment, whenever timeout happens the session device 340 should not resume the session from physical state of the session to the subscribers rather shall continue the session from the safest step or last logical state of the session. By way of example, such a safest step may include, but not limited to, the step wherein the subscriber needs to input certain critical details again.
The session device 340, in operative communication with the transceiver 310, communicates with the Content Provider Device 230 and communicates the responses received from the Content Provider Device 230 via the MSC/HLR 210 to the subscriber. All the entities of the USSD device 220 operate in inter connection (not shown) with a processor 360.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any component(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or component of any or all the claims.
While specific language has been used to describe the disclosure, any limitations arising on account of the same are not intended. As would be apparent to a person in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein.
| # | Name | Date |
|---|---|---|
| 1 | 210-DEL-2014-AbandonedLetter.pdf | 2019-10-01 |
| 1 | Form-9(Online).pdf | 2014-02-03 |
| 2 | 210-DEL-2014-FER.pdf | 2018-07-30 |
| 2 | FORM 5.pdf | 2014-02-05 |
| 3 | Form 3.pdf | 2014-02-05 |
| 3 | 210-del-2014-Correspondence-Others-(01-07-2014).pdf | 2014-07-01 |
| 4 | Form 26.pdf | 2014-02-05 |
| 4 | Amended Forms.pdf | 2014-02-05 |
| 5 | Complete Specification.pdf | 2014-02-05 |
| 5 | Form 13.pdf | 2014-02-05 |
| 6 | Drawings.pdf | 2014-02-05 |
| 7 | Complete Specification.pdf | 2014-02-05 |
| 7 | Form 13.pdf | 2014-02-05 |
| 8 | Amended Forms.pdf | 2014-02-05 |
| 8 | Form 26.pdf | 2014-02-05 |
| 9 | 210-del-2014-Correspondence-Others-(01-07-2014).pdf | 2014-07-01 |
| 9 | Form 3.pdf | 2014-02-05 |
| 10 | FORM 5.pdf | 2014-02-05 |
| 10 | 210-DEL-2014-FER.pdf | 2018-07-30 |
| 11 | Form-9(Online).pdf | 2014-02-03 |
| 11 | 210-DEL-2014-AbandonedLetter.pdf | 2019-10-01 |
| 1 | 210-del-2014_18-07-2018.pdf |