System and method for enhanced computer telephony integration and interaction
First Claim
1. An enhanced computer telephony integration system, comprising:
- a first telephone having a first telephone extension;
a second telephone having a second telephone extension;
a first enhanced telephony server connected to a computer network and servicing the first telephone;
a second enhanced telephony server connected to the computer network and servicing the second telephone;
a first enhanced telephony client in communication with the servers via the computer network, the first client being associated with the first telephone extension and for initiating outgoing calls from the first telephone extension;
a second enhanced telephony client in communication with the servers via the computer network, the second client being associated with the second telephone extension and for initiating outgoing calls from the second telephone extension; and
a private branch exchange in communication with the first server and the second server and the first and second telephones;
whereinwhen the first client starts,querying by the first client the first server and the second server to determine which server services the first telephone; and
when the first server indicates that the first server services the first telephone, registering by the first client the first client with the first server;
when the private branch exchange receives an incoming call for the first telephone at the first telephone extension,sending from the private branch exchange to the first telephone a first event indicating that a call is incoming for the first telephone; and
sending from the private branch exchange to the first server a second event indicating that a call is incoming for the first telephone having the first telephone extension; and
when the first server receives the second event,identifying by the first server the first client registered with the first server to be associated with the designated telephone extension; and
relaying by the first server an indication of the second event to the first client;
when the first client receives the indication of the second event,providing by the first client to a user information relating to the call that is incoming to the first telephone;
receiving by the first client from the user an indication to control the first telephone by performing an action; and
forwarding by the first client to the first server an indication of the action to be performed to control the first telephone;
when the first server receives the indication of the action,translating by the first server the action into one or more commands of the private branch exchange; and
sending by the first server the translated one or more commands to the private branch exchange to effect controlling of the first telephone as indicated by the user at the first clientwhen the first client receives from the user a request to place an outgoing call via the first telephone having the first telephone extension,sending by the first client to the first server an event initiating an outgoing call from the first telephone having the first telephone extension; and
when the first server receives the event, relaying by the first server the event to the private branch exchange so that the private branch exchange can place the outgoing call from the first telephone having the first telephone extension.
2 Assignments
0 Petitions
Accused Products
Abstract
An enhanced computer telephony integration system that facilitates the interaction and integration of a private branch exchange (PBX) with a client computer on a computer network. An enhanced telephony (ET) server connects to the PBX and to all running instances of an ET client on a user'"'"'s computers. The ET server acts as a proxy between the ET clients and the PBX. The ET clients register with the ET server for a certain telephone extension. The ET server then can forward telephone action requests (such as placing a telephone call) from the registered ET clients to the PBX servicing the telephone extension. Moreover, the ET server can relay telephone events (such as an incoming call) from the PBX to all registered clients. The ET server facilitates seamless integration of telephone and personal computer features to provide a rich user-controlled computer-telephone integration for a user.
-
Citations
21 Claims
-
1. An enhanced computer telephony integration system, comprising:
-
a first telephone having a first telephone extension; a second telephone having a second telephone extension; a first enhanced telephony server connected to a computer network and servicing the first telephone; a second enhanced telephony server connected to the computer network and servicing the second telephone; a first enhanced telephony client in communication with the servers via the computer network, the first client being associated with the first telephone extension and for initiating outgoing calls from the first telephone extension; a second enhanced telephony client in communication with the servers via the computer network, the second client being associated with the second telephone extension and for initiating outgoing calls from the second telephone extension; and a private branch exchange in communication with the first server and the second server and the first and second telephones; wherein when the first client starts, querying by the first client the first server and the second server to determine which server services the first telephone; and when the first server indicates that the first server services the first telephone, registering by the first client the first client with the first server; when the private branch exchange receives an incoming call for the first telephone at the first telephone extension, sending from the private branch exchange to the first telephone a first event indicating that a call is incoming for the first telephone; and sending from the private branch exchange to the first server a second event indicating that a call is incoming for the first telephone having the first telephone extension; and when the first server receives the second event, identifying by the first server the first client registered with the first server to be associated with the designated telephone extension; and relaying by the first server an indication of the second event to the first client; when the first client receives the indication of the second event, providing by the first client to a user information relating to the call that is incoming to the first telephone; receiving by the first client from the user an indication to control the first telephone by performing an action; and forwarding by the first client to the first server an indication of the action to be performed to control the first telephone; when the first server receives the indication of the action, translating by the first server the action into one or more commands of the private branch exchange; and sending by the first server the translated one or more commands to the private branch exchange to effect controlling of the first telephone as indicated by the user at the first client when the first client receives from the user a request to place an outgoing call via the first telephone having the first telephone extension, sending by the first client to the first server an event initiating an outgoing call from the first telephone having the first telephone extension; and when the first server receives the event, relaying by the first server the event to the private branch exchange so that the private branch exchange can place the outgoing call from the first telephone having the first telephone extension. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method performed by a servicing server for controlling a telephone connected to a private branch exchange based on actions submitted by a user to a client, the client and the private branch exchange connected to a plurality of servers including the servicing server, wherein the client, the servers, and the private branch exchange are computing devices, the method comprising:
-
providing to the servicing server an indication that the servicing server services the telephone; receiving by the servicing server a query sent from the client to each server for the client to determine which server services the telephone; in response to receiving the query, sending by the servicing server to the client an indication that the servicing server services the telephone as indicated by the provided indication; receiving by the servicing server a request sent from the client to register the client with the servicing server; and in response to receiving the request, registering the client to be associated with the telephone; receiving by the servicing server a notification from the private branch exchange of an incoming call to the telephone, the notification being sent by the private branch exchange to both the telephone and the servicing server; determining by the servicing server the client that is associated with the telephone as indicated by the registration; after determining the client that is associated with the telephone, sending from the servicing server to the client a notification that a call is incoming to the telephone; receiving by the servicing server an indication of an action sent from the client, wherein the client received an indication of the action from a user in response to providing an incoming call notification to the user; and upon the servicing server receiving the indication of the action sent from the client, translating by the servicing server the action into one or more commands of the private branch exchange; and sending by the servicing server to the private branch exchange the translated one or more commands to effect controlling of the telephone as indicated by the user at the client. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A servicing server for controlling a telephone connected to a private branch exchange based on actions submitted by a user to a client, the client and the private branch exchange connected to a plurality of servers including the servicing server, wherein the client, the servers, and the private branch exchange are computing devices, comprising:
-
an indication that the servicing server services the telephone; a component that receives a query sent from the client to each server, the query sent for the client to determine which server services the telephone; in response to receiving the query, sends to the client an indication that the servicing server services the telephone as indicated by the indication; receives a request sent from the client to register the client with the servicing server; and in response to receiving the request, registers the client to be associated with the telephone; a component that receives a notification from the private branch exchange of an incoming call to the telephone, the notification being sent by the private branch exchange to both the telephone and the servicing server; a component that determines the client that is associated with the telephone as indicated by the registration; a component that sends from the servicing server to the client a notification that a call is incoming to the telephone after determining that the client is associated with the telephone; a component that receives an indication of an action sent from the client, wherein the client received an indication of the action from the user in response to providing an incoming call notification to the user; and a component that, upon receiving the indication of the action sent from the client, translates the action into one or more commands of the private branch exchange; and sends to the private branch exchange the translated one or more commands to effect controlling of the telephone as indicated by the user at the client wherein the components are implemented as instructions stored in memory for execution by a processor of the servicing server. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification