Abstract:
A personal telephone all router adapted to execute on a personal computer (PC) connected to a local area network (LAN) wherein the LAN is also connected to a computerized telephony switching system has a user interface allowing an individual user to customize routing rules for incoming calls. The interface in a preferred embodiment is a window displayable on a computer screen of the PC, allowing the user to review and edit personal routing rules in a high-level language. Data, such as caller ID and the like, associated with incoming calls received at the computerized telephony switching system is broadcast on the LAN prior to routing the incoming calls, and the broadcast data is utilized by individual editions of the personal telephone call router to prepare and send routing instructions on the LAN to the computerized switching system to route the incoming calls.

Description:
FIELD OF THE INVENTION 
     The present invention is in the area of telephone call processing and switching, and pertains more particularly to intelligent call-routing systems, and equipment and methods for customizing and Personalizing Routing Rules and Protocol. 
     BACKGROUND OF THE INVENTION 
     Telephone call processing and switching systems are, at the time of the present patent application, relatively sophisticated, computerized systems, and development and introduction of new systems continues. Much information on the nature of such hardware and software is available in a number of publications accessible to the present inventor and to those with skill in the art in general.. For this reason, much minute detail of known systems is not reproduced here, as to do so would obscure the facts of the invention. 
     One document which provides considerable information on intelligent networks is “ITU-T Recommendation Q.1219, Intelligent Network User&#39;s Guide for Capability Set 1”, dated April, 1994. This document is incorporated herein by reference. 
     At the time of filing the present patent application there continues to be remarkable growth in telephone routing systems, with routing done both at or near point-of origin of incoming calls, and at call destinations. For example, systems are known to the present inventor that perform initial call processing before routing an incoming call to a destination switch, and further routing is done at the call destination in computerized telephony equipment, often termed customer premises equipment (CPE). The present invention pertains most particularly to routing at customer premises. 
     There are, at the time of the present patent application a considerable range of CPE systems available for use from various manufacturers, and, as state-of-the-art routing systems are typically computerized, there is a broad variety of software available for such systems as well. It is the software in general wherein routing rules are set, and the routing rules determine the decision-making paths a system follows in routing calls. 
     In current art, although there are widely varying systems in the art relative to routing rules, all such systems exhibit a common drawback. Typically such systems, once set up (programmed) to follow certain routing rules and practices, cannot easily vary, and individual users or groups of users, cannot change the rules arbitrarily. To tinker with the routing rules in CPE typically requires a highly-trained maintenance technician (system administrator). 
     What is clearly needed is method and apparatus which allows an individual user of a routing system, or a group of users, to alter and customize the routing rules of the system for particular purposes, which may change from time to time, depending on the users. 
     SUMMARY OF THE INVENTION 
     In a preferred embodiment of the present invention a method for routing telephone calls at customer premises is provided, comprising steps of (a) receiving a call at a telephony switch coupled to a customer local area network (LAN); (b) broadcasting identifying data associated with the call on the LAN; (c) intercepting the broadcast data at a personal router application executing on a computer connected to the LAN; (d) determining routing for the instant call in the personal router application; and (e) sending personal routing instructions to the telephony switch as a result of the personal routing determined in step (d). 
     The method in a preferred embodiment may execute the personal router on a personal computer (PC) connected to the LAN. The personal router, also in a preferred embodiment, includes a user interface providing capability for a user to edit routing rules, and including a step for editing routing rules. The user interface comprises an-on screen window providing editable script in a high-level language. 
     In another aspect, in a customer premises telephone call-routing system, a method for individual customization of routing rules for an incoming telephone call is provided, comprising steps of (a) calling a user interface on a computer connected to a customer LAN, the LAN also coupled to a computerized telephony switch system receiving the incoming telephone call, wherein the telephony switch system is adapted to broadcast data associated with incoming call on the LAN prior to routing the incoming call; (b) editing routing rules at the user interface; (c) associating the edited routing rules with the broadcast data; and (d) instructing the computerized telephony switch system to route the incoming call according a specific routing determined by the edited routing rules. In this method the computerized telephony switch system may comprise a telephony switch connected to a telephony server in turn connected to the LAN. 
     In another aspect, a personal telephone call router for determining routing of incoming telephone calls in a customer premises telephone call switching system is provided, comprising a user interface displayable on a display screen of a computer workstation and adapted to display personal routing rules and provide editing functions for a user to edit the personal routing rules with one or more input devices of the computer workstation; an interceptor adapted for intercepting telephone call data broadcast on a LAN to which the computer workstation is connected; and an instruction transmitter adapted for transmitting routing instructions on the LAN to which the computer workstation is connected, the routing instructions determined by interaction of the broadcast telephone call data with the instant routing rules at the computer workstation. The computer workstation may be a personal computer (PC) having a LAN interface, and the user interface is in preferred embodiments adapted to operate with a high-level programming language. 
     In yet another aspect of the instant invention a customer premises telephone call routing system is provided comprising a computerized telephony switch system having one or more incoming telephone lines; a customer local area network (LAN) coupled to the computerized telephony switch system; a computer workstation including a display connected to the LAN; and a personal telephone call router executable on the computer workstation. The personal telephone call router is adapted to receive telephone call data broadcast on the LAN associated with a selected telephone call, and to return routing instructions current in the personal telephone call router to the LAN for the selected telephone call. 
     In this alternative embodiment router comprises a user interface displayable on the display and adapted to display personal routing rules and provide editing functions for a user to edit the personal routing rules with one or more input devices of the computer workstation, which may be a PC having a LAN interface. In this as in other embodiments the user interface is adapted to operate with a high-level programming language. The computerized telephony switch system comprises a telephony switch connected to a telephony server in turn connected to the LAN. 
     In these and other embodiments of the instant invention the serious impediments of conventional systems, wherein routing rules are codified in a central system in perhaps esoteric low-level language, requiring a highly trained system administrator to make any changes, and wherein the changes that may be made in any case are seriously limited, are overcome. Now, with embodiments of the invention, individual users may provided individual customized routing rules for incoming calls, significantly increasing workplace efficiency and capability. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING FIGURES 
     FIG. 1 is a system diagram of a call-routing system in an embodiment of the present invention. 
     FIG. 2 is a sample of a broadcast announcement record in an embodiment of the present invention.. 
     FIG. 3 is a sample user interface screen in an embodiment of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a system diagram of a call-routing system according to a preferred embodiment of the present invention. Dotted lines  123  enclose elements of the system native to a customer&#39;s premises (CPE). This equipment in a preferred embodiment comprises a computerized telephony switch  121  connected by a data link  212  to a telephony server (T-S)  223 . Link  212  is preferably a CTI link, although other data links might be used. Switch  121  distributes incoming calls on line  105  to connected telephones, such as telephone  131  at a workstation  361  and telephone  132  at a second workstation  362 . 
     Each workstation has a PC with display, such as PC/VDU  331  at workstation  361  and PC/VDU  332  at workstation  362 . There will be in most architectures many more than the two telephones with workstations shown, but two are considered adequate by the inventors to illustrate the present invention. 
     PC/VDUs  331  and  332  are connected on a local area network (LAN)  301  which also connects to a data file server  303  and to T-S  223 . The arrangement of PC/VDU plus telephone at each workstation is a common arrangement for most company facilities, and has become more common as more and more people become computer literate. Moreover, many companies are actively training employees in use of computers. 
     In the system shown, calls may originate at any remote call-in point, which is represented in FIG. 1 by region  100 , referred to herein as the network cloud. Network cloud  100  may be a small regional portion of the world-wide network of connected telephony equipment, or may represent the entire world-wide network. An incoming call is represented by vector  107  to service control point (SCP)  101  (typically a telephony switch), which is connected to an adjunct processor  103  and coupled thereby to an intelligent peripheral (I-P)  102 , a distribution processor  104  and a statistical processor  218 . In this system calls are forwarded to switchl 2 l over telephone line  105 , and associated data is forwarded in parallel to T-S  223  over a digital network link  210 . Such systems, wherein data associated with a call is forwarded on a separate link from the call itself, are, to the inventor&#39;s knowledge at the time of the present patent application, not known in the art, but are known to the inventor. This feature, however, is not required in practice of the present invention, but preferred in some embodiments. 
     In typical cases a call originating in the network cloud and routed to switch  121 , destined for one of telephones  131  or  132  or to another destination at the customer&#39;s premises, carries a telephone number, which may include a direct inward dialing (DID) feature, whereby a limited number of lines may be used to carry calls to a larger number of final destinations, accomplished principally by software techniques. The phone call may also have caller ID attached (originating caller&#39;s phone number), and in some cases a data packet associated with the call may be forwarded over link  210  to T-S  223 . Finally, T-S  223 , which is connected to and interacts continuously with switch  121  in this embodiment, is capable of transacting with data file server  303 , given caller ID and/or elicited information from the caller, to retrieve further information about the caller from data file server  303 . 
     It will be apparent to those with skill in the art that incoming calls are not limited to two telephones as shown in FIG.  1 . There may be many more than two telephones connected to switch  121 , other telephony equipment, such as facsimile equipment and data lines may also be connected and involved in routing decisions and transactions according to embodiments of the present invention. Moreover, existing techniques, such as virtual expansion for routing calls with a certain number to multiple destinations on some pre-programmed protocol may also be involved. The simple diagram of a switch with two telephones connected is meant to be illustrative for description of the present invention. 
     It will be apparent to those with skill in the art as well, that a separate telephony server shown as T-S  223  in FIG. 1, is not strictly required in embodiments of the invention, depending on the level of machine intelligence and sophistication of switch  121 . Switches for customer premises continue to be developed with new levels of intelligent capability, and some may be capable of interacting with other elements of the present invention without a separate T-S between the switch and a LAN such as LAN  301 . T-S  223  will be required to practice the invention with many existing telephony switches which may be used as element  121 . 
     In a preferred embodiment of the present invention routing intelligence is no longer confined to a central location such as telephony switch  121 , but distributed in a manner that individual users of the system may customize routing at their own workstations. This is accomplished in large part by control code executable at a user&#39;s computer workstation. It is not required that the actual code be always at the user&#39;s workstation, as it may be shared code resident at, for example a file server on LAN  301 , such as file server  303 . The unique code may be accessed from such a server and executed at any one of several workstations such as workstations  361  and  362  by PC/VDU  331  and PC/VDU  332  respectively. 
     In a preferred embodiment of the invention, a company-level routing application is executed at T-S  223 . Referring now to FIG. 2, with each incoming call, an overall record of the call, prior to routing, is broadcast on LAN  301 . This overall record can take a number of different forms, of which the example in FIG. 2 is one. In this example the overall record consists of four data portions. One data portion consists of elements  201  and  202 . Data element  201  identifies this portion as the caller ID associated with the incoming call, and element  202  is the caller ID number. A second data portion consists of data elements  203  and  204 . This portion is a data set which may be transmitted via link  210  to T-S  223  in parallel with the incoming call, or may be retrieved from server  303 , using other call data as a pointer. Element  203  identifies the data as a data set, and element  204  is the pointer. Similarly elements  205  and  206  constitute DID number, and elements  207  and  208  fix number of rings. 
     At the computer portion of an individual workstation, such as PC/VDU  331  at workstation  361 , a user has access to control code which is interactive with code executed at T-S  223 , to control and customize routing for incoming calls, depending on certain data elements in the broadcast announcement record (FIG.  2 ). As a part of this unique capability, the individual user may load to his/her VDU a unique user interface, an example of which is shown in FIG.  3 . 
     FIG. 3 illustrates a window presentable to a user at an individual workstation, compatible, for example, with windows operating systems. This is an input and display interface for a personal router, a variation of which may be assigned to each of selected employees to provide these individuals with an ability in conjunction with the premises telephone equipment to customize and periodically adjust the routing of certain incoming calls. In this example, the interface is for company XYZ and limited to employee John Doe. 
     Through the individual interface, John Doe in this instance, may program in a relatively high-level language, routing preferences for certain incoming calls, according to data broadcast for such calls on LAN  301 . John Doe has programmed his interface, for example, to pick up all calls having Caller ID matched with a list “list1” after n 1  rings. List 1  is resident in John Doe&#39;s database associated with the Personal Router, and John Doe may call up this list and amend, delete, and expand it as he wishes. The number of rings n 1  may be any convenient number to accomplish John&#39;s purpose. 
     John Doe may program negative lists as well. Although not recommended, a negative list could be used to hang up on all calls that have an ID associated with a company or individual that has been making harassing calls to an employee, or to shunt such calls to a special tracking program or the like. 
     John Doe in this instance has also programmed his personal router to send all calls bearing his assigned DID number to the telephone at his desk after 0 rings, and to an answering machine after n 2  rings. Associations with data sets may also be made, comparing such data sets to stored profiles and the like. At the bottom of the display in this example a status summary of calls may be provided. A user may choose to have this window resident on his computer screen as a pix-on-pix, or to hide it and call it as needed. Also, it will be apparent to those with skill in the art that it is not strictly required that each selected person having an associated routing interface assigned have a computer at his/her elbow. For those persons not, for one reason or another, inclined to program their own routing, the interface may be called up and done by another, with appropriate access security applied. A secretary or system administrator may perform such functions, using any workstation connected to company LAN  301 . 
     In a preferred embodiment of the invention, calls received at switch  121  (FIG. 1) are broadcast on LAN  301 . This can be all calls, or just selected calls. For a call broadcast on the LAN, the system waits for a pre-programmed time for return from an individual PC workstation of routing instructions. If the workstation assigned to a user for whom the call is broadly meant is active, the Personal Router at that station interacts with the broadcast and returns instructions to, in this case, T-S  223 , which then instructs switch  121  in routing the call. 
     In embodiments of the invention, not necessarily all calls are routed by personal routers executed on PCs on LAN  301 . There may also be over-riding routing rules programmed into switch  121 , such that certain calls or types of calls are always handled in a certain way. Rules in switch  121  may also determine the fate of calls that are not eventually routed by personal routers. For example, all calls alive after seven rings may be switched to a recorded announcement, and the like. In this manner a very broad freedom of routing may be accomplished, with security and flexibility to adapt for changes in the organization. 
     It will be apparent to those with skill in the art that the division of code and functionality between server  303 , T-S  223 , and individual workstations on the LAN is somewhat arbitrary, with the requirement that individuals at the workstations have interface access to customize and update personal routing rules. 
     It will be apparent to those with skill in the art that there are many alterations that may be made in the embodiments of the invention herein described without departing from the spirit and scope of the invention. Some of these have been described above, such as the use of a telephony server like T-S  223 . In some cases such a server is not needed to practice the invention. 
     Many of the functional units of the system in embodiments of the invention may be implemented as code routines in more-or-less conventional computerized telephony equipment, computer servers, and individual workstations. It is well-known that programmers are highly individualistic, and may implement similar functionality by considerably different routines. Also, the invention may be applied to widely varying hardware systems. Further, hardware used to practice the invention may vary in many ways. There are similarly many other alterations in the embodiments described herein which will fall within the spirit and scope of the present invention in it&#39;s several aspects described. The invention is limited only by the breadth of the claims below.