Abstract:
A method and a system for connecting a call to an agent that is connected to disparate telecommunications networks. A query is received from one of the disparate telecommunications networks regarding an availability of an agent for receiving a call. The availability of each of a plurality of agents is determined, and an agent is selected. Routing instructions are determined for routing the call from the telecommunications network from which the query was received to the selected agent. The query is then responded to by communicating the determined availability of the agent and the routing instructions to the telecommunications network from which the query was received using SS7 signaling.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to the field of telecommunications. More particularly, the present invention relates to a method and a system for determining the availability of an agent.  
           [0003]    2. Description of the Related Art  
           [0004]    Presently, there are problems in determining the availability of an agent who can be reached by disparate telecommunications networks or network options because agent availability information is not presently being shared by disparate networks. There are currently no resources that are shared by disparate networks so that, when a connection is completed to an agent, information regarding the availability of the agent is not shared by the different networks connected to the agent. Consequently, when a call or session is connected to an agent, the other networks that can be connected to the same agent are presently unable to ascertain the actual availability of the agent.  
           [0005]    [0005]FIG. 1 shows a block diagram of a plurality of disparate telecommunications networks that are connected to an agent  5  located at a call processing center  6 . While FIG. 1 shows only one agent  5 , it should be understood that a plurality of agents can be located at the call processing center  6 . The term “agent”, as used herein, refers to a person who is working in a call processing center, or a telemarketing center, and who is contacted by people for service. For example, an agent is contacted by people seeking help or advice from a help desk service, desiring to purchase items from a mail-order company, etc.  
           [0006]    Agent  5  can receive calls or sessions from a public Asynchronous Transmission Mode (ATM) network  7 , from an Internet Protocol (IP) network  11  and from a circuit-switched telecommunications network  13 . Each network includes network elements that are indigenous to that particular network. For example, ATM network  7  includes a plurality of interconnected ATM routers  8 , at least one Signal Transfer Point  9 , and at least one Network Control Point (NCP)  10  and possibly a permanent virtual circuit (not shown) via ATM connected to NCP  10 . IP network  11  includes a plurality of interconnected routers (RT)  13  and an NCP  12 . Circuit-switched telecommunications network  14  includes a plurality of interconnected toll-switches  15 , at least one signal transfer point (STP)  16  and at least one NCP  17 .  
           [0007]    While both ATM network  7  and circuit-switched network  14  have NCP-type architectures, the network connections from ATM network  7  and circuit-switched network  14  to agent  5  are independent from each other and from connections to agent  5  from IP network  11 . That is, each connection is completed to the agent regardless of whether the agent is already communicating over another network connection.  
           [0008]    Within each network environment, Automatic Call Distributors (ACDs) have been used for intelligently distributing call to available agents. Nevertheless, conventional ACDs do not have the capability to receive information relating to disparate network connections for intelligently routing a call or session to an available agent because a conventional ACD operates only within a particular network environment in which the ACD is connected.  
           [0009]    What is needed is a way to share information between disparate telecommunications networks about the availability of an agent.  
         SUMMARY OF THE INVENTION  
         [0010]    The present invention provides a way to share information between disparate telecommunications networks about the availability of an agent. The advantages of the present invention are provided by a method and a system for connecting a call to an agent that is connected to disparate telecommunications networks. According to the invention, a query is received from one of the disparate telecommunications networks regarding an availability of an agent for receiving the call. The availability of each of a plurality of agents is determined, and an agent is selected. Routing instructions are determined for routing the call from the telecommunications network from which the query was received to the selected agent. The query is then responded to by communicating the determined availability of the agent and the routing instructions to the telecommunications network from which the query was received using SS7 signaling. Preferably, the selected agent is selected based on one of an agent skill level and a most idle agent criteria, and the routing instructions are determined based on one of a lowest cost criteria, a hierarchical criteria, an RTNR/Optimized routing criteria, a time of day, a day of a week, a call origination location, and a network congestion condition. An availability entry in a database for the agent is updated to indicate that the agent is unavailable for receiving another call when the call is connected to the agent and to indicate that the agent is available for receiving another call when the call connected to the agent terminates. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0011]    The present invention is illustrated by way of example and is not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:  
         [0012]    [0012]FIG. 1 is a block diagram of a plurality of disparate telecommunications networks that are connected to an agent;  
         [0013]    [0013]FIG. 2 is a block diagram showing an Agent Availability Network Control Point according to the present invention connecting disparate networks to an agent; and  
         [0014]    [0014]FIG. 3 is a block diagram showing functions provided by an Agent Availability Network Control Point according to the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0015]    The present invention provides a system and a method for determining the availability of and for coordinating connections to a shared resource between users of disparate telecommunications networks, such as between circuit-switched telecommunications networks, ATM networks and/or the Internet. Further, the invention provides a system and a method for interconnecting Internet resources to an intelligent call processing network having a Network Control Point (NCP) architecture, thus enabling features such as call and/or session routing based on a time of day, a day of the week, the next available agent, etc. Further still, the present invention provides a system and a method for routing sessions over different networks using a common intelligent routing source in a manner that is similar to the way telephone calls are routed over a circuit-switched telecommunications network.  
         [0016]    While the terms “call” and “session” have distinct meanings for the particular telecommunications networks with which they are respectively associated, for the purposes of the present invention, the terms “call” and “session” will be used interchangeably herein.  
         [0017]    [0017]FIG. 2 is a block diagram showing an Agent Availability Network Control Point (AANCP)  40  according to the present invention connecting disparate networks to an agent. In FIG. 2, ATM network  7 , Internet  11  and circuit-switched telecommunications network  14  are each connected to an agent station  35  that is located at a call processing center  30 . Call processing center  30  also includes AANCP  40 , which is connected to agent station  35 . It should be understood, however, that AANCP  40  can be located remotely from call processing center  30 .  
         [0018]    According to the present invention, AANCP  40  is a resource that is shared between the disparate networks  7 ,  11  and  14 . AANCP  40  operates as an NCP processing queries regarding agent availability and providing selection logic, agent availability, and agent inventory/availability between separate networks. FIG. 3 is a functional block diagram of AANCP  40  according to the present invention. As a processing platform, AANCP  40  includes an Input/Output (IO) module  41 , an Agent Update module  42 , an Agent Inventory module  43 , a Routing Options module  44  and a Statistical Program module  45 .  
         [0019]    IO module  41  interfaces AANCP  40  to each disparate telecommunications network connected to AANCP  40  using SS7 signaling, a well-known layered signaling protocol that reliably transfers and delivers signaling information across a telecommunications network. Agent Update module  42  updates the availability status associated with each agent with respect to, for example, Frame Relay, IP, ATM, X.25, POTS and ISDN services. Agent Inventory module  43  includes a database containing information relating to agents, such as an agent skill level, a most-idle agent, etc. Routing Options module  44  includes a database containing information relating to different strategies, including Lowest Cost, Hierarchical, RTNR/Optimized Routing, etc., routing strategies. Statistical Program module  45  analyzes, for example, router utilization, traffic modeling, user utilization (time, packets (to/from)), etc., as AANCP  40  determines a suitable agent and appropriate routing for a call or session to the agent.  
         [0020]    Suppose that a caller  2  (FIG. 2), for example, desires to be connected to an agent located at call processing center  30 . Caller  2  dials the telephone number for call processing center  30  and is connected to a Local Exchange Carrier (LEC)  19 . Circuit-switched network  14  queries the database within AANCP  40  for determining the availability of an agent at call processing center  30  through STP  16  using SS7 signaling. In response, AANCP  40  accesses the agent inventory database in Agent Inventory module  43  (FIG. 3) and returns a routing telephone number of a suitable available agent. Once the call is routed from LEC  19  through circuit-switched network  14  to LEC  20  and finally to the available agent, AANCP  40  updates an agent availability field in the database associated with the agent to indicate that the agent is not available. When the call to the agent is terminated or disconnected, AANCP  40  updates the agent availability field corresponding to the agent to indicate that the agent is available.  
         [0021]    For an ATM session initiated by a caller  3 , AANCP  40  is queried for an available agent at the start of a session, instead of routing the session to an NCP as is conventionally done. An available agent is selected by AANCP  40  and the routing address for the selected agent is sent to ATM NCP  10  through STP  9 . ATM NCP  10  then routes the call from caller  3  through ATM routers  8  to the available agent using a well-known ATM routing strategy. When the session is connected, AANCP  40  updates the agent availability field in the database associated with the agent to indicate that the agent is not available. When the session is disconnected, the agent availability field corresponding to the agent is updated by AANCP  40  for indicating that the agent is available.  
         [0022]    When AANCP  40  is queried through the Internet for agent availability for an IP session initiated by a caller  4 , AANCP  40  determines a suitable agent and defines an Internet Address for the agent for setting up a session. AANCP communicates the Internet Address to Internet NCP  12  using SS7 signaling. Similar to the previously described exemplary network connections to agent  35 , AANCP  40  determines a suitable agent and updates the agent availability field in the database associated with the agent when the session is connected to indicate that the agent is not available. When the session is disconnected, the agent availability field corresponding to the agent is updated by AANCP  40  for indicating that the agent is available.  
         [0023]    For each example, AANCP  40  has a real-time view of agent availability that is continually updated for each agent. As a call or a session is set up or disconnected, the availability field corresponding to a newly available agent is updated in real time accordingly. AANCP  40  determines the routing instructions for a particular available agent based on the availability field for the agent.  
         [0024]    According to the present invention, IP traffic, which is conventionally routed using a router-to-router technique (tunneling or tandeming), is routed over a route determined by Routing Options module  44  of AANCP  40  “looking down” at the entire Internet network  11 . All available routing options are contained within Routing Options module  44  so the most appropriate route for a particular IP session is first determined based on, for example, selecting the most efficient path (fewest number of hops) through IP network  11  for ensuring talk quality of the call. The appropriate links are then established for creating a virtual circuit for the session. Virtual circuits are defined by AANCP  40  using “chunks of bandwidth”, such as 4 k, 16 k, 64 k, etc, that are then placed in routing segments of a database located at Internet NCP  12  and IP channelization is performed. By providing this type of routing for IP sessions, the present invention can provide advanced routing features for Internet/Intranet traffic using the same routing techniques that are used in circuit-switched telecommunications networks, such as time of day routing, date of week routing, geographical location routing, alternate routing in situations of network congestion.  
         [0025]    While the present invention has been described in connection with the illustrated embodiments, it will be appreciated and understood that modifications may be made without departing from the true spirit and scope of the invention.