Abstract:
System and method for handling a transaction between a waiting party and queuing party include an independent communication system (ICS) managing calls between the waiting party and calling party for handling sensitive data as well as call-attached data. The ICS manages the transaction in different stages and with different levels of sensitivity. Either party is allowed to modify the call or call preferences during the transaction. The ICS works independently from the queuing party calling system.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation-in-part of U.S. application Ser. No. 13/943,362 having a filing date of Jul. 16, 2013, which itself is a continuation of U.S. application Ser. No. 12/400,932 having a filing date of Mar. 10, 2009, which itself claims priority from U.S. Provisional patent applications having Ser. Nos. 61/035,195 and 61/035,204, both filed Mar. 10, 2008 and is a Continuation-in-Part of U.S. Utility patent application Ser. No. 12/396,603, filed Mar. 3, 2009 which itself claims priority to Provisional Application Ser. No. 61/033,856, filed Mar. 5, 2008 and itself is a Continuation-in-Part of U.S. application Ser. No. 12/276,621 filed Nov. 24, 2008, which itself claims the benefit of U.S. Provisional Patent Application Ser. No. 60/989,908, filed Nov. 23, 2007, the disclosures of which are hereby incorporated by reference herein in their entireties and all commonly owned. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to communication call management and, more particularly, to call hold queuing in a contact center. 
       BACKGROUND 
       [0003]    To better appreciate needs satisfied by the teachings of the present invention, consider a scenario where a person calls a company or organization, with the intent of having a conversation with a representative of that company or organization. It is very likely that this person (referred to here as the “Waiting party”) will be put “on hold” to wait in queue before being connected to the representative (referred to here as the “Agent”) for a real-time conversation. 
         [0004]    Behind the scenes, the company or organization (referred to here as the “Queuing party”) uses a communication system to maintain a queue of people waiting for an agent (the “Agent Queue”). This communication system is referred to herein as the “Queuing Communication System” or “QCS” and may be referred to in the industry as an “ACD” (“Automatic Call Distributor”) or “Call Management System”. The QCS  135  connects waiting parties to Agents in a “first in, first out” basis, similar to the way a physical queue of people works. The queuing party  130  may have multiple Agent Queues that connect to different types of Agents depending on the phone number called, the time of day, or other criteria. (The term “Queuing party” is used collectively to indicate the company or organization being called, and could also be referred to as “Holding party” which is different from the “On-Hold party”.) 
         [0005]    Being put on hold is frustrating for the waiting party  120  because he has to keep his phone connection active (which may result in additional telephony costs and may result in missing other calls) and because he has to keep listening to the audio of the call to hear when it is his turn to talk to the Agent. At the same time, putting callers on hold is detrimental to the queuing party  130  because it means many phone lines have to remain open (which may result in additional telephony costs) and it leads to unhappy callers (which can have detrimental effects on business goals). 
         [0006]    According to the embodiments presented below, a better alternative to putting the waiting party  120  on hold is to give him the option for a call-back. That would work as follows: 
         [0000]    1) The waiting party  120  is offered by the queuing party  130  the option of a call-back from an agent. This can be through an audio message that the waiting party  120  hears after dialing the queuing party  130 , or it can be a visual message that the waiting party  120  sees on a website or mobile app. If he chooses that option he can give the system a Voice Address for the call-back (typically a phone number).
 
2) After making the request, the waiting party  120  does not have to be on the phone. He can make better use of his time while waiting for the call-back.
 
3) When the waiting party  120  turn arrives, he receives a call from the queuing party  130  and is connected to the Agent.
 
