VIDEO TELECOMMUNICATION ROUTING SYSTEMS AND METHODS
Background ofthe Invention
Telephone is one ofthe most widely used communication equipments in the world. At first, it was merely a convenient tool to allow people to communicate while they are physically separated. Recently, many companies use telephones to market products and services, provide technical supports to consumer products, allow customers to access their own financial data, etc. Thus, telephone is becoming a major business and marketing tool.
In order to more effectively use telephone for business and marketing purposes, call centers have been developed. In a call center, a large number of agents handle telephone communication with customers. The matching of calls between customers and agents is typically performed by software. A simple example is used here to describe a few ofthe many advantages of using call centers. When a call is made to a call center, the telephone number ofthe calling line is typically made available to the call center by a telephone carrier. Based on this telephone number, the software in the call center can access a database server to obtain information about the customer who has been assigned that phone number. The software can
now route the call to an agent who can best handle the call based on predefined criteria (e.g., language skill, knowledge of products the customer bought, etc.). The software immediately transfers relevant information to a computer screen used by the agent. Thus, the agent can gain valuable information about the customer prior to receiving the call. As a result, the agent can more effectively handle the telephone transaction.
It can be seen from the above example that the enabling technology requires a combination of telephone switching and computer information processing technologies. The term commonly used for this combined technology is computer- telephony-integration (CTT).
Recent advances in computer technology and compression methods allow video signals to be digitized and compressed in real time using inexpensive chips. Because compressed digital video data contains only a relatively small number of bits per frame, the data can be sent from one place to another using a relatively low bandwidth communication channel. For example, it is found that acceptable video telecommunication can be achieved if a communication channel has a bandwidth of about 128 kilobits per second (Kbps) This bandwidth can be provided by a standard integrated services digital networks (ISDN) line. It is anticipated that the costs of
ISDN lines (or telecommunication channels having similar bandwidth) will decrease drastically. As a result, it is predicted that video telecommunication systems will be widely used in the near future.
Current video communication systems do not allow for a call to be passed off or transferred to one of a plurality of video systems therein. Attempting such operation will destroy the call and disconnect the caller from the call center. As a
result of this limitation, conventional video telecommunication systems cannot utilize the resources and advantages of a call center.
In view ofthe proven commercial values ofthe CTI technology and call center operation, it is desirable to integrate video telecommunication with existing
CTI technology and call center operation.
Summary of the Invention
The present invention involves a system for routing video telecommunication calls received by a central exchange to one of a plurality of video stations connected to the exchange. In order to deliver acceptable video performance, each video communication channel occupies at least two voice-quality telephone channels. One aspect ofthe present invention is a method and device for connecting these two telephone channels to the same video station served by the central exchange.
The routing system ofthe present invention comprises a telephone switch for connecting a first one ofthe at least two incoming telephone channels to a video station. The system then identifies a second incoming telephone channel as one of the two telephone channels for carrying the video communication. The switch then connects the second telephone channel to the same video station.
In one embodiment ofthe present invention, an Inwats (inward wide area telecommunication service, or toll-free 800) telephone number is assigned for video telecommunication. The telephone numbers ofthe calling video device is also preassigned. The calling video device can initiate a video telecommunication call by dialing the Inwats telephone number two times. The public switched telephone
network delivers telephone identification information ofthe dialing device (i.e., the automatic number identification, or ANI, ofthe two low bandwidth telephone channels) and the Inwats number to the routing system.
Upon receiving the call, the routing system recognizes the call as a video call because the toll-free 800 number is assigned for video telecommunication. The routing system also receives the ANI ofthe calling video device. The routing system then searches a database for a suitable video station to connect the call. Because the telephone numbers associated with the calling video device are preassigned, the routing system is able to anticipate the second ANI ofthe channel which carries the video telecommunication. Upon receiving a call having the second ANI, the routing system then connects this call to the same video station.
These and other features ofthe present invention will become apparent from the following description when read in conjunction with the drawings and the appended claims.
Brief Description ofthe Drawings
Fig. 1 is a block diagram of a video routing system ofthe present invention.
Fig. 2 is a flow chart of a trunk route script which allows a host ofthe present invention to control the operation of a private branch exchange.
Fig. 3 is a flow chart showing the operation ofthe video routing system ofthe present invention.
Fig. 4 is a drawing showing the logical connection between components in a call station ofthe present invention.
Detailed Description of the Invention
The present invention comprises a novel video telecommunication routing system and related methods. The following description is presented to enable any person skilled in the art to make and use the invention. Description of specific applications is provided only as examples. Various modifications to the preferred embodiments will be readily apparent to those skilled in the an, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope ofthe invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Fig. 1 is a block diagram of a video routing system 100 ofthe present invention. System 100 comprises a video kiosk 102 which originates a video call and a call center 110 which accepts and assigns an appropriate video agent to process the call. Video Kiosk 102 and call center 110 are connected to a public-switched telephone network (PSTN) 104 via telephone lines 106 and 107, respectively. As will be explained below, line 106 is preferably a basic rate interface and line 107 is preferably a primary rate interface. Consequently, video calls between video kiosk 102 and call center 110 are carried by PSTN 104.
Call center 110 comprises a video routing device 111 which accepts calls (including video calls) when predetermined phone numbers are dialed, and then
routes individual call to one of a plurality of stations in accordance with predefined criteria. These stations include video stations 115-117. In an embodiment ofthe present invention, the criteria could vary in real time as the characteristics ofthe calls and video stations change.
It is possible for call center 110 to process video calls from other video kiosks, such as kiosk 103. Call center 110 may also process conventional voice calls.
In one embodiment ofthe present invention, video stations 115-117 can be connected to a communication network 121. This network could be a local area network commonly used in many offices. Other devices, such as a database server 122, can also be connected to network 121. Information of video stations, call center personnel and customers can be stored in database server 120. This information is accessible by video stations 115-117. It should be appreciated that database server 120 does not have to be a sophisticated database management system. It could be as simple as a table stored in a small data processing device. Video routing device 111 may optionally be connected to database server 120 so as to access the information. This information can also be stored inside video routing device 111.
An example ofthe types of video telecommunication that can be advantageously handled by routing system 100 is intelligent routing of a video conference between a customer located at video kiosk 102 and an appropriate agent sitting by one ofthe video stations in call center 110.
Video routing device 111 comprises a switching device 112 for accepting calls from PSTN 104. Switching device 112 could be a automatic call distributor (ACD)/private branch exchange (PBX) or a PSTN switch. It should be appreciated
that switching device 112 (hereinafter "ACD/PBX 112") can be a customer premise equipment or may be provided by a telephone communication carrier. ACD/PBX 112 contains a high bandwidth port 144 (for connecting to PSTN 104) and a plurality of low bandwidth ports (such as ports 146-150). Some of these ports can be connected to video stations 115-117. The other low bandwidth ports can be connected to voice-based devices. Each ofthe low bandwidth ports is assigned one or more directory numbers. In one embodiment ofthe present invention, two directory numbers (corresponding to two telephone channels) are assigned to a video station.
ACD/PBX 112 is also connected to a CTI/PBX server 113 through a computer-telephony-integration (CTI) link 123. Video routing device 111 comprises two other servers: a routing server/video ACD 114 for routing video calls and a stat- server 124 for storing historic information of call center 110. CTI/PBX server 113 functions as an interface between these two servers and ACD/PBX 112. These three servers are connected to communication network 121. In the present embodiment, the function of these servers are provided by software modules. As explained below, these three servers can be used in combination with a conventional ACD PBX to achieve the video routing function ofthe present invention.
High bandwidth port 144 of ACD/PBX 112 is preferably connected to a high capacity telephone line, such as a primary rate interface (PRI) as defined in the CCITT ISDN 1.431 standard. This is one ofthe standards ofthe international ISDN protocol. Low bandwidth ports 146-145 could be a single voice channel or a basic rate interface (BRI) as defined in CCITT ISDN 1.430 standard. Basically, BRI offers two 56 kilo-bit-per-second (Kbps) user data channels (the "bearer" or B channels) and one 16 Kbps signaling channel (the D channel). This interface is also referred to
as 2B+D. The combined bandwidth is 128 Kbps. The PRI offers twenty three user data channels and one 64 Kbps signaling channel. This interface is also referred to as 23B+D
In order to deliver video information at an acceptable level of quality (e.g., 15 frame per second), current compression technology prefers a bandwidth of at least 112 to 128 Kbps. This amount of bandwidth cannot be provided by a single telephone channel but could be provided by an ISDN BRI. Thus, in Fig. 1, line 106 connecting video kiosk 102 to PSTN 104 is preferably a BRI line.
As discussed above, a BRI line essentially comprises two telephone channels. These two telephone channels must be connected to the same low bandwidth port of PBX 142 in order to allow all the video data from video kiosk 102 to be transmitted to the same video station. A conventional PBX does not have the ability to recognize that two telephone channels originated from the same video kiosk. Thus, it is not possible for it to connect them to the same video station.
In one embodiment ofthe present invention, the servers in video routing device 1 1 1 (i.e., CTI/PBX server 113, stat-server 124 and routing server/video ACD 114; these three servers are collectively called the "host") are used in combination with a conventional PBX to route calls originated from video kiosk 102 to the appropriate low bandwidth port. In this embodiment, ACD/PBX 112 is a conventional PBX which comprises a data processing device capable of executing an internal trunk route script. This script contains a plurality of commands which control the operation of ACD/PBX 112. For example, the script can connect calls received at high bandwidth port 144 to low bandwidth ports in accordance with certain criteria, determine the type of music or announcement to play when a call is
put on hold, select the strategy to queue calls when all low bandwidth ports are busy, etc.
In this embodiment ofthe present invention, the above described servers are used to determine the operation of ACD/PBX 112 (i.e., the internal trunk route script is essentially disabled). As a result, intelligence and routing decisions are moved from ACD/PBX 112 to the host. Fig. 2 is a flow chart 200 showing a trunk route script which allows the host to control the operation of ACD/PBX 112. ACD/PBX 112 receives an incoming call (step 202). ACD/PBX 112 places a request to the host for routing the call (step 204). ACD/PBX 112 then waits for a response from the host (step 206). If it receives a response from the host, control is transferred to host, which then performs routing operation in accordance with criteria determined by the host (step 208). Flow chart 200 then ends, and another call can be processed by ACD/PBX 112 and the host. If ACD/PBX 112 does not receive a response from the host, it determines whether a response timeout (e.g., 10 seconds) has elapsed (step
210). If the answer is yes, ACD/PBX 112 then executes its internal script (step 212). Thus, the internal script provides a default routing routine for the call center. Flow chart 200 then ends, and another call can be processed by ACD PBX 112 and the host. If the answer is no, ACD/PBX 112 continues to wait (i.e., flow chart 200 branches back to step 206).
In the preferred embodiment ofthe present invention, video routing is performed by combining the resources of stat-server 124, routing server/video ACD 114, and CTI/PBX server 113. Stat-server 124 contains a database for storing all relevant activities of call center 110 (e.g., the current status and history of activities of all low bandwidth ports). Routing server/video ACD 114 routes calls to appropriate low bandwidth ports based on factors such as the information contained
in stat-server 124, the information delivered by ACD PBX 112 and the status of various low bandwidth ports. CTI/PBX server 113 acts as a bridge between ACD/PBX 112 at one end and stat-server 124 and routing server/video ACD 114 at the other end. CTI/PBX server 113 is designed to interface with PBXs manufactured by different vendors and present a uniform application program interface (API) to stat-server 124 and routing server/video ACD 114. An advantage of this arrangement is that individual components in video routing device 111 could be replaced and enhanced separately. For example, substantially the same routing server/video ACD and stat-server could be used with PBXs from different manufacturers by changing CTI/PBX server 113.
The operation of an embodiment of video routing system 100 is now described in connection with flow chart 250 of Fig. 3. The video routing system in this embodiment operates in a telephone system in which two separate telephone numbers are associated with an ISDN channel. It should be note that this embodiment can be modified in a manner described below to function in a telephone system in which only one telephone number is associated with an ISDN channel.
In system 100, a regular toll-free 800-number is pre-assigned to carry video information. Thus, video kiosk 102 dials this number twice, each time using a different phone number associated with the ISDN channel (step 252). The time gap for connecting these two calls to call center 110 by PSTN 104 ranges from less than a second to several seconds. Typically, the gap is below one minute.
PSTN 104 connects the calls to call center 110 (step 254). Each time when the 800-number is dialed, PSTN 104 delivers two pieces of information to ACD/PBX 112: a "dial number identification system" (DNIS) for uniquely identifying the toli-
free 800-number and an "automatic number identification" (ANT) for uniquely identifying the telephone line which originates the call. In this embodiment, the above described toll free 800-number and the ISDN line connected to video kiosk 102 are pre-assigned for video conference purposes. The DNIS and ANIs ofthe corresponding 800-number and ISDN line should have been previously stored in a database (which could be located in routing server/video ACD 114 or database server 120).
In the present invention, ACD/PBX 112 transfers control of calls to the host (step 258). When ACD/PBX 112 receives the DNIS and the first of two ANIs from
PSTN 104, it sends these two numbers to CTI/PBX server 1 13, which in turn sends them to routing server/video ACD 114. Routing decision is not made by ACD/PBX 112. Because this DNIS is one ofthe numbers recognized by routing server/video ACD 114 to be associated with a video call, the video routine algorithm of routing server/video ACD 114 is invoked. This serves as a convenient method for screening out non-video calls.
Routing server/video ACD 1 14 then determines if this is a new video call or a pan of an existing video call (step 260). It branches to a "DN-Relate" database. An example of a DN-Relate database is shown in Table 1 :
Table 1: DN-Relate
DN1# DN2# Status Time Stamp Related ANI
1000 1001 Available 9:20
1040 1041 Unavailable 10: 10
1060 1061 Waiting 10:32 1213
It should be appreciated that the format and information contained in table 1 is for illustrative purposes only. The design ofthe table can be easily changed and enhanced by persons of ordinary skill in the an.
In table 1, the entries under the columns "DN1#" and "DN2#" conespond to the pairs of directory numbers assigned to video stations. Each pair of directory numbers will be connected to the same video station. The column entitled "status" indicates the status ofthe directory numbers. If the entry is "unavailable," these directory numbers are not available (e.g., video station not yet logged in) and should not be connected ;o a new video call. If the entry is "available," these directory numbers could be used to connect to a new video telecommunication. If the entry is "waiting," one ofthe two ANIs has been received, and a second ANI needs to be received to complete the video telecommunication. The entries under "time stamp" contain time-related information. This information could be used as part ofthe input variables of a routing algorithm, e.g., the video station waited longest for a video call should be connected first. The entries under "Related ANI" contain the second of two ANIs used for completing a video connection. The entries of this column can be used by routing server/video ACD 114 to connect appropriate video calls to the conect video station.
The last row in table 1 is now explained. The numbers 1060 and 1061 under DN1# and DN2#, respectively, conespond to the directory numbers assigned to the same video station. The status is "waiting," indicating that one ofthe directory numbers, e.g., 1060 under DN1#, has previously been connected to an incoming video call and this video station is waiting for the second incoming video call. The time under time stamp conesponds to the time the first call is received. The number
under "related ANI", i.e., 1213, conesponds to the ANI ofthe anticipated second call. The method of entering the anticipated ANI in table 1 will be explained below.
Routing server/video ACD 114 compares the ANI obtained from ACD/PBX 112 to the ANIs stored in the DN-Relate database (step 262). If there is a match, routing server/video ACD 114 knows that this video call relates to an existing call. For example, if the received ANI is 1213, the database in table 1 indicates that video routing system 100 is waiting for this ANI to complete a video connection, and this call should be routed to DN# 1061. The status column ofthe conesponding row should be updated to indicate that video telecommunication has been established
(step 264). Routing server/video ACD 114 then connects the video call to the waiting direαory number (i.e., the conesponding entry under DN2#) indicated in the database (step 266). Flow chart 250 ends and another call can be processed.
If routing server/video ACD 114 does not find any match, it needs to look for an available video station (step 270). It checks to see if a video station is available (step 272). Assuming that more than one video stations are available, one of them will be selected in accordance with predetermined criteria. For example, the time stamp column of a pair of available directory numbers indicates the time this pair of directory numbers first became available. This information could be used as a factor to select the appropriate video station. After an available video station is selected, routing server/video ACD 114 updates the status of this station (step 280). Specifically, it sets the conesponding status to "waiting" and sets the time stamp in the database. Routing server/video ACD 1 14 then connects the incoming call to the direαory number (under "DN1#") ofthe seleαed video station (step 282).
Routing server/video ACD 114 needs to obtain the conesponding ANI for the remaining call (step 286). It jumps to a " ANI-relate" database. This database contains entries ofthe pairs of phones numbers associated with the ISDN lines assigned for video telecommunication purposes. For example, if a first ISDN line (conneαed to a first video kiosk) associates with ANIs 1212 and 1213 while a second ISDN line (connected to a second video kiosk) associates with ANIs 3726 and 3727, the ANI-relate database would have entries shown in Table 2:
Table 2: ANI-Relate
First ANI Second ANI
1212 1213
1213 1212
3276 3277
3277 3276
(Other pairs of ANIs)
It should be appreciated that the format and information contained in table 2 is for illustrative purposes only. The design ofthe table can be easily changed and enhanced by persons of ordinary skill in the art.
As an example, if the ANI received by routing server/video ACD 114 is 3276, the ANI-Relate database indicates that the ANI associated with the same video call is 3277. Thus, routing server/video ACD 114 is able to obtain the second of a pair of ANIs associated with a video conneαion. It then returns to DN-Relate database (see table 1) and places the number 3277 under the column "related ANI" ofthe seleαed video station. Routing system 100 then waits for incoming calls having this second
ANI. Flow chart 250 ends and waits for the next call.
If there is no available video station, routing server/video ACD 1 14 sends the call to a queue to wait for an available station (step 292). In the present invention, a new method is used to queue video calls. This method is different from those used on standard voice calls. As stated earlier a call cannot be connected to one point and then disconneαed to another point. Such operation will destroy the call. As a result, the new method, described below, is needed to handle the queuing.
In step 294, routing server/video ACD 114 checks to see if the video call has been in the queue for longer than an allowed time (i.e., the timeout period). If the allowed time has expired, routing server/video ACD 114 records the ANI that attempts to call the call center (step 296). When a video station is later available, this
ANI can be retrieved by a video agent and a call can be placed by that video agent to the kiosk (or person) which had originated the call. In the mean time, ACD/PBX 112 is instructed to disconnect the video call and return a busy signal (step 298). This is the least desirable option. It should be used when no video agents are available and none are seen to become available within a relatively short time frame. The timeout period is set to reflect this consideration.
If the video call has been in the queue for shorter than the allowed time, routing server/video ACD 1 14 continues to try to connect the call (step 302). That is, flow chart 250 loops back to step 272. During this period of time, the video call remains in a ringing state. The loop continues until the timeout has elapsed. At that time, steps 296 and 298 are executed.
It can be seen from the above description of flow chart 250 that video routing device 1 1 is able to receive video calls and connect them to appropriate video stations (if available) in call center 110. Video routing device 111 could also access database server 120, if there is a need to do so, to obtain additional information about
video kiosk 102 and the video station selected for connection. This information can be sent to an agent monitoring the selected video station.
As pointed out above, video routing device 111 can also be used for the situation where only one phone number is assigned to an ISDN channel. In this case, there is no need to generate the "ANI-relate" database because the entries in the first and second columns will be the same. The calling ANI is direαly written to the appropriate row ofthe "related ANI" column. This is because the calling ANI and the anticipated second ANI are the same.
Fig. 4 is a drawing showing the logical conneαion between components in call center 110. It can be seen from Fig. 4 that ACD/PBX 112 is conneαed only to CTI/PBX 113. Information regarding calls is communicated to stat-server 124 by CTI/PBX 113 so that stat-server 124 can record all telephone transaαions. CTI PBX server 113 is also conneαed to routing server/video ACD 114 for allowing it to route video calls. Routing server/video ACD 114 is connected to stat-server 124 because the information stored therein is used by routing server/video ACD 114 to route calls. Further, stat-server 124 records routing instructions of routing server/video ACD 1 14. Routing server/video ACD 1 14 is also connected to database server 120 to obtain additional information for routing calls. Stat-server 120 and database server 120 are conneαed so that information contained therein can be shared and updated.
Video stations 115-117 are connected to routing server/video ACD 114 so that video calls can be routed thereto. Video stations 115-117 are also conneαed to database server 120 so that information regarding customers, produαs, etc., can be downloaded from database server 120.
It should be appreciated that even though CTI/PBX 113, routing server/video ACD 1 14, stat-server 124 and database server 120 are shown as separate components, they could be combined into one, two or three components residing on one or more data processing devices.
The invention has been described with reference to specific exemplary embodiments thereof. Various modification and changes may be made thereunto without departing from the broad spirit and scope ofthe invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense; the invention is limited only by the provided claims.