A computer-implemented method for routing voice interactions from a queue in a contact center system, wherein the queue comprises a virtual queue of present voice interactions initiated by respective customers with the contact center system who are each waiting to be connected to an agent of the contact center system, wherein the method, when described in relation to how an exemplary first customer of the customers is positioned within the queue relative to other ones of the customers, comprises the steps of:
- performing, by the contact center system, a first routine in relation to a previous voice interaction made by the first customer, wherein the previous voice interaction is made previous to the present voice interaction by the first customer, the previous voice interaction comprising the first customer being placed in the queue but ending before the first customer was connected to an agent as a result of a disconnection of the previous voice interaction between the first customer and the contact center system, the first routine comprising:
- receiving the previous voice interaction from the first customer utilizing a customer device via a network connected to a switch/media gateway of the contact center system, wherein the switch/media gateway comprises at least one of an automatic call distributor, a private branch exchange (PBX), or an IP-based software switch and that functions as a central switch for agent level routing within the contact center system;
- determining, via an automated process, a unique identifier in relation to the previous voice interaction, including extracting, with a call controller that includes computer-telephone integration software for interfacing with the switch/media gateway and that is connected to the switch/media gateway of the contact center system, that includes a session initiation protocol server for processing session initiation protocol communications, and that operates as an adapter between the switch/media gateway and a routing component of the contact center, data regarding the previous voice interaction;
- tracking a previous queue time for the previous voice interaction, the previous queue time comprising a wait time that the first customer accrues during the previous voice interaction waiting to be connected to the agent by the switch/media gateway;
- detecting an end to the previous voice interaction occurring without the first customer being connected to an agent as a result of the disconnection of the previous voice interaction between the first customer and the contact center system;
- determining the previous queue time accrued by the first customer given the detected end;
- saving in a database a previous voice interaction record related to the previous voice interaction, wherein the previous voice interaction record includes the previous queue time associated with the unique identifier;
- performing, by the contact center system, a second routine in relation to the present voice interaction of the first customer, the second routine comprising:
- receiving the present voice interaction from the first customer utilizing the customer device via the network connected to the switch/media gateway of the contact center system;
- determining, via the automated process, a unique identifier in relation to the present voice interaction, including extracting, with the call controller connected to the switch/media gateway, data regarding the present voice interaction;
- tracking a present queue time in relation to the present voice interaction, the present queue time comprising a wait time that the first customer accrues during the present voice interaction waiting to be connected to the agent by the switch/media gateway;
- using the unique identifier of the present voice interaction to check the database to determine whether the previous voice interaction record stored therein has a unique identifier that matches the unique identifier of the present voice interaction and is therefore indicative of a prospective reconnection attempt between the first customer and the contact center system;
- in response to confirming that the unique identifier of the present voice interaction matches the unique identifier of the previous voice interaction record, retrieving the previous voice interaction record and determining therefrom the associated previous queue time;
- measuring a time lag that occurs between the previous voice interaction and the present voice interaction and determining whether the measured time lag is less than a maximum allowable time lag;
- conditionally calculating an adjusted total queue time for the first customer based on whether the measured time lag is less than a maximum allowable time lag such that:
- if the measured time lag is less than the maximum allowable time lag, the present voice interaction is determined to be indicative of a reconnection attempt between the first customer and the contact center system and the adjusted total queue time is calculated as a sum of the present queue time and the previous queue time;
- and if the measured time lag is greater than the maximum allowable time lag, the adjusted total queue time is calculated as being equal to the present queue time;
- positioning the first customer in the queue based on a descending order of a relative value of the calculated adjusted total queue time for the first customer versus the adjusted total queue times calculated for the other ones of the customers;
- and
- routing the present voice interaction of first customer to a user device of an agent of the contact center system using the switch/media gateway of the contact center system, wherein the routing is ordered relative to routings of voice interactions of the other ones of the customers in accordance with the positioning of the first customer in the queue.