The approach outlined above is called “virtual queuing”. A critical aspect of virtual queuing is that the waiting party place in the Agent Queue is maintained so that choosing a call-back does not result in a longer wait for the waiting party  120 .
 
         [0007]    Over the years, a variety of prior art approaches have been proposed for virtual queuing including U.S. Pat. Nos. 5,436,967, 5,185,782, and 5,155,761. One flaw that all these approaches share is that they require customization of, modification to, or integration with the existing QCS. Since there is a large variety of hardware and software used for the QCS, this adds significant time and cost, which has hindered the wide-scale use of virtual queuing. 
       SUMMARY 
       [0008]    Embodiments presented herein, by way of example, provide a system and method which allow a queuing Communication System (QCS) to be improved by adding virtual queuing functionality, by which it is meant that a waiting party  120  can choose to reach an agent by requesting a call-back rather than waiting on hold and can do so in a way that his request is processed by the QCS in a similar manner to calls typically received by the QCS. 
         [0009]    Embodiments of the invention presented herein, by way of example, provide a system and method in a form of an Independent Communication System (ICS). The term “independent” is herein intended to mean that the ICS is not operated by the queuing party but rather by a third party service provider (e.g. a hosted contact center, telephony carrier, ILEC, or CLEC). 
         [0010]    Further, embodiments presented herein provide such a system and method in a way that performs a call-back to the waiting party using a Call-back Voice Address, which can be a phone number, a VoIP address, a SIP address, a Skype address, or other communication or messaging address. 
         [0011]    Further, embodiments presented herein provide such a system and method that maintains call-attached data (commonly known as CTI data, but could refer to any data collected during the call transaction), during the virtual queuing process. 
         [0012]    Yet further, embodiments presented herein provide such a system and method by sending calls to and receiving calls from a cloud-based service, by which it is meant that no hardware or software needs to be installed locally to the QCS. 
         [0013]    Further, embodiments presented herein provide such a system and method where the ICS communicates with the QCS in a way that any “sensitive data” is secured through encryption. In this case, “sensitive data” refers to any data going to or from the waiting party and including Media data (which includes audio, video, or DTMF tones) or Signaling Data or Call-Attached data. One goal of the encryption is that anyone intercepting data that travel between the ICS and QCS would not be able to extract any valuable information. 
         [0014]    Further, embodiments presented herein provide such a system and method by sending calls to and receiving calls from the ICS via a Local Media Appliance (LMA), which is a hardware or software apparatus with a protected connection to the QCS. For example, the LMA and QCS could be on the same local network, or connected by secure VPN. The LMA sends and receives signaling and media data between the QCS and ICS (typically via the TCP or UDP protocols). 
         [0015]    Embodiments presented herein provide such a system and method by sending calls to and receiving calls from the ICS using Voice over Internet Protocol (VoIP) via protocols such as SIP, H.323, RTP, etc. 
         [0016]    Embodiments presented herein provide such a system and method by sending calls to and receiving calls from the ICS using Secure VoIP via protocols such as SIPS, SRTP, etc. 
         [0017]    Embodiments presented herein provide such a system and method in a way that the waiting party has a visual interface (for example, on a computer or mobile device interface) that provides real-time feedback about the status of the call. 
         [0018]    Embodiments presented herein is to provide such a system and method in a way that allows the collection of statistics (such as average hold time) and to report those statistics to the waiting party and the queuing party, or a third party. 
         [0019]    Embodiments presented herein provide such a system and method in a way that allows the waiting party to schedule a call-back from the queuing party for a time range in the future, rather than as-soon-as-possible. 
         [0020]    Embodiments presented herein provide such a system and method in a way that allows either party to modify the call, while virtual queuing is in progress. For example, the waiting party may change his call-back address, or cancel the request. 
         [0021]    Yet further, embodiments presented herein provide such a system and method in a way that automatically selects a call-back address based on information stored about the waiting party. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0022]    Embodiments of the invention are described by way of example with reference to the accompanying drawings in which: 
           [0023]      FIG. 1  is an exemplary representation of parties involved in virtual queuing with an ICS; 
           [0024]      FIG. 2  is an exemplary representation of an interface for phase 1 (Sign-up) according to one embodiment; 
           [0025]      FIG. 3  is an exemplary representation of a connection diagram for phase 1 with In-Call sign-up according to one embodiment (SIP and RTP are used here as an illustrative example of a VoIP protocol); 
           [0026]      FIG. 4  is an exemplary representation of an Interface for phase 2 (Confirmation). A) Using just a phone call, B) web interface, C) mobile interface according to one embodiment; 
           [0027]      FIG. 5  is an exemplary representation of a connection diagram for phase 2/the agent leg according to one embodiment (SIP and RTP are used here as an illustrative example of a VoIP protocol); 
           [0028]      FIG. 6  is an exemplary representation of connecting to the right agent queue via an IVR according to one embodiment; 
           [0029]      FIG. 7  is an exemplary representation of connecting to the right agent queue via A) DID or B) SIP according to one embodiment, wherein SIP is used here as a non-limiting example of a VoIP protocol; 
           [0030]      FIG. 8  is an exemplary representation of a connection diagram for phase 3/the Waiting Party leg according to one embodiment (SIP is used here as an illustrative example of a VoIP protocol; 
           [0031]      FIG. 9  is an exemplary representation of setting up VoIP addresses according to one embodiment, wherein SIP is used here as a non-limiting example of a VoIP protocol; 
           [0032]      FIG. 10  is an exemplary representation of connections and SIP dialog for phase 1 according to one embodiment, wherein SIP is used here as a non-limiting example of a VoIP protocol; 
           [0033]      FIG. 11  is an exemplary representation of connections and dialog for phase 3 according to one embodiment, wherein SIP is used here as a non-limiting example of a VoIP protocol; 
           [0034]      FIG. 12  is an exemplary representation of connections and dialog for phase 5 according to one embodiment, wherein a case is illustrated where the call-back address is a PSTN phone number, and wherein the SIP and RTP are used here as illustrative examples of VoIP protocols; 
           [0035]      FIG. 13  is an exemplary representation of SIP dialog for the end of the transaction according to one embodiment (SIP is used here as an illustrative example of a VoIP protocol); 
           [0036]      FIG. 14  is an exemplary representation of using automatic number identification (ANI) data as a key for referencing larger call-attached data according to one embodiment; 
           [0037]      FIG. 15  is an exemplary representation of a Local media Appliance (LMA), wherein SIP and RTP are used here as illustrative examples of VoIP protocols according to one embodiment; 
           [0038]      FIG. 16  is an exemplary representation of connections and SIP dialog for Phase 1 with an LMA according to one embodiment, wherein SIP and RTP are used here as non-limiting examples VoIP protocols; 
           [0039]      FIG. 17  is an exemplary representation of connections and SIP dialog for phase 3 with the LMA according to one embodiment, wherein SIP and RTP are used here as non-limiting examples VoIP protocols; 
           [0040]      FIG. 18  is an exemplary representation of SIP dialog for the end of the transaction with the LMA according to one embodiment, wherein SIP and RTP are used here as illustrative examples of VoIP protocols; 
           [0041]      FIG. 19  is an exemplary representation of interface used by the Waiting Party to see call-back status according to one embodiment; 
           [0042]      FIG. 20  is an exemplary representation of interface used by the Waiting Party to schedule a call-back in advance according to one embodiment; and 
           [0043]      FIG. 21  is an exemplary representation of interface used by the Waiting Party to change call-back address or cancel according to one embodiment. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0044]    The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown by way of illustration and example. This invention may, however, be embodied in many forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numerals refer to like elements. 
         [0045]    In carrying out the above objects, and other objects, the embodiments presented herein provide a system referred to as the Independent Communication System (ICS). The ICS  110  interoperates with a communication network (typically the PSTN or the public Internet) and with the queuing Communication System (QCS) of a particular queuing party  130  (typically a company or organization). 
         [0046]    A typical transaction comprises 6 phases: Sign-up, Confirmation, Queuing, Agent Prompt, Call-back, and Connection. 
         [0047]    Phase 1: Sign-Up 
         [0048]    Referring to  FIG. 1 , an independent communication system (ICS)  110  is between a waiting party  120  and a queuing party  130  having a queuing communications system (QCS). In the first phase of the transaction, the waiting party  120  chooses to receive a call-back rather than waiting on hold (i.e. he chooses virtual queuing). That choice can be made in different ways, depending on how the waiting party  120  interaction with the queuing party  130  begins. In some embodiments presented herein, the waiting party  120  will: 
         [0000]    A) call the queuing party  130  first, hear an audio prompt from a phone system offering virtual queuing, and choose that option, while in other embodiments he will
 
