CN111147677B - Call center system - Google Patents

Call center system Download PDF

Info

Publication number
CN111147677B
CN111147677B CN201811308377.8A CN201811308377A CN111147677B CN 111147677 B CN111147677 B CN 111147677B CN 201811308377 A CN201811308377 A CN 201811308377A CN 111147677 B CN111147677 B CN 111147677B
Authority
CN
China
Prior art keywords
call
component
center system
call center
telephone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811308377.8A
Other languages
Chinese (zh)
Other versions
CN111147677A (en
Inventor
杨砚
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mashang Consumer Finance Co Ltd
Original Assignee
Mashang Consumer Finance Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mashang Consumer Finance Co Ltd filed Critical Mashang Consumer Finance Co Ltd
Priority to CN201811308377.8A priority Critical patent/CN111147677B/en
Publication of CN111147677A publication Critical patent/CN111147677A/en
Application granted granted Critical
Publication of CN111147677B publication Critical patent/CN111147677B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms

Landscapes

  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The application discloses a call center system. Wherein, call center system includes: a Freeswitch platform for performing soft switching of the phone; the call management component is used for scheduling the Freeswitch platform to realize a call; a core service component for state management for operators and/or customers, and traffic distribution; the telephone recording component is used for storing a telephone recording file in the call center system; wherein at least part of the components in the call center system are respectively operated on different servers. By the scheme, the running resources of the components can be flexibly expanded, and the processing efficiency of the call center system is ensured.

Description

Call center system
Technical Field
The present application relates to the field of communications, and in particular, to a call center system.
Background
Most of the current call center systems employ high-value professional devices and systems such as Private Branch Exchange (PBX) and Computer Telephony Integration (CTI) servers, and the telephone communication field and the Computer field can be well integrated through the devices and systems. But has the problems of extremely high cost and incapability of linear capacity expansion along with service increase.
In recent years, some call centers have begun to adopt a software switching platform, such as FreeSwitch, to replace expensive PBX hardware, and various functions of the call center system are implemented by the FreeSwitch platform in cooperation with related application components. Usually, the Freeswitch platform and its related application components are running in the same server, however, as the service data of the call center system increases, the running resources of a single server cannot bear the requirement of the whole call center system, and the processing efficiency of the call center system is slow.
Disclosure of Invention
The technical problem mainly solved by the application is to provide a call center system, which can flexibly expand the operation resources of components and ensure the processing efficiency of the call center system.
In order to solve the above problem, a first aspect of the present application provides a call center system, including: a Freeswitch platform for performing soft switching of the phone; the call management component is used for scheduling the Freeswitch platform to realize a call; a core service component for state management for operators and/or customers, and traffic distribution; the telephone recording component is used for storing a telephone recording file in the call center system; wherein at least part of the components in the call center system are respectively operated on different servers.
The call management component is further configured to monitor an event of the Freeswitch platform and send a monitored event message to a message queue, so that other components of the call center system learn about the event of the Freeswitch platform by subscribing to the message in the message queue; the core service component is specifically configured to learn an event of the Freeswitch platform by subscribing to a message in the message queue, and update a state of the operator and/or the client.
Wherein, the call center system further comprises: a first database for storing predicted outbound parameters; the statistical operation component is used for obtaining a predicted outbound parameter according to data statistics in the call center system and storing the predicted outbound parameter in the first database; and the dialing management component is used for reading the predicted outbound parameters from the first database, determining the outbound quantity according to the predicted outbound parameters, extracting the number of the outbound quantity from a set ticket and dispatching the calling management component to realize outbound calling.
Wherein the predicted outbound parameters include at least one of: the number of idle telephone operators, the number of outgoing calls, the call success rate, the non-abandon rate of clients during call waiting, the number of telephone operators in a preset time after the call, the average ringing time length and the average processing time length of the call; and/or
The statistical operation component is specifically used for acquiring data in the call center system by subscribing the messages in the message queue, obtaining a predicted outbound parameter according to data statistics in the call center system, and storing the predicted outbound parameter in the first database.
Wherein, the call center system further comprises: the kamailio registration component is used for registering the telephone operator logging in the call center system and sending the registration message of the telephone operator logging in the call center system to a message queue;
and the registration service component is used for acquiring the registration message sent by the kamailio registration component from the message queue, packaging the registration message and sending the packaged registration message to the message queue, wherein the packaged registration message is used for being provided for the statistical operation component to perform statistics on the predicted outbound parameters.
Wherein the Freeswitch platform, the telerecordings component, and the call management component run on the same server; the core service component, the statistical operation component, the dialing management component, the kamailio registration component and the registration service component are respectively operated on different servers.
The call center system also comprises a storage server and a second database; the telephone recording component is specifically used for obtaining a telephone recording file from the Freeswitch platform, sending the telephone recording file to the storage server for storage, and storing the storage information and/or preset feature information of the telephone recording file in the second database.
Wherein at least one component in the call center system is operated by a cluster of a plurality of servers.
Wherein the server comprises a physical server and/or a virtual server.
Wherein at least some of the components in the call center system are implemented in the Java language.
In the scheme, the basic telephone communication function of the call center system is realized by the call center system through the Freeswitch platform, the call management component, the core service component and the telephone recording component, and at least part of components in the call center system are respectively deployed on different servers to operate, so that the components can be distributed on different independent operating resources to be processed, the occupation of the same operating resource among the components is avoided, the operating resources of different components can be flexibly expanded according to actual component quantity data, and the processing efficiency of the call center system is ensured.
Drawings
FIG. 1 is a schematic block diagram of an embodiment of a call center system of the present application;
FIG. 2 is a schematic diagram of another embodiment of the call center system of the present application;
FIG. 3 is a schematic diagram of a call center system according to another embodiment of the present application;
fig. 4 is a schematic structural diagram of another embodiment of the call center system of the present application.
Detailed Description
The following describes in detail the embodiments of the present application with reference to the drawings attached hereto.
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular system structures, interfaces, techniques, etc. in order to provide a thorough understanding of the present application.
The terms "system" and "network" are often used interchangeably herein. The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship. Further, the term "plurality" herein means two or more than two.
The servers described herein may be physical servers or virtual servers, such as a Docker virtual server. In addition, a server may also be referred to as a host, and may specifically be a physical host or a virtual host.
Referring to fig. 1, fig. 1 is a schematic structural diagram of an embodiment of a call center system of the present application. In this embodiment, the call center system 10 includes a Freeswitch platform 101, a call management component 102, a core services component 103, and a telescription component 104. Wherein at least some of the components of the call center system 10 are respectively run on different servers. For example, as shown in FIG. 1, call management component 102, core services component 103, and recording component 104 all run on different physical servers 11. Of course, in other embodiments, as shown in fig. 2, the call management component 102, the core service component 103, and the voice recording component 104 may also run on different virtual servers 12, wherein the different virtual servers 12 may be deployed on the same physical server 11 or on different physical servers 11. As shown in fig. 2, the different virtual servers 12 running the call management component 102 and the core service component 103 respectively are both deployed on one physical server 11, and the virtual server 12 running the telephone recording component 104 is deployed on another physical server 11. Further, the Freeswitch platform 101 may run on a different or the same physical or virtual server as the components described above, e.g., the Freeswitch platform 101 and the telephonic recording component 104 run on the same physical or virtual server 11, 12 as shown in FIGS. 1 and 2.
Specifically, the Freeswitch platform 101 is used to perform soft switching of a telephone, and can be used as a telephone soft switching software system for a switch engine, a PBX, a multimedia gateway, a multimedia server, and the like. For the related description of Freeswitch, reference may be made to the related art, and details thereof are not repeated herein.
A call-manager component 102 is used to make dispatch implementation calls to the FreeSwitch platform 101. In this embodiment, the call management component 102 serves as a bridge between the Freeswitch platform 101 and other components in the call center system (e.g., the core services component 103, the recording telephony component 104, and the dialing management component mentioned in the embodiments below). The call management component 102, which may also be referred to as a dispatch of call signaling and a distribution component of call message events, has two functions:
1) events of the Freeswitch platform 101 can be monitored by using a listener handler or other monitoring methods, and when an event (e.g., an incoming call event, a call connection event, etc.) occurs in the Freeswitch platform 101, the call management component 102 sends the monitored event message to a message queue, so that other components of the call center system 10 know the event of the Freeswitch platform 101 by subscribing to the message in the message queue, for example, the core service component 103 can know that an outgoing call is connected by subscribing to the event message in the message queue, and then distributes traffic to the call. It will be appreciated that different components may subscribe to different types of messages in the message queue according to their needs. The message queue may be specifically a rabbitMQ.
2) A dispatch implementation call is made to the FreeSwitch platform 101. For example, the call management component 102 can send call signaling to the Freeswitch platform 101 to implement call scheduling. Further, the call management component 102 acts as a bridge between the Freeswitch platform 101 and other components in the call center system, and can enable call dispatch of the other components to the Freeswitch platform 101. For example, when the other components in the call center system 10, such as the dialing management component mentioned in the embodiments below, want to schedule the FreeSwitch platform 101 to complete the actions such as dialing a phone call, the application programming interface (api) of the call management component 102 is scheduled first, and then the api of the call management component 102 completes the scheduling action of sending a call signaling to the FreeSwitch platform 101.
Based on the above-described functionality of the call management component 102, the other components of the call center system 10 do not need to interact directly with the Freeswitch platform 101, but interact with the call management component 102, and then interact with the Freeswitch platform 101 through the call management component 102, thus avoiding each component in the call center system needing to implement an interface for interacting with the Freeswitch platform 101.
It is to be appreciated that the call management component 102 can determine whether to design to function as described above in relation to the first aspect based on actual requirements of the call center system. Additionally, to improve call dispatch efficiency, the call management component 102 may also be deployed in the same server as the Freeswitch platform 101.
Core-service component 103 is used for state management for operators and/or customers, as well as traffic distribution. In particular, the operator may also be referred to as an agent, and the customer is a contact in voice communication (including incoming or outgoing calls) with the call center system.
In this embodiment, the core service component 103 may also be referred to as an agent and contact state management and automatic traffic distribution component. The call center system 10 needs to manage the states of the telephone operators and the clients during the call, and to complete automatic telephone traffic distribution, the whole call process is orderly performed, and the telephone operators and the clients need to be queued, so as to achieve the purpose of waiting for the telephone operators and the clients fairly in time. To achieve the above object, the core service component 103 may have the following two functions.
1) Core services component 103 is used for state management for operators and/or customers. Specifically, the state of the operator and the customer is managed by implementing a set of state machines in the core service component 103, and when events such as an operation of the operator on a call center system page where the operator logs in, a call on or off of the customer, a connection of the operator to the customer by the Freeswitch platform 101, and the like occur, the state of the operator and/or the customer may be updated. For the above events, it can be perceived by subscribing to the messages in the message queue. For example, the core service component 103 may learn about the Freeswitch platform 101 events by subscribing to the rabbitMQ message, and thereby update the state of the operator and/or customer.
2) Core service components 103 are used for traffic distribution. In particular, core services component 103 may implement automatic traffic distribution by maintaining an attendant wait queue and a customer wait queue. Wherein the attendant wait queue and the customer wait queue may be stored in a settings database, such as a Redis database. For example, when an operator logs in to be ready or finishes a previous call, that is, the operator is called an idle operator, the core service component 103 first checks whether there is a waiting client waiting in the client waiting queue, and if so, directly connects the idle operator with the longest waiting client (for example, the FreeSwitch platform 101 is scheduled by the call management component 102 to establish a call between the client and the operator); if not, the idle operator is placed in an operator wait queue. Similarly, when a client connects power when the client calls in or calls out, namely the client is called a client to be called, the core service component 103 checks whether an idle telephone operator exists in the telephone operator waiting queue or not, and if so, the client to be called is directly connected with the idle telephone operator with the longest waiting time; if not, the customer to be called is put into a customer waiting queue. In this way, at most one queue has data in both waiting queues at the same time, and the first-in first-out mechanism of the queues ensures that the operator and the client wait fairly in time.
Further, core services component 103 may select a feature matching operator and customer to pick up based on the features of the idle operator and the customer waiting to talk. For example, the core service component 103 reads pre-stored historical customer data of the customer to be called, and analyzes the historical customer data to obtain first feature data of the customer to be called; reading pre-stored historical operator data of an idle operator, and analyzing the historical operator data to obtain second characteristic data of the corresponding idle operator; and selecting the customer to be communicated and the idle telephone operator, of which the first characteristic data is matched with the second characteristic data, and connecting the communication between the selected customer to be communicated and the idle telephone operator. The historical call data of the client to be called comprises historical call data of the client to be called and/or historical transaction data of the client to be called, and the historical call data of the client to be called comprises historical call data of an outgoing call to the client to be called and/or historical call data of an incoming call of the client to be called; the operator data for the historical idle operators includes at least one of: historical call data of the idle telephone operator, historical evaluation of at least one client on the idle telephone operator, and training records of the idle telephone operator.
A call-recorder component 104 is used to store the call-record files in the call center system 10. In this embodiment, the recording component 104 may also be referred to as a storage and query component of the recording file.
Telerecordings are one of the basic functions of the present call center system 10. In one embodiment, as shown in FIG. 2, call center system 10 also includes a storage server 105 and a second database 106. The storage server 105 is used for storing the telephone recording file of the call center system 10, and the second database 106 is used for storing the storage information and/or the preset feature information of the telephone recording file. For example, a recording of a telephone call may be generated by the Freeswitch platform 101, and the recording of a telephone call component 104 is used to transfer the recording of a telephone call from a host running the Freeswitch platform to the storage server 105, and to add stored information (e.g., file name, storage address, etc.) and/or preset feature information (e.g., call duration, customer name, etc.) of the recording of a telephone call to the second database 106. In addition, the second database 106 may also be used to store login information for operators to log in to the call center system, configuration information for the call center system, assigned outbound numbers for the operators, and the like. In practical applications, the second database 106 may be a MYSQL database. Wherein, when the second database 106 is used for storing the configuration information of the call center system, the call center system can be further provided with a web application component to maintain the configuration management of the call center system in combination with the second database 106. For example, the web application component may obtain configuration information input by a setting person from a web page and store the configuration information in the second database 106.
To improve the efficiency of the storage of the recording file, the telerecordings component 104 may be deployed in the same server as the Freeswitch platform 101. Because the number of servers running the Freeswitch platform 101 increases with the increase of call volume, each server running the Freeswitch platform 101 can be correspondingly provided with one telephone recording component 104, and the telephone recording components 104 distributed in this way have the advantages that each telephone recording component 104 only processes the telephone recording file on a host running the Freeswitch platform, so that the telephone recording file can be transferred to a storage server in a very short time after the call is finished, and very high timeliness is ensured. In practical applications, the storage server may be a File Transfer Protocol (FTP) server.
In the embodiment, the call center system realizes the basic telephone communication function of the call center system by comprising a Freeswitch platform, a call management component, a core service component and a telephone recording component, and at least part of components in the call center system are respectively deployed on different servers to operate, so that the components can be distributed on different independent operating resources to be processed, the occupation of the same operating resource among the components is avoided, the operating resources of different components can be flexibly expanded according to actual component quantity data, and the processing efficiency of the call center system is ensured.
In addition, the functions of call signaling scheduling and call message event distribution, the state management of operators and clients and the traffic distribution function are realized by the same component in the conventional call center system, the two functions are divided into two components in the application, the call signaling scheduling and the call message event distribution function are independently realized by the call management component, and the core service component independently realizes the state management of the operators and the clients and the traffic distribution function, so that the call center system can flexibly expand one function according to the requirement without binding and expanding the operators and the clients, and the server resources are saved.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a call center system according to still another embodiment of the present application. In this embodiment, the call center system 30 includes a first database 307, a statistical calculation component 308, a dialing management component 309, a kamailio registration component 310, and a registration service component 311 in addition to the FreeSwitch platform and components described in fig. 1 or 2. The first database 307, the statistical operation component 308, and the dialing management component 309 are used to implement the function of predicting outbound calls of the call center system 30. In this embodiment, at least some of the components of the call center system 30 are respectively run on different servers. For example, as shown in fig. 3, the FreeSwitch platform 101, the call management component 102, and the recording component 103 are deployed on the same physical server 31, with the remaining components being deployed on different physical servers 31, respectively.
In particular, the first database 307 is used to store predicted outbound parameters. The first database 307 may be an Hbase database. The prediction outbound is different from manual outbound (operator manual dialing), and the number of outbound can be predicted for the call center system according to the number of current idle operators and other states, and the outbound service of the predicted number is realized by automatic dialing.
The statistical operation component 308 is configured to obtain a predicted outbound parameter according to data statistics in the call center system 30, and store the predicted outbound parameter in the first database 307. Wherein the predicted outbound parameters may include at least one of: the number of idle operators, the number of outgoing calls, call success rate, customer non-abandonment rate while waiting for calls, the number of operators within a predetermined time after a call, average ringing duration, average processing duration of a call. The number of idle operators may be obtained from an operator waiting queue of the core service component 103; the call success rate is the probability of calling out to the client and successfully connecting the call between the client and the operator; the non-abandon rate of the client when the call is waiting, namely the probability that the client is connected when the call is called out and the client is not hung up when waiting for the telephone operator to be distributed; the number of telephone operators in a preset time after the telephone is called, because the telephone operators need to record the content of the telephone after processing the telephone, the telephone operators do not belong to an idle state in the preset time after the telephone is called, and the number of the telephone operators in the preset time after the telephone is called needs to be counted; the predicted outbound parameters described above may be statistically derived by subscribing to messages in the message queue to learn about the Freeswitch platform 101 events.
In this embodiment, the statistic computation element 308 can also be referred to as a call event data storage and statistic computation element, or as an RTS element. The statistical operation component 308 is a real-time calculation component in the call center system 30, and the statistical operation component 308 may mainly include two functions of real-time statistics of the predicted outbound operation parameter and real-time statistics of the monitoring data, which are as follows:
1) the statistical operation component 308 completes the statistical operation of the predicted outbound parameter and writes the operation result into the first database 307.
2) The statistical operation component 308 can also write data of various events into the first database 307 during the operation of the call center system 30, and perform statistics on the data to meet various monitoring function requirements of the call center system 30, such as predicting the number of outbound operators, the number of manual outbound operators, the total number of calls, and the like. In one embodiment, the statistics component 308 can listen for real-time monitoring, real-time reporting functions.
And a dial-manager (dialer-manager) component 309 is configured to read the predicted outbound parameter from the first database 307, determine the outbound quantity according to the predicted outbound parameter, extract the number of the outbound quantity from a set call ticket, and schedule the call management component 102 to implement the outbound call. In this embodiment, the dialing management component 309 may also be referred to as a predictive outbound calculation and dialing task management component. The dialing management component 309 reads the number of idle operators, the number of outgoing calls, the call success rate, the non-abandonment rate of clients during call waiting, the number of operators in a preset time period after the calls, the average ringing time length, the average processing time length of the calls and other predicted outgoing call parameters through the first database 307, calculates the outgoing call number of one batch every preset time period by using a preset prediction algorithm, extracts the number of the outgoing call number from a set call list, and dispatches the call management component 102 so as to dispatch the Freeswitch platform 101 for the outgoing call by the call management component 102.
It will be appreciated that the call management component 309 only functions in the predictive outbound function, and thus the component can be flexibly turned off or eliminated in the call center system to conserve server resources without the need for predictive outbound. Similarly, if the statistical operation component 308 is only used to form the predicted outbound parameter, the component may be flexibly closed or eliminated in the call center system to save server resources without the need of predicting the outbound.
The kamailio registration component 310 is configured to register an operator logged into the call center system 30 and send a registration message of the operator logged into the call center system 30 to a message queue. Specifically, for example, the operator may log in through a browser or a client corresponding to the call center system, and after the login is completed, the operator connects and registers to the kamailio registration component 310, and sends the registration information of the operator to the rabbitMQ, so that the core service component 103 can know the number of operators currently in place and accurately allocate the telephone of the client to the operator and talk with the operator in the traffic allocation.
The registration service component 311 is configured to obtain the registration message sent by the kamailio registration component from the message queue, encapsulate the registration message, and send the encapsulated registration message to the message queue. Wherein the encapsulated registration message is for provision to the statistical computation component for statistical prediction of outbound parameters. For example, the messages of the kamailio registration component in the embodiment cannot be directly recognized by other components, for example, the kamailio registration component itself is middleware written in c language, and can send messages to the rabbitMQ. The registration service component 311 parses and encapsulates the message after subscribing the message, and sends the message to the rabbitMQ again, and the encapsulated message can be used to provide the statistical operation component 308 for performing the above statistical operation, for example, the statistical operation component 308 can count the number of idle operators according to the operator registration information.
It is to be understood that the above-described components of the call center system may be implemented partially or entirely in the Java language, for example, the other components except for the kamailio registration component 310 are implemented in the Java language. The component is more easily developed and maintained than a C language implementation.
Please refer to fig. 4, fig. 4 is a schematic structural diagram of a call center system according to another embodiment of the present application. In this embodiment, the call center system 40 may be divided into a contact layer, a core layer, and a network layer.
Wherein the contact layer includes an operator. The terminal used for logging in by the operator communicates with the Freeswitch platform of the core layer, and particularly, the communication can be realized by adopting a Session Initiation Protocol (SIP).
The core layer includes:
a Freeswitch platform;
a call management component capable of interacting with a Freeswitch platform;
the telephone recording component can read a telephone recording file generated by the Freeswitch platform;
the FTP server can interact with the telephone recording component and is used for storing the telephone recording component;
the MySQL database can be accessed by the telephone recording component and is used for storing the storage information and/or the characteristic information of the telephone recording file, the configuration information of a call center system, the network IP information and the like;
the rabbitMQ is used for caching messages sent by components of the call center system, such as event messages of a Freeswitch platform sent by a call management component;
the core service component can subscribe the rabbitMQ message and can send the related operator and client state updating message and/or the traffic distribution message to the rabbitMQ;
a Redis database accessible by the core services component for storing customer waiting queues and operator waiting queues, and/or traffic distribution information;
a User Portal (User Portal) component which can be accessed by an operator terminal of a contact layer for logging in, such as a network application server, so that the operator can log in the call center system directly by opening a webpage without installing a corresponding program on the terminal;
the kamailio registration component can be accessed by an operator login terminal of the contact layer, and is used for registering the operator logging in the call center system and sending a registration message to the rabbitMQ;
the registration service component can subscribe the rabbitMQ message, further obtain the registration message sent by the kamailio registration component, perform secondary encapsulation and then send the registration message to the rabbitMQ again;
the statistical operation component can subscribe the rabbitMQ message and further determine the predicted outbound parameters;
the Hbase database can be accessed by the statistical operation component and is used for storing the predicted outbound parameters;
the dialing management component can access the Hbase database and the Redis database, and further reads the predicted outbound parameters and the telephone traffic distribution information to realize the predicted outbound;
the kamailio server can interact with the Freeswitch platform, particularly is an open source Sip server, supports a plurality of functions and has good expansibility, and the kamailio server is a bridge between the Freeswitch platform and an operator gateway and sends communication data sent by the Freeswitch platform to the gateway of a corresponding operator.
The Network layer includes a Public Switched Telephone Network (PSTN) and its gateways. Wherein, the PSTN is connected with the kamailio server of the core layer through the PSTN gateway.
The predicted outbound and inbound call flows for the call center system are illustrated based on the call center system architecture shown in fig. 4.
1) Predicting outbound calls
When the dialing task of the predicted outbound is started, the dialing management component acquires outbound prediction parameters from the HBase database every 5 seconds and carries out prediction operation to obtain the outbound quantity, schedules the call management component, and then schedules a Freeswitch platform by the call management component to realize the outbound call. Specifically, the Freeswitch platform sends outbound signaling to the PSTN through the PSTN gateway via the kamailio server. All outgoing calls are automatically distributed through the core service component, events generated in the call process are counted and calculated by the counting operation component to obtain a predicted outgoing call parameter required by the next 5 seconds, and then the predicted outgoing call parameter is provided for the call management component to predict the outgoing call of the next second according to the predicted outgoing call parameter of the next 5 seconds, and the steps are repeated in a circulating mode until all the calls are dialed or tasks are stopped.
2) Incoming call
The Freeswitch platform receives an incoming call signaling received by the kamailio server through the PSTN gateway; the call management component acquires an incoming call by monitoring an event of a Freeswitch platform, and then the core service component conducts telephone traffic distribution and then conducts the incoming call to a corresponding telephone operator.
It should be noted that the above components of the call center system may be partially or completely operated in different servers, respectively, thereby ensuring high availability and scalability. Additionally, at least one component of the call center system may be operated by a cluster of multiple servers. For example, for a component requiring higher running resources, for example, the statistical operation component is deployed in a cluster formed by three servers a, and the core service component is deployed in a cluster formed by two servers B, so as to improve the running efficiency of the component. The remaining components, such as the call management component, Freeswitch platform, and the call recording component are deployed on a server C, the dial management component is deployed on a server D, and the registry service component is deployed on a server E. Of course, for large call center systems, each of its components may be deployed in a cluster of multiple servers, thereby sharing the load.
In the above embodiment, the whole call center system may use the rabbitMQ as the message bus, and all the components distribute the message through the rabbitMQ, and there is only data coupling, tag coupling and control coupling, and there is no content coupling between the components, which is a low coupling relationship. Therefore, each component can independently operate, and the problem of the sequence of stopping and starting does not exist. Therefore, the expansion of the whole set of system to the call capacity nearly reaches an unlimited level, and along with the increase of the call capacity, the system only needs to correspondingly increase the components without binding and increasing other components, thereby improving the expansion flexibility of the corresponding components.
Each module corresponds to a corresponding application service component, and each application service component is formed by a cluster formed by a plurality of Docker virtual service containers distributed on a plurality of servers to share load and ensure high availability and expandability. The whole system uses the rabbitMQ as a message bus, all the application service components distribute messages through the rabbitMQ, and only data coupling, mark coupling and control coupling exist among the application service components, content coupling does not exist, and the system is a low coupling relation. The application service components can independently run, and the sequence problem of stopping and starting does not exist. The expansion of the whole set of system to the call capacity nearly reaches the unlimited level, and along with the increase of the call capacity, the system only needs to correspondingly increase the application service components.
Through the call center system, services such as incoming call, prediction outbound call, manual outbound call, three-party call, call monitoring, call forwarding and the like can be realized.
In the scheme, the basic telephone communication function of the call center system is realized by the call center system through the Freeswitch platform, the call management component, the core service component and the telephone recording component, and at least part of components in the call center system are respectively deployed on different servers to operate, so that the components can be distributed on different independent operating resources to be processed, the occupation of the same operating resource among the components is avoided, the operating resources of different components can be flexibly expanded according to actual component quantity data, and the processing efficiency of the call center system is ensured.
In addition, by the framework of the call center system, hardware equipment such as PBX, CTI and the like is not needed, the hardware cost of the whole set of call center system is greatly reduced, and the purpose of smooth capacity expansion can be achieved by monitoring and managing the system capacity and expanding the service resources of certain components under the condition that the use amount of the system resources reaches a certain threshold value.
In the several embodiments provided in the present application, it should be understood that the disclosed method and apparatus may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a module or a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above embodiments are only for the purpose of describing the present invention, and are not intended to limit the scope of the present invention, and all equivalent structures or equivalent flow transformations that are made by the contents of the specification and the drawings, or directly or indirectly applied to other related technical fields, are also included in the scope of the present invention.

