Application server having asynchronous event manager configured for terminating messaging operations and rolling back prescribed data structures
First Claim
1. A method in an application server, the method comprising:
- receiving, by the application server, an initiation request from a gateway configured for receiving incoming Voice over IP calls, including receiving the initiation request via a Voice over IP call control channel between the application server and the gateway;
initiating by the application server an instance of an application process configured for executing a prescribed sequence of messaging operations for a first type of incoming message, in response to reception of the initiation request, the initiating including writing first data, having been received from the gateway via a Voice over IP media channel, into a first data structure that identifies information based on execution of the instance;
selectively setting by the application server a prescribed variable based on receiving a reject message from the gateway via the Voice over IP call control channel; and
selectively terminating, by the application server, the instance prior to completing the sequence of messaging operations based on detecting, at a prescribed location in the prescribed sequence, the prescribed variable set during execution of the instance and that specifies the prescribed sequence of message operations are not to be performed based on the prescribed variable having been set to specify that the incoming message corresponds to a second message type incompatible with the first type, the selectively terminating including terminating execution of the operations subsequent to the prescribed location and removing the first data from the first data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
An application server includes an asynchronous event manager configured for selectively terminating an instance executing a messaging session, based on detecting a message from a gateway server that the incoming call is a call having a type that differs from the prescribed type intended for the messaging session. The asynchronous event manager terminates the instance by setting global variables accessible by the instance that specify that the call is rejected (i.e., the connection between the gateway and the instance executing the messaging session is terminated) due to the incoming call being of a different type than intended for that messaging session, for example the call being a fax call instead of a voice call. The instance executing the messaging session checks the global variables prior to committing to execution of critical operations that affect stored subscriber messaging data, for example before sending a recorded message for storage, or changing a state of a stored message from a new message to a stored message or deleted message. If the global variables indicate that the messaging session should be terminated, the instance rolls back the necessary data structures by deleting any necessary data (e.g., log entries, application state information, recorded messages, etc.), and terminates the instance.
-
Citations
44 Claims
-
1. A method in an application server, the method comprising:
-
receiving, by the application server, an initiation request from a gateway configured for receiving incoming Voice over IP calls, including receiving the initiation request via a Voice over IP call control channel between the application server and the gateway; initiating by the application server an instance of an application process configured for executing a prescribed sequence of messaging operations for a first type of incoming message, in response to reception of the initiation request, the initiating including writing first data, having been received from the gateway via a Voice over IP media channel, into a first data structure that identifies information based on execution of the instance; selectively setting by the application server a prescribed variable based on receiving a reject message from the gateway via the Voice over IP call control channel; and selectively terminating, by the application server, the instance prior to completing the sequence of messaging operations based on detecting, at a prescribed location in the prescribed sequence, the prescribed variable set during execution of the instance and that specifies the prescribed sequence of message operations are not to be performed based on the prescribed variable having been set to specify that the incoming message corresponds to a second message type incompatible with the first type, the selectively terminating including terminating execution of the operations subsequent to the prescribed location and removing the first data from the first data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method in a communications system having a gateway configured for receiving incoming calls and an application server, the method comprising:
-
sending a request by the gateway to the application server for initiating a messaging session according to a first message type in response to receiving an incoming Voice over IP call; initiating by the application server an instance of an application process configured for executing a prescribed sequence of messaging operations for generation of the messaging session, including writing first data into a first data structure that identifies information based on execution of the instance; detecting by the gateway, following sending the request, that the incoming Voice over IP call corresponds to a second message type incompatible with the first message type and in response sending a reject message to the application server; and terminating the instance, prior to completion of executing the prescribed sequence of messaging operations by the application server in response to the reject message, including removing the first data from the first data structure. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A communications system comprising:
-
a gateway configured for receiving an incoming Voice over IP call and in response sending first and second requests for concurrent initiation of messaging sessions according to respective first and second message types, the gateway configured for generating a reject message in response to detecting that the incoming Voice over IP call corresponds to the second message type incompatible with the first message type; and an application server configured for initiating, in response to the first request, an instance of an application process configured for executing a prescribed sequence of messaging operations for generation of the messaging session according to the first message type, the application server configured for writing first data into a first data structure that identifies information based on execution of the instance, the application server having an asynchronous event manager configured for causing termination of the instance, including removal of the first data from the data structure, prior to completion of executing the prescribed sequence of messaging operations, in response to reception of the reject message. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A computer readable medium having stored thereon sequences of instructions for an application server to execute a messaging session, the sequences of instructions including instructions for performing the steps of:
-
receiving, by the application server, an initiation request from a gateway configured for receiving incoming Voice over IP calls, including receiving the initiation request via a Voice over IP call control channel between the application server and the gateway; initiating by the application server an instance of an application process configured for executing a prescribed sequence of messaging operations for a first type of incoming message, in response to reception of the initiation request, the initiating step including writing first data, having been received from the gateway via a Voice over IP media channel, into a first data structure that identifies information based on execution of the instance; selectively setting by the application server a prescribed variable based on receiving a reject message from the gateway via the Voice over IP call control channel; and selectively terminating, by the application server, the instance prior to completing the sequence of messaging operations based on detecting, at a prescribed location in the prescribed sequence, the prescribed variable set during execution of the instance and that specifies the prescribed sequence of message operations are not to be performed based on the prescribed variable having been set to specify that the incoming message corresponds to a second message type incompatible with the first type, the selectively terminating step including terminating execution of the operations subsequent to the prescribed location and removing the first data from the first data structure. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An application server for executing a messaging application, the application server including:
-
means for receiving an initiation request and first data from a gateway configured for receiving incoming Voice over IP calls, the means for receiving configured for receiving the initiation request via a Voice over IP call control channel between the application server and the gateway, and the first data via a Voice over IP media channel between the application server and the gateway; means for initiating an instance of an application process configured for executing a prescribed sequence of messaging operations for a first type of incoming message, in response to reception of the initiation request by the means for receiving of the application server, the means for initiating configured for writing the first data into a first data structure that identifies information based on execution of the instance; and means for selectively setting a prescribed variable based on the application server receiving a reject message from the gateway via the Voice over IP call control channel; the means for initiating selectively terminating the instance prior to completing the sequence of messaging operations based on detecting, at a prescribed location in the prescribed sequence, the prescribed variable set during execution of the instance and that specifies the prescribed sequence of message operations are not to be performed based on the prescribed variable having been set to specify that the incoming message corresponds to a second message type incompatible with the first type, the means for initiating terminating execution of the operations subsequent to the prescribed location and removing the first data from the first data structure, based on the prescribed variable set. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
40. An application server comprising:
-
an interface configured for receiving messages from a gateway configured for receiving incoming Voice over IP calls, the gateway configured for outputting a first request for initiating a messaging session according to a first message type in response to receiving an incoming Voice over IP call, the gateway also configured for outputting a reject message in response to detecting that the incoming Voice over IP call corresponds to a second message type incompatible with the first message type; and an application runtime environment configured for initiating an instance of an application process, configured for executing a prescribed sequence of messaging operations for the first type of incoming message, in response to reception of the first request, the instance writing first data into a first data structure that identifies information based on execution of the instance, the application runtime environment including an asynchronous event manager configured for selectively causing termination of the instance prior to completing the sequence of messaging operations based on detecting the reject message, by a prescribed location in the prescribed sequence, specifies that the incoming message corresponds to the second message type, the asynchronous event manager causing termination of execution of the operations subsequent to the prescribed location and removal of the first data from the first data structure. - View Dependent Claims (41, 42, 43)
-
-
44. A communications system comprising:
-
gateway means for receiving an incoming Voice over IP call and in response sending first and second requests for initiation of concurrent messaging sessions according to respective first and second message types, the gateway means configured for generating a reject message in response to detecting that the incoming Voice over IP call corresponds to the second message type incompatible with the first message type; and application server means for initiating, in response to the first request, an instance of an application process configured for executing a prescribed sequence of messaging operations for generation of the messaging session according to the first message type, the application server means configured for writing first data into a first data structure that identifies information based on execution of the instance, the application server means having an asynchronous event monitoring means configured for causing termination of the instance, including removal of the first data from the data structure, prior to completion of executing the prescribed sequence of messaging operations, in response to reception of the reject message.
-
Specification