B) click a button on a web page (typically on the “Contact Us” page of the queuing party  130  website), while in other embodiments he will
 
C) press a button on a mobile application. See  FIG. 2 .
 
         [0049]    Case “A” above is referred to as an “In-Call Sign-Up”. In that case, the QCS  135  transfers the call that is in progress to the ICS. The transfer to the ICS  110  can be to a remote server over the public Internet (i.e. a “cloud” approach) or to a Local Media Appliance (LMA)  140  that is on a protected network with the ICS. The transfer can be made over the PSTN, or via a VoIP protocol over the network. See  FIG. 3 . 
         [0050]    Because cases “B” and “C” above involve a visual interface, the waiting party  120  can view a menu that corresponds to the IVR options that would be encountered if the waiting party  120  had called the QCS  135  directly. In some embodiments, this “Visual IVR” is integrated with the visual interface used to request a call-back. 
         [0051]    Phase 2: Confirmation 
         [0052]    In the next phase, the ICS  110  interacts directly with the waiting party  120  to confirm that he wants a call-back and to collect the Voice Address for the call-back (the call-back address). In the case of In-Call Sign-Up, this confirmation is done via audio prompts using a phone system. In the case of web or mobile transactions, this confirmation is done using web or mobile visual interfaces, respectively. At this point, the waiting party  120  no longer has an active connection to either the ICS  110  or QCS. See  FIG. 4 . 
         [0053]    In some embodiments, the call-back address is selected automatically based on information passed over the network (such as the ANI or VoIP information) and/or information that identifies the Data Device (such an IP address, Mobile Device ID, IMEI, or a browser cookie) and/or information about the waiting party  120  stored in a database accessible by the ICS  110  (such as the last call-back address used). 
         [0054]    In some embodiments, additional information could also be automatically gathered from the waiting party  120  during this phase (e.g. geolocation data, contextual information, IP address, Mobile Device ID, IMEI, or a browser cookie). 
         [0055]    In some embodiments, additional questions could be asked of the waiting party  120  (e.g. an ID number or a reference number). 
         [0056]    Phase 3: Queuing 
         [0057]    In this phase, the ICS  110  connects to the QCS  135  to wait in the Agent Queue on behalf of the waiting party  120  (The act of maintaining a position in the queue on behalf of someone is what makes this “virtual” queuing). The connection between the ICS  110  and QCS  135  at this stage is called the “Agent Leg”. Note that the waiting party  120  is not involved during this stage. 
         [0058]    Referring to  FIG. 5 , in some embodiments, the connection is: 
         [0000]    A) a call through the PSTN, while in other embodiments it is,
 