Claims (10)

1. A call center system, comprising:
a Freeswitch platform for performing soft switching of the phone;
a call management component for sending call signaling to the Freeswitch platform to implement call dispatch; monitoring the event of the Freeswitch platform, and sending the monitored event message to a message queue so that other components in the call center system can know the event of the Freeswitch platform by subscribing the message in the message queue;
the core service component is used for performing state management on an operator and/or a client and traffic distribution by subscribing the event message in the message queue; establishing a call between a customer and an operator by calling the call management component to dispatch the Freeswitch platform after traffic distribution;
the telephone recording component is used for storing a telephone recording file generated by the Freeswitch platform;
wherein at least part of the components in the call center system are respectively operated on different servers.
2. The call center system of claim 1, wherein the core service component is specifically configured to learn about events of the Freeswitch platform by subscribing to messages in the message queue and to update the status of the operator and/or customer.
3. The call center system of claim 1, further comprising:
a first database for storing predicted outbound parameters;
the statistical operation component is used for obtaining a predicted outbound parameter according to data statistics in the call center system and storing the predicted outbound parameter in the first database;
and the dialing management component is used for reading the predicted outbound parameters from the first database, determining the outbound quantity according to the predicted outbound parameters, extracting the number of the outbound quantity from a set ticket and dispatching the calling management component to realize outbound calling.
4. The call center system of claim 3, wherein the predicted outbound parameters comprise at least one of: the number of idle telephone operators, the number of outgoing calls, the call success rate, the non-abandon rate of clients during call waiting, the number of telephone operators in a preset time after the call, the average ringing time length and the average processing time length of the call; and/or
The statistical operation component is specifically used for acquiring data in the call center system by subscribing the messages in the message queue, obtaining a predicted outbound parameter according to data statistics in the call center system, and storing the predicted outbound parameter in the first database.
5. The call center system of claim 4, further comprising:
the kamailio registration component is used for registering the telephone operator logging in the call center system and sending the registration message of the telephone operator logging in the call center system to a message queue;
and the registration service component is used for acquiring the registration message sent by the kamailio registration component from the message queue, packaging the registration message and sending the packaged registration message to the message queue, wherein the packaged registration message is used for being provided for the statistical operation component to perform statistics on the predicted outbound parameters.
6. The call center system of claim 5, wherein the Freeswitch platform, the telescription component, and the call management component run on the same server;
the core service component, the statistical operation component, the dialing management component, the kamailio registration component and the registration service component are respectively operated on different servers.
7. The call center system of claim 1, further comprising a storage server and a second database;
the telephone recording component is specifically used for obtaining a telephone recording file from the Freeswitch platform, sending the telephone recording file to the storage server for storage, and storing the storage information and/or preset feature information of the telephone recording file in the second database.
8. The call center system of claim 1, wherein at least one component in the call center system is operated by a cluster of a plurality of servers.
9. The call center system of claim 1, wherein the server comprises a physical server and/or a virtual server.
10. The call center system according to claim 1, wherein at least some of the components in the call center system are implemented in Java.
CN201811308377.8A 2018-11-05 2018-11-05 Call center system Active CN111147677B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811308377.8A CN111147677B (en) 2018-11-05 2018-11-05 Call center system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811308377.8A CN111147677B (en) 2018-11-05 2018-11-05 Call center system

