System, Method, Electronic Device and Storage Medium for IMS Traffic Adaptive Scheduling
Through the IMS traffic adaptive scheduling system, intelligent adaptive scheduling of traffic is achieved using relay group modules, routing matching engine modules, etc., which solves the problem of inconvenient scheduling between users in the call center system and improves the stability and reliability of the system.
Patent Information
- Application Number
- CN202310053060.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-03
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2043-02-03
AI Technical Summary
The existing call center system is inconvenient to schedule among users, resulting in low reliability and it is difficult to achieve unified scheduling and management of IMS and call center platforms.
The IMS traffic adaptive scheduling system is adopted, including a relay group module, a routing matching engine module, a call management module, a media forwarding module and a unified scheduling module. Through a flexible number-based routing matching engine and high-performance matching algorithm, intelligent adaptive scheduling and balanced allocation of traffic are realized.
It realizes efficient and reliable unified scheduling of IMS and call center platforms, improves the stability and sustainability of the system, can adapt to multi-site network environments, and ensures intelligent adaptive distribution of traffic.
Smart Images

Figure CN116192810B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communications, and in particular, to a system, method, electronic device, and storage medium for IMS traffic adaptive scheduling in a call center. Background Art
[0002] IMS (IP Multimedia Subsystem) is an IP multimedia subsystem, which is a brand-new form of multimedia service and can meet the needs of current end-users for more novel and diverse multimedia services.
[0003] With the development of the economy, the call center systems of many enterprises have become increasingly large, usually deploying multiple call centers, distributed in different cities or even different countries. For public network users such as operators, because they need to meet the public communications in a city or region and the number of users is large, the current call center services are often inconvenient to schedule among users, prone to errors, and have low reliability.
[0004] The back-end service platforms of call centers vary in functions, performance, capacity, and reliability, such as platforms for communication assistants, AI robots, digital humans, and outbound calls. Moreover, the IMS access of communication operators also involves multiple bureau directions. The relationship between IMS and call center platforms becomes a many-to-many relationship, and a unified adaptive scheduling method is required to manage the reliable allocation of traffic.
[0005] Therefore, a system needs to be provided to be deployed between the IMS traffic network of communication operators and the service nodes of call centers, uniformly scheduling the IMS traffic, and intelligently and adaptively distributing it to each service node of the call center. Summary of the Invention
[0006] The technical problem to be solved by the present invention is how to achieve the unified scheduling and management of IMS and call center platforms through an adaptive scheduling method.
[0007] To solve the above technical problems, according to one aspect of the present invention, a system for IMS traffic adaptive scheduling is provided, which is implemented based on the IMS traffic network and the call center service node. The system includes: a trunk group module and a routing matching engine module. The trunk group module is used for the management of the signaling endpoint trunk group. The routing matching engine module is used as a matching engine to identify the remote endpoint based on the network IP address, signaling header field, and the calling and called numbers, and use it as the starting point of the incoming intelligent routing. The trunk group module is connected to the IMS traffic network and the call center. The routing matching engine module simultaneously manages and records the remote endpoint information for the purpose of outgoing routing. The routing matching engine module manages multiple nodes and evenly distributes them according to capacity and capabilities among the nodes. The routing matching engine module identifies whether the remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node, so as to achieve the purpose of automatic balancing. A call management module, which adopts the mode of B2BUA (Back-to-Back User Agent). The call management module includes and manages multiple B2BUA units. A media forwarding module, which includes a user-mode module and a kernel module. Among them, the user-mode module has the ability of packet processing and forwarding to adapt to functions including audio codec conversion, DTMF in-band / RFC 2833 conversion, or tone playback. A unified scheduling module, which is used to implement high-level logic including resource management and traffic scheduling. Resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration. Among them, the basic operating environment includes IP address and routing, the IMS SIP protocol stack configuration includes IP address, signaling port, and signaling characteristics, the media resource configuration includes the network interface used and the port range, and the scheduling-related resource configuration includes the number of B2BUA, trunk group, and routing. Among them, traffic scheduling is triggered by a new SIP signaling (INVITE signaling), matches the incoming trunk group and finds the outgoing trunk group according to the established workflow, and delegates the session to the call management module at the end of the workflow. Among them, the unified scheduling module receives instructions through the message queue, executes the instructions using the workflow, distributes complex processes and logics to modules including the trunk group module, routing matching engine module, call management module, and media forwarding module, and coordinates each module through the interfaces between the modules, so as to efficiently and reliably complete the traffic distribution and transfer functions.
[0008] According to an embodiment of the present invention, the routing matching engine module is implemented based on the user number. The routing matching engine module may include a rule table, and through high-performance matching algorithms such as rule table driving and regular expressions, it can quickly identify the relay group endpoints of the outgoing route according to conditions; the routing matching engine module is also used to provide intelligent features such as number transformation, including SIP header field addition / modification and restrictions, to meet the requirements of the outgoing route endpoints. Among them, the rule table is implemented as a linked list, linked to the incoming relay group endpoints, avoiding global lookups. During configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first; the regular expressions used for rule matching are simplified by removing unused matching rules and character sets on the basis of the general algorithm to improve performance.
[0009] According to an embodiment of the present invention, a B2BUA unit may include two SIP session resources, and the SIP session resources respectively represent both ends of the call. The B2BUA unit performs complex signaling connection and interaction, and manages the call establishment and disconnection of the traffic; the B2BUA unit is also used to perform media negotiation and capability negotiation on the basis of signaling interaction to make up for the media differences between the IMS and the call center platform; the call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
[0010] According to an embodiment of the present invention, the user-mode module can adopt the epoll and thread pool modes to cope with the requirements of large-scale audio and video packet transmission and processing; the user-mode module is also used for intelligent learning of the remote endpoints to effectively solve problems such as the inconsistency between the packet address and the address in the SIP signaling caused by the network topology of the firewall / internal network access; after the user-mode module identifies the remote address, it generates a forwarding rule, and then sinks the forwarding rule to the kernel module, and the kernel module completes the packet forwarding in the linux kernel, thus avoiding a large number of switches between the kernel mode and the user mode, thereby greatly reducing the CPU overhead. The kernel module for packet forwarding is a linux kernel ko (kernel object), which is dynamically loaded into the linux kernel when the system starts and is hooked to the kernel's firewall filter module. When a media packet is received, if the forwarding rule is matched, the packet is directly forwarded using the kernel function; otherwise, no processing is done, and it is processed by the original path of the operating system; the packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
[0011] According to a second aspect of the present invention, there is provided a method for IMS traffic adaptive scheduling, which is implemented based on a system for IMS traffic adaptive scheduling. The system is applied between an IMS traffic network and a call center service node, and the system includes: a trunk group module, a routing matching engine module, a call management module, a media forwarding module, and a unified scheduling module. The method includes: the routing matching engine identifies a remote endpoint based on the network IP address, signaling header field, and calling and called numbers as the starting point of the incoming intelligent route; the trunk group module is used for signaling endpoint trunk group management and connects the IMS traffic network and the call center; the routing matching engine module simultaneously manages and records remote endpoint information for outgoing routing; the routing matching engine module manages multiple nodes and evenly allocates them according to capacity and capabilities among the nodes; the routing matching engine module identifies whether a remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node to achieve the purpose of automatic balancing. The call management module adopts the B2BUA mode, and the call management module includes and manages multiple B2BUA units. The media forwarding module includes a user mode module and a kernel module; among them, the user mode module has packet processing and forwarding capabilities to adapt to functions including the need for similar audio codec conversion, DTMF in-band / RFC 2833 conversion, or tone playback. The unified scheduling module is used to implement high-level logic including resource management and traffic scheduling; resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration, where the basic operating environment includes IP address, routing, the IMS SIP protocol stack configuration includes IP address, signaling port, signaling characteristics, the media resource configuration includes the network interface used, port range, and the scheduling-related resource configuration includes the number of B2BUA, trunk group, routing; among them, traffic scheduling is triggered by a new SIP signaling (INVITE signaling), matches the incoming trunk group and finds the outgoing trunk group according to a predefined workflow, and delegates the session to the call management module at the end of the workflow; among them, the unified scheduling module receives instructions through a message queue, executes the instructions using the workflow, distributes complex processes and logics to modules including the trunk group module, the routing matching engine module, the call management module, and the media forwarding module, and coordinates each module through the interfaces between the modules, so as to efficiently and reliably complete the traffic allocation and transfer functions.
[0012] According to an embodiment of the present invention, the routing matching engine module can be implemented based on the user number. The routing matching engine module includes a rule table, and through high-performance matching algorithms such as rule table driving and regular expressions, it can quickly identify the relay group endpoints of the outgoing route according to conditions. The routing matching engine module is also used to provide intelligent features such as number transformation, including SIP header field addition / modification and restriction, to meet the requirements of the outgoing route endpoints. Among them, the rule table is implemented as a linked list, linked to the incoming relay group endpoints, avoiding global searches. During configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first. The regular expressions used for rule matching are simplified by removing unused matching rules and character sets on the basis of general algorithms to improve performance.
[0013] According to an embodiment of the present invention, a B2BUA unit may include two SIP session resources, and the SIP session resources respectively represent both ends of the call. The B2BUA unit performs complex signaling connection and interaction, and manages the call establishment and disconnection of traffic. The B2BUA unit is also used to perform media negotiation and capability negotiation on the basis of signaling interaction to make up for the media differences between the IMS and the call center platform. The call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
[0014] According to an embodiment of the present invention, the user state module can adopt the epoll and thread pool modes to cope with the requirements of large-scale audio and video packet transmission and processing. The user state module is also used for intelligent learning of remote endpoints to effectively solve problems such as the inconsistency between the packet address and the address in the SIP signaling caused by the network topology of the firewall / internal network access. After the user state module identifies the remote address, it generates a forwarding rule, and then sinks the forwarding rule to the kernel module. The kernel module completes the packet forwarding in the linux kernel, thereby avoiding a large number of switches between the kernel state and the user state, and greatly reducing the CPU overhead. The kernel module for packet forwarding is a linux kernel ko (kernel object), which is dynamically loaded into the linux kernel when the system starts and is hooked to the firewall filter module of the kernel. When a media packet is received, if the forwarding rule is matched, the packet is directly forwarded using the kernel function; otherwise, no processing is performed, and it is processed by the original path of the operating system. The packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
[0015] According to a third aspect of the present invention, there is provided an electronic device, including: a memory, a processor, and an IMS traffic adaptive scheduling program stored on the memory and executable on the processor. When the IMS traffic adaptive scheduling program is executed by the processor, the steps of the above-mentioned IMS traffic adaptive scheduling method are implemented.
[0016] According to a fourth aspect of the present invention, there is provided a computer storage medium, on which an IMS traffic adaptive scheduling program is stored. When the IMS traffic adaptive scheduling program is executed by a processor, the steps of the above-mentioned IMS traffic adaptive scheduling method are implemented.
[0017] Compared with the prior art, the technical solution provided by the embodiments of the present invention can at least achieve the following beneficial effects:
[0018] This method uses a flexible number-based routing matching engine and a web-based configuration interface, making it easy to configure and modify the routing policy between trunk groups to achieve the purpose of intelligent adaptation.
[0019] Each engine of the present invention performs adaptive forwarding of traffic according to rules under the unified scheduling of the scheduling engine. At the same time, it will monitor the working status of each remote node, automatically eliminate traffic forwarding in case of failure, and automatically resume traffic forwarding when restored.
[0020] The signaling endpoint trunk group management and matching engine, number-based routing matching engine, call management engine, and media forwarding engine of the present invention are uniformly scheduled by the scheduling engine to achieve intelligent adaptive scheduling of traffic.
[0021] This solution adopts a modular design principle of low coupling and high cohesion, and uses unified scheduling and adaptive adaptation to ensure service continuity and stability.
[0022] The IMS traffic adaptive scheduling system of the present invention can achieve multi-office trunk group, two-way scheduling of IMS traffic, and end-to-end ability adaptive adaptation. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present invention and do not limit the present invention.
[0024] Figure 1 It is a schematic diagram of an IMS traffic adaptive scheduling system according to an embodiment of the present invention;
[0025] Figure 2 It is a schematic diagram of a routing matching engine module according to an embodiment of the present invention;
[0026] Figure 3 It is a schematic diagram of a call management module according to an embodiment of the present invention;
[0027] Figure 4 It is a schematic diagram of traffic scheduling by a unified scheduling module according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0028] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions of the embodiments of the present invention in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the described embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present invention.
[0029] Unless otherwise defined, the technical terms or scientific terms used herein shall have the ordinary meanings understood by those of ordinary skill in the art to which the present invention pertains. The terms "first", "second" and similar words used in the description and claims of this patent application for the present invention do not denote any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "a" or "one" do not denote a quantity limitation, but mean that there is at least one.
[0030] Figure 1 It is a schematic diagram of a system for IMS traffic adaptive scheduling according to an embodiment of the present invention.
[0031] The system for IMS traffic adaptive scheduling is implemented based on the IMS traffic network and the call center service node. As Figure 1 shown, the system for IMS traffic adaptive scheduling includes: a trunk group module, a routing matching engine module, a call management module, a media forwarding module, and a unified scheduling module.
[0032] The trunk group module is used for signaling endpoint trunk group management. The routing matching engine module is used as a matching engine to identify the remote endpoint based on the network IP address, signaling header field, and the calling and called numbers, and use it as the starting point of the incoming intelligent route. The trunk group module connects the IMS traffic network and the call center.
[0033] The routing matching engine module also manages and records remote endpoint information for the purpose of outgoing routing; the routing matching engine module manages multiple nodes and evenly distributes them among the nodes according to capacity and capabilities; the routing matching engine module identifies whether the remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node to achieve the purpose of automatic balancing.
[0034] The call management module adopts the B2BUA mode, and the call management module includes and manages multiple B2BUA units.
[0035] The media forwarding module includes a user-mode module and a kernel module; among them, the user-mode module has packet processing and forwarding capabilities to adapt to functions including audio codec conversion, DTMF in-band / RFC 2833 conversion, or tone playback.
[0036] Figure 4 It is a schematic diagram showing the traffic scheduling performed by the unified scheduling module according to an embodiment of the present invention.
[0037] As Figure 4 shown, the unified scheduling module is used to implement high-level logic including resource management and traffic scheduling; resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration. Among them, the basic operating environment includes IP address and routing, the MS SIP protocol stack configuration includes IP address, signaling port, and signaling characteristics, the media resource configuration includes the network interface used and the port range, and the scheduling-related resource configuration includes the number of B2BUAs, trunk groups, and routing; among them, traffic scheduling is triggered by a new SIP signaling (INVITE signaling), matches the incoming trunk group and finds the outgoing trunk group according to the established workflow, and delegates the session to the call management module at the end of the workflow; among them, the unified scheduling module receives instructions through the message queue, executes the instructions using the workflow, distributes complex processes and logics to modules including the trunk group module, routing matching engine module, call management module, and media forwarding module, and coordinates each module through the interfaces between modules, so as to efficiently and reliably complete the traffic allocation and transfer functions.
[0038] Each engine of the present invention performs adaptive forwarding of traffic according to rules under the unified scheduling of the scheduling engine. At the same time, it will monitor the working status of each remote node, automatically eliminate traffic forwarding in case of failure, and automatically resume traffic forwarding when restored.
[0039] Figure 2 It is a schematic diagram showing the routing matching engine module according to an embodiment of the present invention.
[0040] As Figure 2 shown, the routing matching engine module is implemented based on the user number. The routing matching engine module contains a rule table, and through high-performance matching algorithms such as rule table driving and regular expressions, it can quickly identify the trunk group endpoints of the outgoing route according to conditions; the routing matching engine module is also used to provide intelligent features including number transformation, such as SIP header field addition / modification and restriction, to meet the requirements of the outgoing route endpoints.
[0041] Among them, the rule table is implemented as a linked list, linked to the incoming trunk group endpoints to avoid global lookups. During configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first; the regular expression used for rule matching is simplified by removing unused matching rules and character sets on the basis of the general algorithm to improve performance.
[0042] This method uses a flexible number-based routing matching engine and a web-based configuration interface, making it easy to configure and modify the routing policies between trunk groups to achieve the purpose of intelligent adaptation.
[0043] Figure 3 It is a schematic diagram of a call management module according to an embodiment of the present invention.
[0044] As Figure 3 shown, a B2BUA unit includes two SIP session resources, which respectively represent both ends of a call. The B2BUA unit performs complex signaling connection and interaction, manages call establishment and disconnection of traffic; the B2BUA unit is also used to perform media negotiation and capability negotiation based on signaling interaction to make up for the media differences between the IMS and the call center platform; the call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
[0045] According to one or some embodiments of the present invention, the user-mode module adopts the epoll and thread pool modes to cope with the requirements of large-scale audio and video packet transmission and processing; the user-mode module is also used for intelligent learning of remote endpoints to effectively solve the problem of inconsistent packet addresses and the addresses in the SIP signaling due to network topologies such as firewalls / internal network access; after the user-mode module identifies the remote address, it generates a forwarding rule and then sinks the forwarding rule to the kernel module, and the kernel module completes the packet forwarding in the linux kernel, thus avoiding a large number of switches between the kernel mode and the user mode, and greatly reducing the CPU overhead.
[0046] The kernel module for packet forwarding is a linux kernel ko (kernel object), which is dynamically loaded into the linux kernel when the system starts and is hooked to the kernel's firewall filter module. When a media packet is received, if the forwarding rule is matched, the packet is directly forwarded using the kernel function; otherwise, no processing is done and it is processed by the original path of the operating system; packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
[0047] According to a second aspect of the present invention, a method for IMS traffic adaptive scheduling is provided. This method is implemented based on a system for IMS traffic adaptive scheduling, which is applied between an IMS traffic network and a call center service node, and includes: a trunk group module, a routing matching engine module, a call management module, a media forwarding module and a unified scheduling module.
[0048] This method includes:
[0049] The routing matching engine identifies the remote endpoint based on the network IP address, signaling header field, and the calling and called numbers, serving as the starting point for the incoming intelligent routing; the trunk group module is used for signaling endpoint trunk group management, connecting the IMS traffic network and the call center; the routing matching engine module simultaneously manages and records remote endpoint information for outgoing routing; the routing matching engine module manages multiple nodes and evenly allocates them based on capacity and capabilities among the nodes; the routing matching engine module identifies whether the remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node, thereby achieving the purpose of automatic balancing.
[0050] The call management module adopts the B2BUA mode, and the call management module includes and manages multiple B2BUA units.
[0051] The media forwarding module includes a user-mode module and a kernel module; among them, the user-mode module has packet processing and forwarding capabilities to adapt to functions including audio codec conversion, DTMF in-band / RFC 2833 conversion, or tone playback.
[0052] The unified scheduling module is used to implement high-level logics including resource management and traffic scheduling; resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration. Among them, the basic operating environment includes IP addresses and routing, the IMS SIP protocol stack configuration includes IP addresses, signaling ports, and signaling features, the media resource configuration includes the network interfaces used and port ranges, and the scheduling-related resource configuration includes the number of B2BUAs, trunk groups, and routing; among them, traffic scheduling is triggered by a new SIP signaling (INVITE signaling), matches the incoming trunk group and finds the outgoing trunk group according to the established workflow, and delegates the session to the call management module at the end of the workflow; among them, the unified scheduling module receives instructions through a message queue, executes the instructions using the workflow, distributes complex processes and logics to modules including the trunk group module, routing matching engine module, call management module, and media forwarding module, and coordinates each module through the interfaces between modules, thereby efficiently and reliably completing the traffic allocation and transfer functions.
[0053] The signaling endpoint trunk group management and matching engine, number-based routing matching engine, call management engine, and media forwarding engine of the present invention are uniformly scheduled by the scheduling engine to achieve intelligent adaptive traffic scheduling.
[0054] According to one or some embodiments of the present invention, the routing matching engine module is implemented based on the user number. The routing matching engine module includes a rule table, and through high-performance matching algorithms such as rule table driving and regular expressions, it can quickly identify the relay group endpoints of the route according to conditions; the routing matching engine module is also used to provide intelligent features such as number transformation, including SIP header field addition / modification and restrictions, to meet the requirements of the outgoing route endpoints.
[0055] Among them, the rule table is implemented as a linked list, linked to the incoming relay group endpoints, avoiding global lookups. During configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first; the regular expressions used for rule matching are simplified by removing unused matching rules and character sets based on the general algorithm to improve performance.
[0056] According to one or some embodiments of the present invention, a B2BUA unit includes two SIP session resources, and the SIP session resources respectively represent both ends of the call. The B2BUA unit performs complex signaling connection and interaction, manages the call establishment and disconnection of traffic; the B2BUA unit is also used to perform media negotiation and capability negotiation on the basis of signaling interaction to make up for the media differences between the IMS and the call center platform; the call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
[0057] According to one or some embodiments of the present invention, the user state module adopts the epoll and thread pool modes to cope with the requirements of large audio and video packet transmission and processing; the user state module is also used for intelligent learning of remote endpoints to effectively solve problems such as the inconsistency between the packet address and the address in the SIP signaling due to the network topology of firewall / internal network access; after the user state module identifies the remote address, it generates a forwarding rule, and then sinks the forwarding rule to the kernel module, and the kernel module completes the packet forwarding in the linux kernel, thus avoiding a large number of switches between the kernel state and the user state, and greatly reducing the CPU overhead.
[0058] The kernel module for packet forwarding is a linux kernel ko (kernel object), which is dynamically loaded into the linux kernel when the system starts, and is hooked to the kernel's firewall filter module. When a media packet is received, if the forwarding rule is matched, the kernel function is directly used to forward the packet; otherwise, no processing is done, and it is processed by the original path of the operating system; the packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
[0059] This solution adopts a modular design, the principle of low coupling and high cohesion, and uses unified scheduling and adaptive adaptation to ensure service continuity and stability.
[0060] In use, the IMS traffic adaptive scheduling system converges multiple operator IMS directions to a relay group for unified management, simplifying functions such as routing configuration, direction management, load balancing, and redundancy.
[0061] The local signaling address and the remote signaling address pair are matched to form a relay group. In a relay group, one local signaling address can correspond to multiple remote signaling addresses. If an IMS direction is represented as a remote address, multiple IMS directions can be configured into one relay group.
[0062] Since the routing is based on relay groups, the routing configuration can be unifiedly managed and simplified.
[0063] At the same time, if there are multiple directions in a relay group, there are certain configuration rules for each direction to select outgoing traffic, such as based on percentages.
[0064] At the same time, SIP signaling heartbeats can be enabled between directions to detect whether the remote end is working. When it is identified that the remote direction is working abnormally, traffic selection is not performed, and the traffic is selected to the normally working direction to achieve the purpose of redundancy.
[0065] For the business function groups of the call center (such as communication assistant, AI hearing aid, digital human), the IMS calls are scheduled to these business platforms by configuring different number routings.
[0066] Configure different business functions to different relay groups, and then configure different called routing numbers for different relay groups. When there is an incoming call, according to different called numbers, it will naturally be routed to different business functions.
[0067] In addition, functions such as number transformation, addition, and modification of SIP message headers are provided on the scheduling platform to meet the requirements of the business platform.
[0068] As Figure 3 shown, functions of number transformation and SIP header field operations are provided in the routing rules, and these functions will affect the outgoing SIP messages to meet the requirements of the backend business platform.
[0069] Implementation of two-way scheduling: That is, calls can be made from IMS to the business platform, and calls can also be made from the business platform to IMS.
[0070] Since a single routing rule is unidirectional: incoming relay group -> outgoing relay group. Establishing two routing rules can achieve the purpose of two-way scheduling. That is:
[0071] IMS relay group -> business relay group
[0072] Business relay group -> IMS relay group
[0073] Each route has its own rules and processing procedures, and there is no necessary correlation, which is more flexible than making the routing rules into two-way attributes.
[0074] According to another aspect of the present invention, there is provided a device for IMS traffic adaptive scheduling, including: a memory, a processor, and an IMS traffic adaptive scheduling program stored on the memory and operable on the processor. When the IMS traffic adaptive scheduling program is executed by the processor, the steps of the above-mentioned IMS traffic adaptive scheduling method are implemented.
[0075] The present invention also provides a computer storage medium.
[0076] An IMS traffic adaptive scheduling program is stored on the computer storage medium. When the IMS traffic adaptive scheduling program is executed by the processor, the steps of the above-mentioned IMS traffic adaptive scheduling method are implemented.
[0077] Among them, the method implemented when the IMS traffic adaptive scheduling program running on the processor is executed can refer to the various embodiments of the IMS traffic adaptive scheduling method of the present invention, which will not be elaborated here.
[0078] The present invention also provides a computer program product.
[0079] The computer program product of the present invention includes an IMS traffic adaptive scheduling program. When the IMS traffic adaptive scheduling program is executed by the processor, the steps of the IMS traffic adaptive scheduling method as described above are implemented.
[0080] Among them, the method implemented when the IMS traffic adaptive scheduling program running on the processor is executed can refer to the various embodiments of the IMS traffic adaptive scheduling method of the present invention, which will not be elaborated here.
[0081] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-described embodiment methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium as described above (such as ROM / RAM, magnetic disk, optical disc), and includes several instructions for causing a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0082] The above description is only a demonstration embodiment of the present invention and is not used to limit the protection scope of the present invention. The protection scope of the present invention is determined by the appended claims.
Claims
1. A system for IMS traffic adaptive scheduling, implemented between an IMS traffic network and a call center service node. The system includes: A trunk group module and a routing matching engine module. The trunk group module is used for signaling endpoint trunk group management. The routing matching engine module is used as a matching engine to identify a remote endpoint based on the network IP address, signaling header field, and calling / called numbers, serving as the starting point of the incoming intelligent route. The trunk group module connects the IMS traffic network and the call center. The routing matching engine module simultaneously manages and records remote endpoint information for the purpose of outgoing routing. The routing matching engine module manages multiple nodes and evenly distributes them among the nodes according to capacity and capabilities. The routing matching engine module identifies whether a remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node to achieve the purpose of automatic balance; A call management module that adopts the B2BUA mode and includes and manages multiple B2BUA units; A media forwarding module that includes a user-mode module and a kernel module. Among them, the user-mode module has packet processing and forwarding capabilities to adapt to functions including audio codec conversion, in-band DTMF / RFC 2833 conversion, or tone playback; A unified scheduling module that is used to implement high-level logic including resource management and traffic scheduling. Resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration. Among them, the basic operating environment includes IP address and routing, the IMS SIP protocol stack configuration includes IP address, signaling port, and signaling features, the media resource configuration includes the network interface used and the port range, and the scheduling-related resource configuration includes the number of B2BUAs, trunk groups, and routes. Among them, traffic scheduling is triggered by a new SIP signaling, matches the incoming trunk group and finds the outgoing trunk group according to the established workflow, and delegates the session to the call management module at the end of the workflow. Among them, the unified scheduling module receives instructions through a message queue, executes the instructions using a workflow, distributes complex processes and logics to modules including the trunk group module, routing matching engine module, call management module, and media forwarding module, and coordinates each module through the interfaces between the modules, thereby efficiently and reliably completing the traffic distribution and transfer functions, Among them, the routing matching engine module is implemented based on the user number. The routing matching engine module contains a rule table and uses high-performance matching algorithms such as rule table driving and regular expressions to quickly identify the trunk group endpoints of the outgoing route according to conditions. The routing matching engine module is also used to provide intelligent features including number transformation, SIP header field addition / modification, and restrictions to meet the requirements of the outgoing route endpoints, Among them, the rule table is implemented as a linked list, linked to the incoming relay group endpoints to avoid global lookups; during configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first; the regular expressions used for rule matching are simplified by removing unused matching rules and character sets on the basis of general algorithms to improve performance.
2. The system according to claim 1, wherein, A B2BUA unit contains two SIP session resources, which respectively represent both ends of a call. The B2BUA unit performs complex signaling connection and interaction, and manages the call establishment and disconnection of traffic; the B2BUA unit is also used to perform media negotiation and capability negotiation on the basis of signaling interaction to make up for the media differences between the IMS and the call center platform; the call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
3. The system according to claim 1, wherein The user-mode module adopts the epoll and thread pool modes to cope with the requirements of large audio and video packet transmission and processing; the user-mode module is also used for intelligent learning of remote endpoints to effectively solve problems such as the inconsistency between the packet address and the address in the SIP signaling caused by the network topology of firewall / internal network access; after the user-mode module identifies the remote address, it generates a forwarding rule and then sinks the forwarding rule to the kernel module, and the kernel module completes the packet forwarding in the linux kernel, thus avoiding a large number of switches between the kernel mode and the user mode, thereby greatly reducing the CPU overhead; The kernel module for packet forwarding is a linux kernel ko, which is dynamically loaded into the linux kernel when the system starts and is hooked to the firewall filter module of the kernel. When a media packet is received, if the forwarding rule is matched, the kernel function is directly used to forward the packet; otherwise, no processing is done and it is processed by the original path of the operating system; the packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
4. A method for IMS traffic adaptive scheduling, the method is implemented based on a system for IMS traffic adaptive scheduling, the system is applied between an IMS traffic network and a call center service node, and the system includes: Relay group module, routing matching engine module, call management module, media forwarding module and unified scheduling module, The method includes: The routing matching engine identifies the remote endpoint according to the network IP address, signaling header field and the main called number, and uses it as the starting point of the incoming intelligent routing; the relay group module is used for the management of the signaling endpoint relay group to connect the IMS traffic network and the call center; the routing matching engine module simultaneously manages and records the remote endpoint information for outgoing routing; the routing matching engine module manages multiple nodes and evenly distributes them according to capacity and capability among the nodes; the routing matching engine module identifies whether the remote endpoint is available through heartbeat information including OPTIONS / REGISTER, and then dynamically adjusts the capacity of the remote node, so as to achieve the purpose of automatic balance; The call management module adopts the B2BUA mode, and the call management module includes and manages multiple B2BUA units; The media forwarding module includes a user-space module and a kernel module; among them, the user-space module has packet processing and forwarding capabilities to adapt to functions including audio codec conversion, DTMF in-band / RFC 2833 conversion, or tone playback. The unified scheduling module is used to implement high-level logics including resource management and traffic scheduling; resource management includes: basic operating environment, IMS SIP protocol stack configuration, media resource configuration, and scheduling-related resource configuration. Among them, the basic operating environment includes IP addresses and routing, the IMS SIP protocol stack configuration includes IP addresses, signaling ports, and signaling features, the media resource configuration includes used network interfaces and port ranges, and the scheduling-related resource configuration includes the number of B2BUAs, trunk groups, and routing; among them, traffic scheduling is triggered by new SIP signaling, matches incoming trunk groups and finds outgoing trunk groups according to established workflows, and delegates the session to the call management module at the end of the workflow; among them, the unified scheduling module receives instructions through a message queue, executes the instructions using a workflow, distributes complex processes and logics to modules including the trunk group module, routing matching engine module, call management module, and media forwarding module, and coordinates each module through the interfaces between the modules, so as to efficiently and reliably complete traffic allocation and transfer functions. Among them, the routing matching engine module is implemented based on the user number. The routing matching engine module contains a rule table and uses high-performance matching algorithms such as rule table driving and regular expressions to quickly identify the trunk group endpoints of the outgoing route according to conditions; the routing matching engine module is also used to provide intelligent features including number transformation, addition / modification and restriction of SIP header fields to meet the requirements of the outgoing route endpoints. Among them, the rule table is implemented as a linked list linked to the incoming trunk group endpoints to avoid global lookups; during configuration, the rule linked list is sorted according to priority, and the higher-priority ones are matched and searched first; the regular expressions used for rule matching are simplified by removing unused matching rules and character sets on the basis of general algorithms to improve performance.
5. The method according to claim 4, wherein A B2BUA unit contains two SIP session resources, which respectively represent both ends of a call. The B2BUA unit performs complex signaling connection and interaction and manages call establishment and disconnection of traffic; the B2BUA unit is also used to perform media negotiation and capability negotiation on the basis of signaling interaction to make up for the media differences between the IMS and the call center platform; the call management module and the media forwarding module cooperate closely to complete the connection of media data packets including voice / video, so as to achieve the purpose of two-way communication.
6. The method according to claim 4, wherein The user-mode module adopts the epoll and thread pool modes to meet the requirements of large-scale audio and video packet transmission and processing; the user-mode module is also used for intelligent learning of remote endpoints to effectively solve the problem of inconsistent addresses in the packet address and SIP signaling caused by the network topology including firewall / internal network access; after the user-mode module identifies the remote address, a forwarding rule is generated and then the forwarding rule is sent down to the kernel module, and the kernel module completes the packet forwarding in the Linux kernel, thus avoiding a large number of switches between the kernel mode and the user mode, and greatly reducing the CPU overhead; The kernel module for packet forwarding is a Linux kernel ko, which is dynamically loaded into the Linux kernel when the system starts and is hooked to the kernel's firewall filter module. When a media packet is received, if the forwarding rule is matched, the kernel function is directly used to forward the packet; otherwise, no processing is done and it is processed by the original path of the operating system; packet forwarding is completed in the operating system kernel, thus achieving high speed, large capacity and low CPU occupancy.
7. An electronic device, comprising: A memory, a processor, and an IMS traffic adaptive scheduling program stored on the memory and executable on the processor, wherein when the IMS traffic adaptive scheduling program is executed by the processor, the steps of the IMS traffic adaptive scheduling method according to any one of claims 4 to 6 are implemented.
8. A computer storage medium, wherein, An IMS traffic adaptive scheduling program is stored on the computer storage medium, and when the IMS traffic adaptive scheduling program is executed by the processor, the steps of the IMS traffic adaptive scheduling method according to any one of claims 4 to 6 are implemented.
Citation Information
Patent Citations
System and method for telephone traffic scheduling between multiple call centers based on IMS platform
CN108200004A
IMS-based dispatching command agent disaster tolerance device and method
CN111756936A