Abstract:
A system and related techniques enhance the generation and delivery of dialed number identification service (DNIS) data to automatic call distributors and other destinations. Unlike conventional DNIS-based (800) or other call centers or other resources whose available DNIS-based identifications can become overtaxed during comparatively high call volumes, according to embodiments of the invention DNIS numbers are dynamically generated from an available pool on a per-call basis under call router supervision. According to embodiments of the invention in one regard, the dynamic DNIS may be associated with that call to the call&#39;s particular destination, such as an automatic call distributor, interactive voice response unit or other resource, during the duration of the call for the operative destination, with other calls being locked out from using that DNIS assignment while the call is in progress. The DNIS digits along with other tag or label information may likewise be used as a temporary key to access associated call data, such as dialed number, caller entered or other data or information, which may be stored in a data store for access by customer service representatives (CSRs) or others. After the call is completed, the temporarily assigned DNIS number may be released back to the pool for use by other calls to that destination.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     Not applicable. 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not applicable. 
     FIELD OF THE INVENTION 
     The invention relates to the field of communications, and more particularly to an environment for delivering (800) number and other calls to automatic call distributors or other destinations, using a dynamic assignment of called number identification services and other call-tagging information. 
     BACKGROUND OF THE INVENTION 
     Call center and other computerized telephony operations in the past have sometimes economized on network infrastructure by sharing physical communications connections. In these arrangements, a company or group of separate companies may for example publicize multiple (800) or other numbers for various types of customer support or other operations. For instance, a large financial institution may offer one (800) for retail banking accounts, another (800) number for mutual fund clients and another (800) for brokerage trading. While those numbers may be separate, each number may be channeled over long distance or other networks to one physical trunk or connection, to economize of network costs and maintenance. 
     When multiple (800) or other numbers are logically shared over common network resources, it has been known in the past to identify calls coming in over one number or another using the dialed number identification service (DNIS). For instance as illustrated in  FIG. 1 , a call arriving over a long distance network may be managed by a service control point (SCP) or other resource, under the signaling system 7 (SS7) or other architecture. The SCP may detect or receive the caller&#39;s dialed number (DN) such as a 10-digit (800) number, the number from which the call is being made via automatic number identification (ANI), caller ID or other services, and use that information to deliver the call to an appropriate destination. 
     That destination may be or include, for example, an automatic call distributor (ACD), an interactive voice response (IVR) unit, or other destination or resource. That ACD or other hardware or software may be correspondingly programmed or equipped with tools or applications to service specific types of calls, such as account inquiries, transactions, subscription or other inquiries or support. The call may be delivered to that ACD or other destination over common telephone, data or other links, along with other calls, for instance over T-1 or other lines. 
     To ensure that the call which is being sent over the common lines or connections is properly identified and delivered to the most appropriate ACD, the SCP or other controller may employ the known DNIS system to identify the dialed number from which the call originated. According to that system, the SCP or other controller may transmit call-identifying tag or other information based on or related to the originally dialed number to the destination ACD. That DNIS tag, label or other identifying information may be or include, for instance, a 3 or 4-digit code appended to or associated with the destination number. The DNIS information may also be encoded in other formats. 
     The DNIS information may be transmitted to the ACD or other destination through in-band signaling in the voice channel. Typically that information is transmitted using dual tone multiple frequency (DTMF) or other tones or signals through the voice channel. Once the ACD or other destination has decoded the DNIS digits, that resource can distribute or process the call according to the dialed (800) or other numbers, for instance to invoke a voice menu, distribute the call to a customer support representative (CSR), or perform other processing. 
     While the conventional DNIS system functions adequately for the delivery of identified calls in environments including comparatively low-volume environments, there are still difficulties in ensuring DNIS-based call distribution in other contexts. One challenge is the delivery of DNIS-labeled calls in a high-volume environment. This problem arises in one regard because the number and capacity of communications links through which the call may be connected to the ACD or other destination may be limited. For instance, the network operator may lease T-1 or other lines and not be able to readily add capacity to those lines, when a comparatively greater call volume occurs. 
     Further, the SCP or other controller which associates a DNIS number or tag with a call to transmit in-band with the call is conventionally configured with a fixed translation table, so that given (800) numbers are always transmitted to given ACD or other resources using given DNIS numbers or tags. The total number of those assignments may therefore be fixed, and even when there may be on the order of hundreds of available DNIS numbers or associated labels or tags, call centers which experience hundreds or thousands of calls per minute may exceed the available set of DNIS/destination assignments, communications links or both. In those cases calls must remain in the default queue until DNIS and other resources free up, causing delays in response time and other customer metrics, or causing a call drop if the default queue is not suitably configured. Other problems in dialed number-based call distribution schemes exist. 
     SUMMARY OF THE INVENTION 
     The invention overcoming these and other problems in the art relates in one regard to a system and method for dynamic assignment of dialed number identification information, in which inbound (800) or other calls may be associated with DNIS numbers or other tags or identifiers which are not fixed or permanently assigned, but assigned on a dynamic basis based on available DNIS numbers and other varying conditions. In embodiments, the (800) or other call or transaction may be controlled by a service control point which in turn communicates with a routing engine. Unlike conventional architectures in which the service control point may generate DNIS assignments for given destinations based on a provisioned or hard-wired basis, according to embodiments of the invention the DNIS number and other accompanying labels or other information may be dynamically extracted from a lookup table or other source in the routing engine. The lookup table may contain a frequently updated pool of DNIS numbers which are locked for a given call to a given destination. This locking action may take the DNIS digits or code out of the available lookup pool during the duration of the call delivery, thereby preventing a conflict or mis-delivery of the call or call data to the destination. DNIS numbers may also similarly be used for other destinations simultaneously with other calls to other destinations. Because DNIS number assignments and other accompanying information may be accessed and generated by reference to a lookup table or other dynamic source, the total capacity of the system to deliver calls to ACDs and other destinations may be increased compared to systems which permanently assign DNIS numbers to destinations or other resources. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates the distribution of calls in a call center, according to conventional dialed number identification service technology. 
         FIG. 2  illustrates an environment in which a system and method for a dynamic assignment of dialed number identification information may operate, according to embodiments of the invention. 
         FIG. 3  illustrates a flow diagram of dynamic DNIS generation and transmission, according to embodiments of the invention. 
         FIG. 4  illustrates a lookup table for dynamic DNIS translation and generation, according to embodiments of the invention. 
         FIG. 5  illustrates overall dynamic DNIS processing, according to embodiments of the invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       FIG. 2  illustrates an environment in which a system and method for dynamic dialed number identification service may operate, according to an embodiment of the invention. As illustrated in that figure a caller  102  may initiate a call via a long distance network  104 , or other network or connection. The caller  102  may initiate that call in a variety of ways, for instance by initiating a cellular call or other wireless call to a customer support number, or by dialing an (800) number, (900) number or other toll-free or other number via a landline connection through the public switched telephone network (PSTN) or other link. The call may likewise be initiated via a voice over Internet Protocol (VoIP) call or connection, or establishing a voice call or hybrid voice/data call via other wired or wireless channels, links or connections. The call may in embodiments be or include a direct-dialed, transferred, multi-party conference or other call or connection. 
     Once the call is initiated, according to embodiments of the invention in one regard the incoming call may be communicated to a service control point  106 , which may for example be or include a server or other hardware along with a database engine or other resources. The service control point  106  may in turn communicate with a routing engine  108 , which may likewise for instance be or include a server or other resource. The service control point  106 , the routing engine  108  and other resources may for instance be incorporated in an Advanced Intelligent Network (AIN) configuration or network, a Signaling System 7 (SS7) network or other communications network or fabric, and may in embodiments include or interface to intelligent call management (ICM) hardware, software, Genesys™ Network Routing solutions or other call routing solutions. 
     According to embodiments of the invention, the routing engine  108  may host rules-based logic and other programmed or hardwired control to be applied to the incoming call, to analyze, route and manage the routing of the call to its destination. That destination as illustrated may be or include a number of local or remote physical or logical destinations including a local central office  112 , an automatic call distributor  116 , an interactive voice response farm  126  or other destination or site. The routing engine  108  in cooperation with the service control point  106  and other resources may analyze the call to generate an appropriate destination for the type and purpose of the call. 
     Towards those purposes, the routing engine  108  may capture, access or receive both call data and caller data as well as other information for routing and other purposes. Call data may therefore be or include data such as the dialed number identified via dialed number identification service (DNIS), calling number data such as a ten-digit or other telephone number generated via automatic number identification (ANI) or other services, time of day or date of call origination, the carrier over which the call arrives or which bills or services the call, or other call parameters related to or identifying the originating call. 
     Caller data may contain, for instance, caller entered data such as touch-tone, keypad, voice response or other inputs, for instance in response to a voice prompt, telephone typewriter (TTY) data or other menu or interface, such as for example account, subscriber, user name, social security or other identifiers or data. Caller data may likewise in embodiments include data retrieved from past transactions or exchanges, for instance automatically retrieved or identified via the caller&#39;s calling number, whether identified automatically or entered by the caller. Other types, categories and formats of data are possible. According to embodiments of the invention in one regard, the call data captured for a particular call may be temporarily or permanently stored to a call data store  124 , or other local or remote storage or other facility. 
     According to embodiments of the invention in one regard, the routing engine  108  may typically receive the dialed number (DN), for instance an (800), (900) or other number, as part of the collection of call data on which to base the forward routing of the call. The call may require routing to a corresponding destination such as an ACD, IVR or other resource based on the call data and intended service. For example, in a financial services application a large organization which runs a mutual fund division may provide one (800) number such as “(800) 123-1111” for mutual fund customers wishing to call to access their accounts, while also providing an (800) number such as “(800) 123-2222” for a brokerage services division. Calls dialed to the first of those numbers may need to be routed to an interactive voice response farm  126 , whose voice response units may for instance be programmed with menus configured to present common mutual fund options or other information. 
     Conversely, calls dialed to the second of those numbers may require routing to a resource such as ACD  116 , which may distribute the call to a set of CSR workstations  118  staffed by customer service representative or other personnel knowledgeable or qualified to provide brokerage trades or advice. Other numbers, combinations of numbers and intended destinations are possible for various industries, applications and implementing architectures. In embodiments (800) number or other calls for different companies or other entities may be serviced by common communications links, routing engines and/or destination resources. 
     According to known implementations of routing architectures, the dialed (800) or other number might be used to identify which ACD, IVR or other resource which may be appropriate destination for the incoming call, for instance based on database checks in a service control point. That call delivery might be programmed using a dialed number identification service (DNIS) label, tag, number or other code, such as a 4-digit or other tag to be attached to an ACD or other destination number, and informing the destination which (800) or other number the caller  102  originally dialed in to. However, in call center or other environments which experience a comparatively high rate of incoming calls, for instance on the order of hundreds or thousands of calls per minute, or more or less, tying dialed numbers to destinations based on hardwired DNIS tags may tax or exceed the number of available connection ports, DNIS assignments or other resources required to support that volume of calls. 
     According to embodiments of the invention as illustrated in  FIG. 2 , however, overall system capacity is enhanced, flexibility increased and greater call volume may be serviced, due in part to an architecture permitting the generation of a dynamic DNIS  114 , rather than a fixed DNIS assignment. Dynamic DNIS  114  may in one regard couple the call to a destination number  120  for delivery to resources supporting the call&#39;s intended destination. Dynamic DNIS  114  may in embodiments be based on a selector or identifier associated with the call which may be, include or be related to the originally dialed number. That is, according to embodiments of the invention in one regard, the 4-digit or other DNIS tag, code or other data which identifies to ACD  116 , interactive voice response farm  126  or other destination the appropriate voice response menu or other resource corresponding to the service originally dialed into, may itself be assigned or re-assigned on a dynamic or changing basis. 
     In embodiments, the routing engine  108  may host or store a lookup table  110  storing the momentary assignments of one or more dynamic DNIS  114 , in dynamic or pooled fashion. Because DNIS tags or other identifying data are not permanently assigned to dialed numbers and associated destinations, those tags or other codes or data may be used and re-used on the fly based on current usage at a given destination. This dynamic reallocation may expand the effective number of unique identifiers available to, and therefore the realized capacity of, the system at a given time. 
     In an illustrative call flow more particularly illustrated in  FIG. 3 , therefore, an (800) number or other call or request may be received via long distance network  104  or other network or channel, and communicated to routing engine  108 . The routing engine  108  may transmit call data such as caller ID or other data, to ACD  116  based on destination number  120  for that ACD as well as a dynamic DNIS  114  assigned by routing engine  108  or other control for purposes of that call. As illustrated in  FIG. 4 , The dynamic DNIS  114  may be generated, for example, using a select code  122  which may be, include or be based on the originally dialed number as an identifier. 
     Select code  122 , which may similarly include or be based on other information, may in turn act as a key or pointer into entries stored in lookup table  110 . Lookup table  110  may store a dynamically assigned 4-digit or other DNIS code, tag or other data for that select code  122 . According to embodiments of the invention in one regard, upon assignment of the dynamic DNIS  114  to the call for the given ACD  116  or other destination based on select code  122 , routing engine  108  may lock that 4-digit or other DNIS code in lookup table  110  or otherwise. Placing a lock on that DNIS identifier during the duration of that call may serve to prevent data overwrites, misconnections or other corruption of the call by accidentally assigning the same DNIS code to another call to the same destination, at the same time. 
     The routing engine  108  may also return the destination number  120  for the ACD  116  to the long distance network  104 , along with the dynamic DNIS  114  to permit the call to be connected to its intended destination. The call may thereafter be connected from long distance network  114  to the ACD  116 , based on the destination number  120  and delivering dynamic DNIS  114  to the ACD  116  or other premises routing logic. When the call is successfully connected from long distance network  104  to ACD  116 , the ACD  116  or other destination may transmit a message to routing engine  108  that the DNIS call number has arrived, after which the routing engine may release the temporary or dynamic DNIS  114  back to the available pool of DNIS assignments, reflected in lookup table  110  or otherwise. Because assignment of dynamic DNIS  114  to a call to a given destination is temporary and only locked during the duration of the call, other calls being delivered to the same ACD  116  or other destination may receive that DNIS assignment upon completion of the call. 
     Overall DNIS call assignment and distribution processing is illustrated in  FIG. 5 . In step  502 , processing may begin. In step  504 , an inbound, transferred, conference or other (800) number, (900) number or other call or transaction may be received from caller  102  or otherwise, for instance via long distance network  104  or other network or connection. In step  506 , call data related to the call including, for example, objective call data such as date, time of day, calling number identification (via caller ID, ANI or other services), called number identification, carrier identification or other data as well as caller-entered data such as account number, subscriber cellular or other data may be captured. In embodiments, that captured call data may be temporarily or permanently stored to call data store  124  or other location. 
     In step  508 , the call data including components such as dialed number, ANI and other data or fields may be communicated to routing engine  108  along with a routing request or instruction to direct the call to an appropriate destination having a destination number  120 . In step  510 , a lookup of an assigned dynamic DNIS  114  may be executed against lookup table  110  or other resource using select code  122  or other keys. In step  512 , a label consisting of destination number  120 , dynamic DNIS  114  or other information may be generated in routing engine  108  or otherwise. 
     In step  514 , the call label may be communicated to a site routing engine or other premises routing logic. In step  516 , the dynamic DNIS  114  for the subject destination number  120  may be locked to prevent other calls from receiving an assignment of that DNIS or other identifier. In step  518 , the call may be transferred to the destination represented in destination number  120 , such as an ACD  116 , interactive voice response farm  126  or other destination or resource. 
     In step  520 , the call data captured in call data store  124  or other resource may be accessed using the dynamic DNIS  114 , destination number  120  or other label components by the destination logic to assist in processing or further routing the call, for example to distribute the call to an appropriate CSR, to invoke an appropriate voice menu, access a corresponding database or take other action. In step  522 , the dynamic DNIS  114  may be released upon termination of the call for use by other calls, for instance by update to lookup table  110  or otherwise. In step  524 , processing may repeat, return to a prior processing point, jump to a further processing point or end. 
     The foregoing description of the invention is illustrative, and modifications in configuration and implementation will occur to persons skilled in the art. For instance, while the invention has generally been described in terms of an environment in which a routing engine hosts and delivers a dynamic DNIS assignment from a pool in a lookup table  110 , in embodiments the dynamic or varying DNIS numbers or associated codes or tags may be stored in or accessed from difference resources, such as a dedicated database engine, remote server or other resource. 
     Similarly, while the invention has in embodiments been described as involving the delivery of calls based on their associated DNIS numbers, in embodiments calls may be identified, routed or otherwise processed based on identifiers other than DNIS numbers, depending on implementing protocol. Further, while the invention has generally been described as operating under control of one routing engine  108 , in embodiments those control functions may be distributed amongst multiple controllers, processors or logic. Other hardware, software or other resources described as singular may in embodiments be distributed, and similarly in embodiments resources described as distributed may be combined. The scope of the invention is accordingly intended to be limited only by the following claims.