Call-processing event-notification server
AssigneeAvaya Inc.
InventorJoel Ezell
Life of this patent
Estimating the term…
Abstract
In a distributed communications network without a central call-processing controller, such as a SIP-based network, an application server collects and reports call-processing events to a client application by dynamically subscribing to events on devices specified by the client application and other devices that enter into communication sessions with those specified devices, and dynamically unsubscribes to events on devices with which the communications sessions have ended.
Claims12
A method comprising:
- subscribing to notices of events of one or more devices;
- wherein subscribing further comprises:
- in response to a request from a client application, sending a SIP “SUBSCRIBE” message to the one or more devices;
- wherein the request from the client application comprises a Computer-Supported Telecommunications Application (CSTA) message;
- receiving a notice of an event of a device whose events are subscribed to;
- wherein receiving further comprises:
- receiving a SIP “NOTIFY” message from the device whose events are subscribed to;
- notifying a client application of the event;
- wherein notifying further comprises:
- sending a CSTA message to the client application;
- determining whether the notice of the event identifies a second device other than the device whose events are subscribed to;
- upon determining that the notice of the event identifies the second device, determining whether notices of events of the second device are subscribed to;
- in response to determining that the notices of events of the second device are not subscribed to, dynamically subscribing to notices of events of the second device;
- upon detecting an initiation of a transfer to a third device, from the device whose events are subscribed to;
- determining whether notices of events of the third device are subscribed to;
- in response to determining that the notices of events of the third device are not subscribed to, dynamically subscribing to notices of events of the third device;
- determining further whether the notice of the event of the device whose events are subscribed to, indicates an end of a communication session between the device whose events are subscribed to and the identified second device;
- and
- in response to determining that the notice of the event of a device whose events are subscribed to, indicates the end of the communication session, unsubscribing to the notices of the events of the device whose events are subscribed to and the identified second device.
A non-transitory computer-readable storage medium storing instructions which, when executed by a computer, causes the computer to perform the steps comprising:
- subscribing to notices of events of one or more devices;
- wherein subscribing further comprises:
- in response to a request from a client application, sending a SIP “SUBSCRIBE” message to the one or more devices;
- wherein the request from the client application comprises a Computer-Supported Telecommunications Application (CSTA) message;
- receiving a notice of an event of a device whose events are subscribed to;
- wherein receiving further comprises:
- receiving a SIP “NOTIFY” message from the device whose events are subscribed to;
- notifying a client application of the event;
- wherein notifying further comprises:
- sending a CSTA message to the client application;
- determining whether the notice of the event identifies a second device other than the device whose events are subscribed to;
- upon determining that the notice of the event identifies the second device, determining whether notices of events of the second device are subscribed to;
- in response to determining that the notices of events of the second device are not subscribed to, dynamically subscribing to notices of events of the second device;
- upon detecting an initiation of a transfer to a third device, from the device whose events are subscribed to;
- determining whether notices of events of the third device are subscribed to;
- in response to determining that the notices of events of the third device are not subscribed to, dynamically subscribing to notices of events of the third device;
- determining further whether the notice of the event of the device whose events are subscribed to, indicates an end of a communication session between the device whose events are subscribed to and the identified second device;
- and
- in response to determining that the notice of the event of a device whose events are subscribed to, indicates the end of the communication session, unsubscribing to the notices of the events of the device whose events are subscribed to and the identified second device.
An application server for providing notices of events of a plurality of devices, comprising:
- the application server comprising a hardware processor adapted for
- subscribing to the notices of the events of one or more of a plurality of devices;
- wherein subscribing further comprises:
- in response to a request from a client application, sending a SIP “SUBSCRIBE” message to the one or more devices;
- wherein the request from the client application comprises a Computer-Supported Telecommunications Application (CSTA) message;
- receiving a notice of an event of a device whose events are subscribed to;
- wherein receiving further comprises:
- receiving a SIP “NOTIFY” message from the device whose events are subscribed to;
- notifying a client application of an event in response to receiving a notice of the event of the device whose events are subscribed to;
- wherein notifying further comprises:
- sending a CSTA message to the client application;
- determining whether the notice of the event identifies a second device other than the device whose events are subscribed to;
- upon determining that the notice of the event identifies the second device, determining whether notices of events of the second device are subscribed to;
- in response to determining that the notices of events of the second device are not subscribed to, dynamically subscribing to notices of events of the second device;
- upon detecting an initiation of a transfer to a third device, from the device whose events are subscribed to;
- determining whether notices of events of the third device are subscribed to;
- in response to determining that the notices of events of the third device are not subscribed to, dynamically subscribing to notices of events of the third device;
- determining further whether the notice of the event of the device whose events are subscribed to, indicates an end of a communication session between the device whose events are subscribed to and the identified second device;
- and
- in response to determining that the notice of the event of a device whose events are subscribed to, indicates the end of the communication session, unsubscribing to the notices of the events of the device whose events are subscribed to and the identified second device.
Dependencies are inferred from the claim text.