Queue-based seat ringing implementation method, terminal equipment and storage medium
By building call link lists and available agent checklists, and real-time monitoring and polling agent status, the problem of long wait time for customers in traditional queue systems is solved, and the utilization rate of agent resources and customer satisfaction are improved.
Patent Information
- Application Number
- CN202411226269.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2024-12-13
AI Technical Summary
The traditional telephone queue system causes customers to wait for a long time during peak hours and cannot contact the agent in time, affecting customer satisfaction and business opportunities.
By building a call link list and available agent checklist, the status of each agent is monitored in real time, polling available agents using fixed time intervals, calling available agents in time, and removing unresponsive callers within the expiration time, improving the utilization of agent resources.
Real-time monitoring of the status of each seat is achieved, reducing customer waiting time, improving the utilization rate of seat resources, and improving customer satisfaction.
Smart Images

Figure CN119135804A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network calls, and in particular to a queue-based agent ringing implementation method, terminal equipment and storage medium. Background Art
[0002] With the development of communication technology, especially the widespread application of VoIP and SIP protocols, telephone queue systems have become a core component of customer service centers and call centers. After calling an agent, the traditional queue system must wait until the current round of ringing times out before calling the next round of agents. In addition, the agent may be idle during certain periods, but the customer cannot contact the agent in time because they do not know the agent's status. Therefore, traditional solutions have some limitations, especially in agent resource allocation and response time. During peak hours, customers may have to wait a long time to establish contact with the agent, which may lead to reduced customer satisfaction and loss of business opportunities, affecting user performance. Summary of the invention
[0003] In order to solve the above problems, the present invention proposes a queue-based agent ringing implementation method, terminal equipment and storage medium.
[0004] The specific plan is as follows:
[0005] A method for realizing agent ringing based on a queue comprises: adding an incoming caller to a queue, and making an agent call for the caller through the following steps;
[0006] S1: Based on all the seats corresponding to the queue at the time when the caller joins the queue, a call chain list is constructed, and the seat status of each seat is recorded at each node of the call chain list; the seats in the call chain list whose seat status is available are called, and the seats in the call chain list whose seat status is unavailable are added to the available seat check chain list;
[0007] S2: polling the available seat check list at a fixed time interval, and determining whether there is an available seat in the available seat check list, and if so, setting a flag of whether there is a new available seat to indicate that there is a new available seat;
[0008] S3: determining at regular intervals whether there is a new available seat identifier indicating a new available seat; if so, calling all available seats in the currently available seat check list.
[0009] Furthermore, when a caller makes a seat call, the caller must be at the head of the queue and the current time exceeds the expiration time of the caller; the expiration time is calculated based on the configured maximum waiting time and the time when the caller joins the queue.
[0010] Furthermore, when judging whether there is an available seat in the check list, the seat container is used to judge whether there is an available seat; the seat container records all seats corresponding to the current queue and the current seat status of each seat.
[0011] Furthermore, before polling the available seat check list in step S2, it is first determined whether there are new seats in the seat container at the current time relative to the last polling time. If so, all new seats are added to the available seat check list.
[0012] Furthermore, each node of the call list also records an indicator of whether the agent actively hangs up in the current call round; in each call round, if an agent actively hangs up when being called, the indicator of whether the agent actively hangs up in the current call round corresponding to the agent is modified to indicate active hang-up, and after the call round ends, the indicator of whether the agent actively hangs up in the current call round corresponding to the agent is modified to indicate not actively hang up; when calling all agents in the current state of agents in step S3, if the indicator of whether the agent to be called actively hangs up in the current call round recorded in the call list indicates active hang-up, the agent will not be called.
[0013] Furthermore, in step S3, the ringing end time when calling all agents in the current state is the ringing end time of the corresponding call round; the ringing end time of the corresponding call round is calculated based on the time of calling the first agent in the call round.
[0014] Furthermore, when the agent status is available, four conditions must be met at the same time, namely: the agent has not turned on the do not disturb function, the agent has not restricted the queue incoming calls, the agent is not in the rest time, and the agent is not in a call.
[0015] Furthermore, the call list is updated only when a new agent is added to the queue; the available agent check list is cleared after determining that there is a new available agent and the call is completed, and is rebuilt at the next polling.
[0016] A terminal device for implementing a queue-based agent ringing includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method described above in the embodiment of the present invention are implemented.
[0017] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method described above in an embodiment of the present invention are implemented.
[0018] The present invention adopts the above technical solution, which can monitor the seat status of each seat in real time, improve the utilization rate of seat resources, and reduce customer waiting time. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 Shown is a flow chart of a method according to a first embodiment of the present invention. DETAILED DESCRIPTION
[0020] To further illustrate various embodiments, the present invention provides drawings. These drawings are part of the disclosure of the present invention, which are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these contents, ordinary technicians in this field should be able to understand other possible implementations and advantages of the present invention.
[0021] The present invention will now be further described with reference to the accompanying drawings and specific implementation methods.
[0022] Embodiment 1:
[0023] The embodiment of the present invention provides a method for realizing agent ringing based on a queue, such as Figure 1 As shown, the method includes adding an incoming caller to a queue, and making an agent call for the caller through steps S1-S3.
[0024] In this embodiment, when a caller makes a seat call, the caller must be at the top of the queue and the current time must exceed the caller's expiration time. The expiration time is calculated based on the configured maximum waiting time (such as 30 minutes) and the time when the caller joined the queue.
[0025] When callers join the queue, they are sorted in the order of first-in-first-out, and the current time is judged in real time whether it exceeds the expiration time of each caller in the queue. If it exceeds, the caller is removed from the queue. When an agent calls a caller, the call duration is limited to the expiration time. If the caller exceeds the expiration time, it is removed from the queue, and the agent calls the caller who is ranked first in the queue at this time.
[0026] Each caller can go through multiple call rounds during the agent call process. The duration of each call round corresponds to the single maximum ringing duration of each agent (such as 30 seconds). There can be no interval between adjacent call rounds, or an interval time can be set (such as 10 seconds). It can be set according to specific business needs and is not restricted here.
[0027] The ringing strategy adopted in this embodiment is simultaneous ringing, that is, all available seats are dialed at the same time.
[0028] In step S1, based on all the seats corresponding to the queue at the time when the caller joins the queue, a call list outgoing is constructed, and the seat status of each seat is recorded at each node of the call list; a call is made to the seat whose seat status is available in the call list, and at the same time, the seat whose seat status is unavailable in the call list is added to the available seat check list check_members.
[0029] In this embodiment, the agent status includes available and unavailable. In this embodiment, when the agent status is available, four conditions must be met at the same time, namely: the agent has not turned on Do Not Disturb, the agent has not restricted queue incoming calls (when the queue incoming calls are restricted, external callers cannot call in, but internal extensions can still call in), the agent is not in rest time (according to business needs, each agent needs to wait for a period of time before continuing to call after answering, to provide business personnel with rest time) and the agent is not in a call.
[0030] It should be noted that, with the change of time, the seats corresponding to the queue may change, for example, some seats may be deleted, new static seats may be added or dynamic seats may be signed in (i.e., new seats are added), and the call list records all the seats at the time when the caller joins the queue, and the corresponding seat status is also the seat status at the time when the caller joins the queue.
[0031] Furthermore, in order to represent the information of all seats corresponding to the queue at each moment in real time, a seat container is constructed in this embodiment, and the seat container changes (updates) in real time based on the reduction or increase of seats, that is, it reflects all seats corresponding to the current queue. In addition, the seat container also records the current seat status of each seat.
[0032] In step S2, the available seat check list is polled at a fixed time interval, and it is determined whether there is a seat in the seat check list whose seat status is currently available. If so, the flag of whether there is a new available seat is set to indicate that there is a new available seat (such as 1); if not, wait for the next polling.
[0033] In this embodiment, the fixed time interval is set to 0.02 seconds, that is, polling is performed once every 0.02 seconds.
[0034] When the flag of whether there is a new available seat is set to indicate that there is a new available seat, after dialing the new available seat, the flag of whether there is a new available seat is set to an initial state (such as 0).
[0035] In this embodiment, the method for determining whether there is a seat in the seat check list whose seat status is currently available is: recording all seats corresponding to the current queue and the current seat status of each seat through the seat container; traversing the seat check list; searching for a seat with an available seat status from the seat container according to the name of the seat, and if found, it means that it exists.
[0036] It should be noted that the seat check list records all seats whose status is unavailable when the caller joins the queue. As time goes by, the seats corresponding to the queue may change, and the seat status of each seat may also change. Therefore, the seats recorded in the seat check list are judged based on the current seat status recorded by the seat container to determine whether there are new callable seats. In addition, before polling the available seat check list, first determine whether there are new seats in the seat container at the current time relative to the previous polling time. If so, all new seats are added to the available seat check list. Since the fixed time interval in this embodiment is set to 0.02 seconds, the previous polling time is 0.02 seconds before the current time.
[0037] In step S3, it is determined at regular intervals whether there is a new available seat. If so, all seats in the currently available seat check list that are in the available state are called.
[0038] The judgment is made at the fixed time interval, that is, once every 0.02 seconds.
[0039] In this embodiment, the update strategy of the call chain table is set as follows: the update is performed only when there is a new seat corresponding to the queue (no update is performed when a seat is deleted), and the new seat is added to the call chain table during the update, and the seat status of each seat in the call chain table is updated at the same time. The call chain table is released when the time reaches the expiration time of the caller.
[0040] The available agent check list is cleared after determining that there is a new available agent and completing the call, and is rebuilt at the next polling based on the agents in the call list whose status is unavailable.
[0041] Furthermore, in this embodiment, special settings are made for the situation where the agent actively hangs up, that is, each node in the call chain table also records whether the agent actively hangs up in the current call round. In each call round, if a certain agent actively hangs up when being called, the agent's current call round active hang-up flag corresponding to the agent is modified to indicate active hang-up (such as 1), and after the call round ends, the agent's current call round active hang-up flag corresponding to the agent is modified to indicate no active hang-up (such as 0); in step S3, when calling all agents in the current moment, if the agent to be called has the current call round active hang-up flag recorded in the call chain table indicating active hang-up, the agent is not called. In addition, when calling all agents in the current moment, the ringing end time is the corresponding call round ringing end time. The corresponding call round ringing end time is calculated based on the time of calling the first agent in the call round. For example, if the call turn duration configured by the customer is 30 seconds, there are two agents in the queue, one available and one unavailable (for example, they are talking on a call with another extension). When the caller calls in to the queue, there is only one available agent A. After the call of agent 1 rings for 15 seconds, the previously unavailable agent B also becomes available. At this time, the call to agent B will only ring for the remaining 15 seconds.
[0042] The embodiment of the present invention can monitor the status of each seat in real time and immediately trigger a ring when an available seat is available, thereby improving the utilization rate of seat resources and reducing customer waiting time.
[0043] Embodiment 2:
[0044] The present invention also provides a terminal device for implementing a queue-based agent ringing, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps in the above-mentioned method embodiment of embodiment 1 of the present invention when executing the computer program.
[0045] Further, as an executable solution, the terminal device for implementing the agent ringing based on the queue may be a computing device such as a desktop computer, a notebook, a PDA, and a cloud server. The terminal device for implementing the agent ringing based on the queue may include, but is not limited to, a processor and a memory. Those skilled in the art can understand that the composition structure of the terminal device for implementing the agent ringing based on the queue is merely an example of the terminal device for implementing the agent ringing based on the queue, and does not constitute a limitation on the terminal device for implementing the agent ringing based on the queue. It may include more or less components than the above, or a combination of certain components, or different components. For example, the terminal device for implementing the agent ringing based on the queue may also include input and output devices, network access devices, buses, etc., which are not limited in the embodiments of the present invention.
[0046] Further, as an executable solution, the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the queue-based agent ringing terminal device, and uses various interfaces and lines to connect the various parts of the entire queue-based agent ringing terminal device.
[0047] The memory can be used to store the computer program and / or module, and the processor realizes the queue-based agent ringing and various functions of the terminal device by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system and at least one application required for a function; the data storage area can store data created according to the use of the mobile phone, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0048] The present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above method in the embodiment of the present invention are implemented.
[0049] If the module / unit for implementing terminal device integration based on queue agent ringing is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device that can carry the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory) and software distribution medium, etc.
[0050] Although the present invention has been specifically shown and described in conjunction with the preferred embodiments, it should be understood by those skilled in the art that various changes may be made to the present invention in form and details without departing from the spirit and scope of the present invention as defined by the appended claims, all of which are within the scope of protection of the present invention.
Claims
1. A method for implementing agent ringing based on a queue, characterized in that: include: Add the incoming caller to the queue and make an agent call for the caller through the following steps: S1: Based on all the seats corresponding to the queue at the time when the caller joins the queue, a call chain list is constructed, and the seat status of each seat is recorded at each node of the call chain list; the seats in the call chain list whose seat status is available are called, and the seats in the call chain list whose seat status is unavailable are added to the available seat check chain list; S2: polling the available seat check list at a fixed time interval, and determining whether there is an available seat in the available seat check list, and if so, setting a flag of whether there is a new available seat to indicate that there is a new available seat; S3: determining at regular intervals whether there is a new available seat identifier indicating a new available seat; if so, calling all available seats in the currently available seat check list.
2. The method for implementing a queue-based agent ringing function according to claim 1, characterized in that: When making an agent call to a caller, the caller must be at the head of the queue and the current time must exceed the caller's expiration time; the expiration time is calculated based on the configured maximum waiting time and the time when the caller joined the queue.
3. The method for realizing agent ringing based on queue according to claim 1, characterized in that: When judging whether there is an available seat in the check list and whether there is an available seat, the seat container is used to judge; the seat container records all seats corresponding to the current queue and the current seat status of each seat.
4. The method for realizing agent ringing based on queue according to claim 1, characterized in that: Before polling the available seat check list in step S2, first determine whether there are new seats in the seat container at the current time relative to the previous polling time. If so, add all the new seats to the available seat check list.
5. The method for implementing a queue-based agent ringing function according to claim 1, characterized in that: Each node of the call chain list also records whether the agent actively hangs up the current call round; in each call round, if an agent actively hangs up when being called, the whether the agent actively hangs up the current call round flag corresponding to the agent is modified to indicate active hang-up, and after the call round ends, the whether the agent actively hangs up the current call round flag corresponding to the agent is modified to indicate not actively hang up; when calling all agents in the current state of agents in step S3, if the whether the agent to be called actively hangs up the current call round flag recorded in the call chain list indicates active hang-up, the agent will not be called.
6. The method for implementing a queue-based agent ringing function according to claim 1, characterized in that: In step S3, the ringing end time when calling all agents in the current state is the ringing end time of the corresponding call round; the ringing end time of the corresponding call round is calculated based on the time of calling the first agent in the call round.
7. The method for implementing a queue-based agent ringing according to claim 1, characterized in that: When the agent status is available, four conditions must be met at the same time: the agent has not turned on Do Not Disturb, the agent has not restricted queue incoming calls, the agent is not on break time, and the agent is not on a call.
8. The method for realizing agent ringing based on queue according to claim 1, characterized in that: The call list is updated only when there is a new agent corresponding to the queue; the available agent check list is cleared after determining that there is a new available agent and the call is completed, and is rebuilt at the next polling.
9. A terminal device for realizing agent ringing based on a queue, characterized in that: The method comprises a processor, a memory and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of the method according to any one of claims 1 to 8 when executing the computer program.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
