Patent ID: 8301782

Claim:
An apparatus comprising: a dialog store; and a plurality of gateway devices located remotely to the dialog store and connected to the dialog store via a first network, each device gateway comprising: a respective processor; a respective storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising: export logic for causing dialog information associated with a first received message to be communicated to the dialog store, such that the first received message initiates a dialog, the dialog comprising a stateful communication session between a first end point in the first network and a second end point in a second network, and such that the dialog information comprises state information of the dialog; retrieval logic for accessing the dialog information in response to a second received message subsequent to the first received message and associated with the first received message and the dialog; validation logic for validating and routing the second received message based on the dialog information; a timer located remotely to the dialog store and the plurality of gateway devices connected to the plurality of gateway devices and the dialog store via the first network for: tracking dialog information for a plurality of dialogs, each dialog of the plurality of dialogs being associated with a respective gateway device of the plurality of gateway devices, the dialog information comprising call-leg expirations for the respective dialog; and for each dialog of the plurality of dialogs, causing the termination or renewal of the respective dialog by signaling the dialog store and the respective gateway device of the plurality of gateway devices with which the respective dialog is associated; and a session manager device connected to the plurality of gateway devices via the first network, session manager device comprising: a processor; a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising: routing logic for routing the first received message to a first gateway device of the plurality of gateway devices and routing the second received message to a second gateway device of the plurality of gateway devices, the second gateway device being a different gateway device from the first gateway device, the second message being routed to the second gateway device based on a load of the first gateway device and a load of the second gateway device.