B) a VoIP call which transits the public internet, or
 
a heterogeneous network (e.g. leased line, L2/L2TP, VPN) while in other embodiments it is,
 
C) a VoIP call from a local media appliance (LMA) that is on a protected network with the QCS, while in other embodiments it is,
 
D) a direct data connection from a local media appliance (LMA) that is on a protected network with the QCS (e.g. via PRI, T1). See  FIG. 5 , by way of example.
 
         [0059]    In order to minimize the integration work with the QCS  135  (and maximize compatibility with different types of QCSs), the connection from ICS  110  to the QCS  135  should simulate as closely as possible a connection from the waiting party  120 . 
         [0060]    In some embodiments, this process may involve navigating an IVR that is part of the QCS  135  in order to get to the proper queue. This navigation can be done by the ICS  110  in an automated manner by sending DTMF tones or Voice Cues to the QCS. In some embodiments, the ICS  110  may perform this navigation using a map of the IVR. This navigation may involve using some of the information provided by the waiting party  120  during Phase 2 (e.g. an ID number). See  FIG. 6 . 
         [0061]    In some embodiments, the ICS  110  may instead connect to the Agent Queue directly, through a dedicated voice address (which can be a DID or SIP address) which is provided by the queuing party  130 . See  FIG. 7 . 
         [0062]    Phase 4: Agent Prompt 
         [0063]    As time passes, the position held in the Agent Queue by the ICS  110  advances forward. When it reaches the front of the line, the Agent will answer the call. At this point, the ICS  110  must inform the agent that a waiting party  120  is being called back and will be connected soon. In some embodiments, this is done by playing an automated audio message, referred to here as the “Agent Prompt”, for the Agent to hear. An example Agent Prompt might be “There is a customer waiting. Please stand-by.” 
         [0064]    In some embodiments, the ICS  110  can wait for an Agent Acknowledgement via a DTMF tone or voice command. In this case an example Agent Prompt might be “There is a customer waiting. Press 1 to connect.” 
         [0065]    In some embodiments, the ICS  110  can play an audio message (an “Agent Whisper”) for the agent with information about the waiting party  120 . An example message might be “There is a customer waiting. Case number is 1234. Please press 1 to connect.” 
         [0066]    In some embodiments, the ICS  110  detects the transition from the on-hold state to the live agent state by continually processing the audio and searching for certain cues. 
         [0067]    In some embodiments, the ICS  110  detects the transition from the on-hold state to the live agent state by receiving VoIP signaling information from the QCS  135  (e.g. a SIP message). 
         [0068]    Phase 5: Call-Back 
         [0069]    During this phase the QCS  135  calls the waiting party  120  at the call-back address. This is referred to as the “Waiting party Leg”. 
         [0070]    The waiting party  120  Leg is initiated in some embodiments when: 
         [0000]    A) the ICS  110  connects to the Agent, or in other embodiments when
 