Publications (2)

Publication Number Publication Date
CN111147677A CN111147677A (en) 2020-05-12
CN111147677B true CN111147677B (en) 2021-12-21

Family

ID=70515691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811308377.8A Active CN111147677B (en) 2018-11-05 2018-11-05 Call center system

Country Status (1)

Country Link
CN (1) CN111147677B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800415B (en) * 2020-07-03 2022-08-12 上海浦东发展银行股份有限公司 Call control system, method, equipment and storage medium based on soft switch
CN111835927B (en) * 2020-07-21 2022-04-29 上海茂声智能科技有限公司 System and method for improving high concurrency performance and stability of telephone robot
CN112261235B (en) * 2020-10-22 2022-02-18 中邮科通信技术股份有限公司 Cloud call center platform based on FreeWITCH
CN113067950A (en) * 2021-03-17 2021-07-02 杭州元声象素科技有限公司 Intelligent call platform
CN113286380B (en) * 2021-07-20 2021-09-28 四川优家库信息技术有限公司 Communication establishing method, communication method and system based on middleware and Freeswitch
CN114124739B (en) * 2021-11-11 2024-02-27 北京房江湖科技有限公司 Method and device for deploying FreeWITCH service, electronic equipment and storage medium
CN114584535B (en) * 2022-01-27 2024-03-12 深圳市爱丰达盛科技有限公司 Elevator monitoring camera access call center system for realizing two-way call

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634487A (en) * 2013-12-05 2014-03-12 青岛海尔软件有限公司 High-speed remote access system
CN105704335A (en) * 2016-03-02 2016-06-22 重庆大学 Predictive form calling-out algorithm based on dynamic statistics process, switch dialing method and device
US9596274B2 (en) * 2008-04-02 2017-03-14 Twilio, Inc. System and method for processing telephony sessions
CN106657693A (en) * 2017-01-13 2017-05-10 深圳市彬讯科技有限公司 Predictive outbound method and system of call system
CN106899772A (en) * 2017-02-21 2017-06-27 深圳市彬讯科技有限公司 The distributed equally loaded control method and calling system of a kind of calling service
CN106912063A (en) * 2017-01-24 2017-06-30 北京百悟科技有限公司 Method and device for calling routing
CN107222645A (en) * 2017-07-07 2017-09-29 北京广隆方略技术有限公司 A kind of method and system of workflow access
CN206807569U (en) * 2017-06-19 2017-12-26 上海汉傲电信科技有限公司 Softphone device
CN206865563U (en) * 2017-07-07 2018-01-09 北京鸿联九五信息产业有限公司 A kind of call platform device
CN108173707A (en) * 2017-11-29 2018-06-15 北京百悟科技有限公司 The control method and device that media resource uses

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9596274B2 (en) * 2008-04-02 2017-03-14 Twilio, Inc. System and method for processing telephony sessions
CN103634487A (en) * 2013-12-05 2014-03-12 青岛海尔软件有限公司 High-speed remote access system
CN105704335A (en) * 2016-03-02 2016-06-22 重庆大学 Predictive form calling-out algorithm based on dynamic statistics process, switch dialing method and device
CN106657693A (en) * 2017-01-13 2017-05-10 深圳市彬讯科技有限公司 Predictive outbound method and system of call system
CN106912063A (en) * 2017-01-24 2017-06-30 北京百悟科技有限公司 Method and device for calling routing
CN106899772A (en) * 2017-02-21 2017-06-27 深圳市彬讯科技有限公司 The distributed equally loaded control method and calling system of a kind of calling service
CN206807569U (en) * 2017-06-19 2017-12-26 上海汉傲电信科技有限公司 Softphone device
CN107222645A (en) * 2017-07-07 2017-09-29 北京广隆方略技术有限公司 A kind of method and system of workflow access
CN206865563U (en) * 2017-07-07 2018-01-09 北京鸿联九五信息产业有限公司 A kind of call platform device
CN108173707A (en) * 2017-11-29 2018-06-15 北京百悟科技有限公司 The control method and device that media resource uses