B) the ICS  110  connects and either receives an Agent Acknowledgment or detects that the on-hold state has ended, or in other embodiments when
 
C) the QCS  135  sends a signal to the ICS  110  that the waiting party  120  in question is close to or at the end of the queue, or in other embodiments when
 
D) The ICS  110  estimates that the waiting party  120  in question is close to or at the end of the queue, based on information from the QCS  135  or based on past statistics.
 
         [0071]    Cases A and B above are examples of “Agent First Call-back” where the Agent is notified first (via the Agent Prompt) and then (typically after an Agent Acknowledgement) the waiting party  120  is called and connected. The Agent must wait until the waiting party  120  answers. 
         [0072]    Cases C and D above are examples of “Waiting party First Call-Back”. The waiting party  120  is called and then hears a waiting party Prompt (e.g. “We are connecting you to an agent. Please stand-by.”). The waiting party  120  must wait until the Agent answers. 
         [0073]    If the Call-Back Number is a PSTN phone number then, in some embodiments, this call will be initiated from the ICS  110  as: 
         [0000]    A) a PSTN call, using the ICS&#39;s connection to the PSTN, or in other embodiments as
 
B) a VoIP call, sent to the QCS  135  and then to the PSTN using the QCS&#39;s normal outbound dialing infrastructure, or in other embodiments as
 
C) a software command to a Local Media Appliance (LMA) which can then connect to the QCS  135  (using VoIP, PRI or other methods) and then to the PSTN using the QCS&#39;s telephony connection.
 
         [0074]    In cases where the Call-Back number is a VoIP address, this call will be initiated from the ICS  110  as: 
         [0000]    D) a VoIP call sent from the ICS  110  over the public internet or over a heterogeneous network (e.g. leased line, L2/L2TP, VPN), or other embodiments as
 
E) a VoIP call sent from the ICS  110  to the QCS  135  and then routed to the public internet, or in other embodiments as
 
F) a software command to a Local Media Appliance (LMA) which can then connect to the QCS  135  (using VoIP, PRI or other methods) and initiate a VoIP call.
 
       See FIG. 8. 
       [0075]    In cases where the Call-Back number is a Skype address, or an address for another proprietary communication protocol, this call will be initiated from the ICS  110  to an appropriate gateway for that protocol or from the ICS, via a LMA, and then to the appropriate gateway. 
         [0076]    Phase 6: Connection 
         [0077]    At this stage, there are two active calls (or legs): the Agent Leg and the waiting party Leg, each comprising a Media and signaling channel. The ICS  110  then “bridges” the two legs, meaning that the calls are connected to one another. 
         [0078]    In some embodiments, the ICS  110  remains connected throughout the conversation as a silent party on the call. In other embodiments, the ICS  110  updates the two calls, altering the Media path of both calls to remove the ICS  110  from the Media path. 
         [0079]    VoIP Transaction Details 
         [0080]    In some embodiments, the ICS  110  uses VoIP communication protocols to connect with the QCS. For every Agent Queue that will participate in virtual queuing, one VoIP address is allocated at the QCS  135  and one VoIP address is allocated at the ICS. See  FIG. 9 . 
         [0081]    During Phase 1, the QCS  135  will transfer the call to the appropriate VoIP address on the ICS, using dialog similar to that shown in  FIG. 10 . 
         [0082]    During Phase 3, the ICS  110  will connect to the appropriate VoIP address on the QCS, using dialog similar to that shown in  FIG. 11 . 
         [0083]    During Phase 5, the ICS  110  will initiate the waiting party Leg by starting a VoIP call to the QCS  135  which will then make a call to the waiting party  120  using the appropriate protocol for the call-back address given. See  FIG. 12 . 
         [0084]    The ICS  110  and QCS  135  will disconnect when either party ends the call, using dialog similar to that shown in  FIG. 13 . 
         [0085]    PSTN Transaction Details 
         [0086]    In some embodiments, the ICS  110  uses the PSTN (public switched telephone network) to connect with the QCS. For every Agent Queue that will participate in virtual queuing, the QCS  135  can designate a DID exclusively for use by the ICS. 
         [0087]    During Phase 1, the QCS  135  will transfer the call to a dedicated DID (Direct Inward Dial) number allocated at the ICS  110  for the QCS. 
         [0088]    During Phase 3, the ICS  110  will connect either to a dedicated DID number on the QCS, or to the main DID of the QCS  135  (typically the same toll free number that customers would use). In either case, the ICS  110  may have to navigate through the IVR of the QCS. This can be done through “deep dialing” as described in patent Ser. No. 12/400,932 “System and Method for Externally Mapping an IVR Menu”. 
         [0089]    During Phase 5, the ICS  110  will initiate the waiting party  120  Leg calling the Voice Call-Back address through the PSTN, or using other methods appropriate for the Voice call-back address given as per Paragraphs 73-75 above. 
         [0090]    Maintaining Call-Attached Data 
         [0091]    In some cases, during Phase 1, the QCS  135  will gather information from the waiting party  120 , such as a Client ID or Case number, via an IVR application. This information is referred to here as “call-attached data”. (This information is also sometimes called “CTI Data” or “User-to-User Information” in the industry.) Typically, the QCS  135  will keep this data associated with or “attached to” the call as it moves through the system so that the data can be used to display relevant information on the Agent&#39;s screen. (The appearance of such information on the Agent&#39;s screen is commonly called a “Screen Pop”.) If the call is handed off to an ICS  110  for virtual queuing, as described here, the Call-Attached data will be lost, unless specific arrangements are made. 
         [0092]    In some embodiments, the ICS  110  can use VoIP data to maintain the call-attached data. For example, in Phase 1, as per  FIG. 10 . Above, the call-attached data would be part of the SIP headers (if SIP is being used) in the INVITE request and would be labeled with a Header Field Name such as “User-to-User”. Then in Phase 3, as per  FIG. 11  above, the call-attached data would then be passed back to the QCS  135  in a similar INVITE request. 
         [0093]    In some embodiments, the QCS  135  can pass a limited amount of call-attached data to the ICS  110  over the PSTN using the ANI (Automatic Number Identification) standard. Because the ANI standard was designed to pass along the caller&#39;s phone number, there is a limitation on how many digits can be passed. In some embodiments, alternate standards like DNIS and CLI may be used in place of ANI. 
         [0094]    In other embodiments, the ANI (or equivalent standard) can be used as a “key” to retrieve the call-attached data from another source. This approach is helpful if the call-attached data requires more digits than allowed in the ANI (or equivalent standard). For example, this can be accomplished by creating a database attached to the QCS  135  that stores key-value pairs where the key is the number passed by ANI (or equivalent standard) and the value is the call-attached data. See  FIG. 14 . 
         [0095]      FIG. 14  is an exemplary representation of using the ANI data as a key for referencing larger call-attached data. A PSTN call comes in to the QCS and is added to the internal queue along with call-attached data. (That data may come from the ANI, IVR interactions, etc.) If the caller opts for a call-back, a record is added to a local database that associates the call-attached data with a unique key that meets the specifications of ANI. (ANI is used here as illustrative example of a data format passed along with a phone call.) The call is transferred to the ICS using the ANI-style key. When the agent is ready to take the call, the ICS initiates new PSTN calls to the WP and to the QCS. The call to the QCS uses the key from step B as its ANI. The QCS uses the database from step B to re-attach the appropriate data to the call. The call and its attached data are then passed to the agent. 
         [0096]    In cases where the ANI (or equivalent standard) is used to communicate between the QCS  135  and ICS  110  as a strategy for maintaining call-attached data, an additional step can be taken to increase security. The actual ANI is replaced with a number (the “Temporary Key”), generated at the QCS, and associated temporarily with the actual ANI during that particular transaction. The Temporary Key must conform to the ANI format (or equivalent standard). 
         [0097]    In other embodiments, the QCS  135  and ICS  110  can share call-attached data in a manner that is decoupled from the call. For example, the data can be passed via a web service, API, or custom protocols. 
         [0098]    Encryption and Security Details 
         [0099]    In some embodiments, the ICS  110  communicates with the QCS  135  using secure VoIP protocols (such as SIPS, SRTP, etc.) so that all data passing between the ICS  110  and QCS  135  is encrypted. Thus, anyone attempting to intercept data that travels between the ICS  110  and QCS  135  would not be able to extract the Media content or other meaningful information. 
         [0100]    Local Media Appliance Details 
         [0101]    In some embodiments presented herein, calls are routed via a local media appliance (LMA), which is a hardware or software apparatus with a protected connection to the QCS. (For example, the LMA  140  and QCS  135  could be on the same local network, or connected by secure VPN.) The LMA  140  sends and receives signaling and media data between the QCS  135  and ICS  110  (typically via the TCP or UDP protocols). See  FIG. 15 . 
         [0102]    During Phase 1, the QCS  135  will transfer the call to the LMA  140  (for example to a VoIP address or a PRI extension), as shown in  FIG. 16 . 
         [0103]    During Phase 3, the ICS  110  will communicate with the LMA  140  using VoIP protocols. Then the LMA  140  will communicate with the QCS  135  using VoIP protocols or PRI. This transaction is shown in  FIG. 16 . 
         [0104]    The ICS, QCS  135  and LMA  140  will disconnect when either party disconnects, as shown in  FIG. 18 . 
         [0105]    The advantages of the LMA  140  include A) allowing the ICS  110  to provide virtual queuing functionality to the QCS  135  without requiring any “sensitive” media to go between the QCS  135  and ICS  110 . In this case, “sensitive” media means any data going to or from the waiting party  120  and which typically appears during Phase 6. Many industries (for example financial and healthcare) have regulations that require a high level of security for such data. In some cases, even encryption of the sensitive media (as described above) is not sufficient to satisfy security requirements. By using an LMA, the queuing party  130  can be certain there is no risk of the sensitive media being intercepted because that Media never leaves protected network of the LMA. Other, non-sensitive media may travel between the QCS  135  and ICS  110  without security concerns. For example, the media during Phase 3 includes what a person would hear while waiting on hold with the queuing party  130  (typically “hold music”). B) reducing bandwidth requirements between the ICS  110  and QCS; and C) reducing latency between the ICS  110  and QCS  135  (because the LMA  140  is typically close to the QCS  135  from a network perspective), which helps maintain high Media quality. 
         [0106]    Reporting Status to Waiting Party 
         [0107]    In some embodiments, the ICS  110  interacts with the waiting party  120  using a visual interface via a website or mobile application. In these embodiments, the ICS  110  can report to the waiting party  120  the status of the request for a call-back. The data reported may include the state (which may indicate, for example, which phase of the process is current), the time spent on hold so far or the average hold time for the queuing party  130  in question. See  FIG. 19 . 
         [0108]    Collecting Aggregate Statistics 
         [0109]    As the ICS  110  is used by many waiting Parties over many days, it is possible for aggregate statistics to be collected about the average hold time for the queuing party  130  and how it varies based on time of day, day of the week, or time of the year. In some embodiments, the ICS  110  could use this information to report to the waiting party  120  the Estimated waiting Time (EWT) to reach an Agent. In some embodiments, the ICS  110  could advise the waiting party  120  when to schedule a call for such that the waiting time is shortest. 
         [0110]    Advanced Scheduling 
         [0111]    In some embodiments, the ICS  110  can allow the waiting party  120  to schedule a call to a queuing party  130  in advance. The advantage of this to the queuing party  130  is that it can help to distribute demand for its Agents throughout the day. The advantage of this to the waiting party  120  is that the call-back can be set up to correspond with a convenient time. See  FIG. 20 . 
         [0112]    Redirecting Calls 
         [0113]    In some embodiments, the ICS  110  can allow the waiting party  120  to change the call-back address after the call request has been made. The advantage of this is it gives the waiting party  120  more flexibility while waiting for the Call-Back, thus further reducing the frustration of waiting for an agent. See  FIG. 21   a.    
         [0114]    In some embodiments, the ICS  110  can allow the waiting party  120  to reschedule the call for a later time or date. 
         [0115]    In some embodiments, the ICS  110  can allow the agent to redirect the call. For example, prior to accepting the call, an Agent may choose to redirect the call to an alternate queue, or an alternate communication channel. 
         [0116]    In some embodiments, the ICS  110  can allow the Agent to reschedule the call for a later time or date. 
         [0117]    The Waiting Party can Cancel Call 
         [0118]    In some embodiments, the ICS  110  can allow the waiting party  120  to cancel the call after the call request has been made. The advantage of this is it means a position won&#39;t be held in the Agent Queue for waiting party  120  that no longer wants it or needs it, thus making more efficient use of resources. See  FIG. 21   b.    
         [0119]    Although the invention has been described relative to various selected embodiments herein presented by way of example, there are numerous variations and modifications that will be readily apparent to those skilled in the art in light of the above teachings. It is therefore to be understood that, within the scope of the claims hereto attached and supported by this specification, the invention may be practiced other than as specifically described.