Also Published As

Publication number Publication date
CN111147677A (en) 2020-05-12

Similar Documents

Publication Publication Date Title
CN111147677B (en) Call center system
US11785145B2 (en) Method and system for a multitenancy telephone network
USRE46853E1 (en) Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue
US8509415B2 (en) Method and system for a multitenancy telephony network
US7738646B2 (en) Method and system for monitoring and managing multi-sourced call centers
US7983661B2 (en) Method and means for controlling the availability of mobile agents in a call centre environment
EP0551715B1 (en) System and method for controlling outbound and inbound calls in a telephone communication system
US11503159B1 (en) Contact center customization in data communications systems
US20130129068A1 (en) Method and system for a multitenancy telephone network
CN104052884A (en) System and method for recording calls in a webrtc contact center
CN103098450A (en) Cloud computing call centers
KR102119349B1 (en) Call Center Maintenance System
US8189761B2 (en) Method and system for managing calls
CN100428757C (en) Telephone auto externally dialing method for client service and its intelligent analysis and management
WO2004017619A1 (en) Automatic call distribution with computer telephony interface and primitive command translation
US7519665B1 (en) Multi-channel processing control device and multi-channel processing control method
CN113452848B (en) System and storage medium for dynamically calculating outbound quantity
EP0470415A2 (en) Call tagging user information in a telephonic environment
CN114327831A (en) Message management system, method and equipment
CN115714834A (en) Call center agent allocation method and device, electronic equipment and storage medium
KR100676685B1 (en) Call/Contact Center CallFlow Data Total Management System and Method thereof
EP1111526A2 (en) Dynamic distributed resources management system and method of provisioning therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant