Method and system for intensive transmission of im real-time voice call
Patent Information
- Application Number
- CN202610857891.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-15
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2046-06-15
AI Technical Summary
针对现有技术中无法实现第三方IM终端的IM好友与座席端浏览器之间直接实时语音通话的系统及方法,无法满足企业通过第三方IM终端开展集约式客户服务的需求,本发明旨在通过构建“座席端浏览器集约客户端+第三方IM终端+RPA程序+SIP终端+sip服务器+集约管理服务端+双虚拟声卡”的一体化架构,实现第三方IM终端与座席端浏览器之间的双向实时语音流传输
Smart Images

Figure CN122395170B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically relating to a method and system for centralized transmission of real-time voice calls in instant messaging. Background Technology
[0002] With the deepening of digital transformation, instant messaging technology has been deeply integrated into all aspects of enterprise daily operations and management. Third-party IM terminals such as WeChat Work and DingTalk, with their convenient communication capabilities and rich ecosystem functions, have gradually become key tools for enterprises to conduct core business such as customer service, business docking, and after-sales response. Especially in the fields of e-commerce, finance, and government services, a large number of customer inquiries and service needs need to be communicated in real time through the voice call function of IM terminals. IM voice calls have become an important channel for enterprises to improve customer service quality and operational efficiency.
[0003] Among them, the centralized transmission technology for real-time voice calls in IM serves as the core link connecting third-party IM terminals and customer service systems. It aims to achieve direct voice call connections between IM friends and agent browsers through technical means. It not only requires the system to have low latency and high fidelity voice transmission capabilities, but also requires seamless integration with existing customer service systems without making any underlying modifications to third-party IM terminals, so as to meet the needs of enterprises for centralized operation and management.
[0004] Current technologies still face numerous challenges in the field of centralized transmission of IM voice calls. On the one hand, current third-party IM terminals such as WeChat and DingTalk only support direct voice calls between the terminal itself and IM friends, and cannot achieve voice interconnection between IM friends and the agent's workbench browser. There is a lack of solutions in the existing technology that can establish a voice channel between third-party IM terminals and web-based customer service systems. On the other hand, existing IM aggregation systems or customer service systems can only achieve aggregated interaction of text messages and fail to achieve centralized transmission of real-time voice calls. IM friends and customer service agents cannot establish a direct voice communication link, which seriously restricts the business efficiency and service quality of enterprises conducting centralized customer service through third-party IM terminals. Summary of the Invention
[0005] The purpose of this invention is to provide a centralized transmission method and system for real-time voice calls in instant messaging (IM), which can effectively solve the problems mentioned in the background. Existing systems and methods cannot achieve direct real-time voice calls between IM friends on third-party IM terminals and agent-side browsers, thus failing to meet the needs of enterprises for centralized customer service through third-party IM terminals. This invention aims to achieve bidirectional real-time voice stream transmission between third-party IM terminals and agent-side browsers by constructing an integrated architecture consisting of "a centralized client for agent-side browsers + third-party IM terminal + RPA program + SIP terminal + SIP server + centralized management server + dual virtual sound cards."
[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0007] A method for centralized transmission of real-time voice calls in instant messaging (IM), the method comprising the following steps:
[0008] S1 executes system initialization and module deployment configuration, completes the deployment and installation of the hosting server and core server, installs the third-party IM terminal, RPA program, second SIP client module and virtual sound card program on the hosting server, and independently deploys the SIP server module and centralized management server module on the core server.
[0009] S2, configure the first virtual sound card as the default microphone and speaker of the second SIP client, configure the second virtual sound card as the default microphone and speaker of the third-party IM terminal, and connect the speaker output of the first virtual sound card to the microphone input of the second virtual sound card, and connect the speaker output of the second virtual sound card to the microphone input of the first virtual sound card to form a two-way voice channel.
[0010] S3, execute the IM friend call processing process. The RPA program monitors the call status of the third-party IM terminal in real time. After detecting the voice call request of the IM friend, it obtains the identity information of the IM friend and queries the centralized management server for the assigned agent and the first SIP client extension number corresponding to the agent.
[0011] S4, the second SIP client is invoked to initiate a call request to the SIP server. The SIP server initiates a call to the first SIP client based on the called extension number. The first SIP client and the second SIP client establish a voice connection through the SIP server.
[0012] S5 executes the IM terminal outgoing call processing procedure. The agent sends a query request to the centralized management server through the agent centralized client in the browser to query the second SIP client extension number corresponding to the IM friend to be called.
[0013] S6: The first SIP client initiates a call request to the SIP server, the SIP server initiates a call to the second SIP client, and the RPA program operates the third-party IM terminal to initiate a voice call to the corresponding IM friend, thus establishing a real-time voice call.
[0014] Further, in step S2, configuring the first virtual sound card as the default microphone and speaker for the second SIP client includes:
[0015] The microphone input of the first virtual sound card is used to receive voice data from the second SIP client, and the speaker output of the first virtual sound card is used to output voice data to the second SIP client.
[0016] Configure the second virtual sound card as the default microphone and speaker for third-party IM terminals, including:
[0017] The microphone input of the second virtual sound card is used to receive voice data from a third-party IM terminal, and the speaker output of the second virtual sound card is used to output voice data to the third-party IM terminal.
[0018] Furthermore, the specific implementation of the RPA program detecting IM friend voice call requests in step S3 includes:
[0019] The RPA program continuously monitors the operation status of third-party IM terminals through hook technology or API interface. When it detects a voice call request from an IM friend, it immediately obtains the IM friend's unique identifier, nickname, and IM account information.
[0020] Furthermore, the process of establishing a voice connection in step S4 includes:
[0021] After receiving a call request from the second SIP client, the SIP server parses the called extension number and initiates a call invitation to the corresponding first SIP client through a pre-established WebRTC connection. After the agent clicks the answer button, the first SIP client sends an answer response to the SIP server. The SIP server determines that the call has been successfully established, and the first and second SIP clients establish a voice connection channel through the SIP server.
[0022] Furthermore, the transmission path from the IM friend's voice stream to the agent in step S5 is as follows:
[0023] The voice stream from IM friends is output to the speaker of the second virtual sound card through a third-party IM terminal. The second virtual sound card speaker is then connected to the microphone input of the first virtual sound card, input to the second SIP client, transmitted to the first SIP client via the SIP server, and played to the agents through the browser.
[0024] Furthermore, the implementation of the RPA program operating the third-party IM terminal to initiate a call to IM friends in step S6 includes:
[0025] The RPA program receives call information pushed by the second SIP client through an event notification mechanism. The call information contains the friend identifier of the IM terminal. The RPA program simulates a manual click operation, opens the chat window of the third-party IM terminal, and initiates a voice call request to the corresponding IM friend.
[0026] Furthermore, the transmission path from the agent's voice stream to the IM friend in step S5 is as follows:
[0027] The voice stream of the agent is collected by the first SIP client and transmitted to the second SIP client through the SIP server. The second SIP client outputs the voice stream to the speaker of the first virtual sound card. The speaker of the first virtual sound card is then connected to the microphone input of the second virtual sound card and input to a third-party IM terminal for transmission to IM friends.
[0028] According to a second aspect of the present invention, the present invention claims protection for an IM real-time voice call centralized transmission system, the system comprising:
[0029] The agent centralized client module is deployed on the computer used by the agents and runs through a browser. It has an embedded first SIP client module, which is responsible for the collection and transmission of voice streams.
[0030] A third-party IM terminal module, deployed on a hosted server, is responsible for establishing the initial native IM voice call with IM friends;
[0031] The RPA program module, deployed on the hosting server, is responsible for monitoring the call status of third-party IM terminals, querying extension numbers from the centralized management server, and initiating calls by calling the second SIP client.
[0032] The second SIP client module is deployed on the hosting server and is responsible for the collection and playback of voice streams from the IM terminal.
[0033] The SIP server module is deployed independently on the core server and is responsible for call establishment and voice transmission between the first SIP client and the second SIP client.
[0034] The centralized management server module is independently deployed on the core server and is responsible for maintaining the correspondence between agents and IM friends, enabling extension number query and matching in inbound and outbound call scenarios;
[0035] Two virtual sound card program modules are deployed on the hosting server. The first virtual sound card serves as the dedicated microphone and speaker for the second SIP client, while the second virtual sound card serves as the dedicated microphone and speaker for the third-party IM terminal. Voice stream interconnection is achieved through directional docking.
[0036] Furthermore, the interconnection logic of the two virtual sound card program modules is as follows:
[0037] The speaker output of the first virtual sound card is connected to the microphone input of the second virtual sound card, and the speaker output of the second virtual sound card is connected to the microphone input of the first virtual sound card, forming a two-way voice channel to realize bidirectional transmission of voice streams between the second SIP client and the third-party IM terminal.
[0038] Furthermore, the call scheduling logic of the SIP server module is as follows:
[0039] It receives a call request initiated by the first or second SIP client, matches the corresponding terminal according to the extension number, establishes a voice communication link between the two parties, and implements the complete process of call initiation, route matching, session confirmation and resource release based on the call control logic of the SIP protocol.
[0040] This application relates to the field of communication technology and discloses a method and system for centralized transmission of real-time voice calls in instant messaging (IM). The agent centralized client module of this invention embeds a first SIP client responsible for voice stream acquisition and transmission; a third-party IM terminal module, an RPA program module, and a second SIP client module are deployed on a hosting server, responsible for voice stream acquisition and automated control of the IM terminal; a SIP server module is deployed independently, responsible for call setup and voice transmission; a centralized management server module is deployed independently, responsible for maintaining the correspondence between agents and IM friends; two virtual sound card program modules achieve voice stream interconnection through targeted docking. This application, by adopting an architecture of dual virtual sound card interconnection + SIP terminal + SIP server + RPA program + centralized management server, achieves bidirectional real-time voice stream transmission between the third-party IM terminal and the agent's browser, without modifying the underlying code of the IM terminal, exhibiting strong compatibility, enabling large-scale and centralized management of agents, and meeting the needs of enterprises to conduct centralized customer service through third-party IM terminals. Attached Figure Description
[0041] Figure 1 A flowchart illustrating the workflow of a real-time voice call centralized transmission method for IM claimed in an embodiment of the present invention;
[0042] Figure 2 This is a structural block diagram of an IM real-time voice call centralized transmission system claimed in an embodiment of the present invention. Detailed Implementation
[0043] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0044] The terms "first," "second," and "third" in this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first," "second," or "third" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified. All directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of this application are only used to explain the relative positional relationships and movements between components in a specific orientation (as shown in the figures). If the specific orientation changes, the directional indications also change accordingly. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0045] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0046] According to a first embodiment of the present invention, the present invention claims protection for a method for centralized transmission of real-time voice calls in IM, referring to... Figure 1 The method includes the following steps:
[0047] S1 executes system initialization and module deployment configuration, completes the deployment and installation of the hosting server and core server, installs the third-party IM terminal, RPA program, second SIP client module and virtual sound card program on the hosting server, and independently deploys the SIP server module and centralized management server module on the core server.
[0048] S2, configure the first virtual sound card as the default microphone and speaker of the second SIP client, configure the second virtual sound card as the default microphone and speaker of the third-party IM terminal, and connect the speaker output of the first virtual sound card to the microphone input of the second virtual sound card, and connect the speaker output of the second virtual sound card to the microphone input of the first virtual sound card to form a two-way voice channel.
[0049] S3, execute the IM friend call processing process. The RPA program monitors the call status of the third-party IM terminal in real time. After detecting the voice call request of the IM friend, it obtains the identity information of the IM friend and queries the centralized management server for the assigned agent and the first SIP client extension number corresponding to the agent.
[0050] S4, the second SIP client is invoked to initiate a call request to the SIP server. The SIP server initiates a call to the first SIP client based on the called extension number. The first SIP client and the second SIP client establish a voice connection through the SIP server.
[0051] S5 executes the IM terminal outgoing call processing procedure. The agent sends a query request to the centralized management server through the agent centralized client in the browser to query the second SIP client extension number corresponding to the IM friend to be called.
[0052] S6: The first SIP client initiates a call request to the SIP server, the SIP server initiates a call to the second SIP client, and the RPA program operates the third-party IM terminal to initiate a voice call to the corresponding IM friend, thus establishing a real-time voice call.
[0053] Further, in step S2, configuring the first virtual sound card as the default microphone and speaker for the second SIP client includes:
[0054] The microphone input of the first virtual sound card is used to receive voice data from the second SIP client, and the speaker output of the first virtual sound card is used to output voice data to the second SIP client.
[0055] Configure the second virtual sound card as the default microphone and speaker for third-party IM terminals, including:
[0056] The microphone input of the second virtual sound card is used to receive voice data from a third-party IM terminal, and the speaker output of the second virtual sound card is used to output voice data to the third-party IM terminal.
[0057] Furthermore, the specific implementation of the RPA program detecting IM friend voice call requests in step S3 includes:
[0058] The RPA program continuously monitors the operation status of third-party IM terminals through hook technology or API interface. When it detects a voice call request from an IM friend, it immediately obtains the IM friend's unique identifier, nickname, and IM account information.
[0059] Furthermore, the process of establishing a voice connection in step S4 includes:
[0060] After receiving a call request from the second SIP client, the SIP server parses the called extension number and initiates a call invitation to the corresponding first SIP client through a pre-established WebRTC connection. After the agent clicks the answer button, the first SIP client sends an answer response to the SIP server. The SIP server determines that the call has been successfully established, and the first and second SIP clients establish a voice connection channel through the SIP server.
[0061] Furthermore, the transmission path from the IM friend's voice stream to the agent in step S5 is as follows:
[0062] The voice stream from IM friends is output to the speaker of the second virtual sound card through a third-party IM terminal. The second virtual sound card speaker is then connected to the microphone input of the first virtual sound card, input to the second SIP client, transmitted to the first SIP client via the SIP server, and played to the agents through the browser.
[0063] Furthermore, the implementation of the RPA program operating the third-party IM terminal to initiate a call to IM friends in step S6 includes:
[0064] The RPA program receives call information pushed by the second SIP client through an event notification mechanism. The call information contains the friend identifier of the IM terminal. The RPA program simulates a manual click operation, opens the chat window of the third-party IM terminal, and initiates a voice call request to the corresponding IM friend.
[0065] Furthermore, the transmission path from the agent's voice stream to the IM friend in step S5 is as follows:
[0066] The voice stream of the agent is collected by the first SIP client and transmitted to the second SIP client through the SIP server. The second SIP client outputs the voice stream to the speaker of the first virtual sound card. The speaker of the first virtual sound card is then connected to the microphone input of the second virtual sound card and input to a third-party IM terminal for transmission to IM friends.
[0067] In this embodiment, the present invention provides a core implementation method and system for intensive transmission of real-time voice calls based on IM. The system runs in a typical enterprise customer service application scenario and is used to realize two-way real-time voice calls between IM friends on a third-party IM terminal and the agent's browser.
[0068] First, all components are installed and deployed on the managed server. The managed server utilizes high-performance server hardware, equipped with a multi-core CPU and ample memory to ensure the simultaneous operation of a third-party IM terminal, RPA program, second SIP client module, and two virtual sound card programs. The managed server's operating system is either a Linux distribution or Windows Server, providing sufficient memory address space through a 64-bit architecture.
[0069] Install a third-party IM client on the hosted server. This third-party IM client can be a WeChat Work client, DingTalk client, or other instant messaging applications that support voice calling. After the third-party IM client is deployed according to the standard installation process, it runs as a service process in the background of the hosted server, waiting to receive voice call requests from IM friends.
[0070] An RPA program is synchronously installed on the hosting server. This RPA program serves as the core of automation control, continuously running and monitoring the operational status of the third-party IM terminal. The RPA program maintains a connection with the third-party IM terminal through an inter-process communication mechanism, enabling it to obtain real-time call status change events, including but not limited to friend call events, friend answer events, friend hang-up events, and call establishment success events.
[0071] A second SIP client module is deployed on the managed server. This module acts as a client implementation of the SIP protocol, responsible for establishing SIP sessions with the SIP server and transmitting voice data. The second SIP client module creates an independent network communication thread at runtime, maintaining a persistent connection with the SIP server via UDP or TCP protocols to ensure real-time bidirectional transmission of call requests and voice data.
[0072] Two virtual sound card programs are installed on the hosting server, namely the first virtual sound card and the second virtual sound card. The first virtual sound card is configured as the default audio input and output device of the second SIP client module. Its microphone input is used to receive voice data from the second SIP client, and its speaker output is used to output voice data to the second SIP client. The second virtual sound card is configured as the default audio input and output device of the third-party IM terminal. Its microphone input is used to receive voice data from the third-party IM terminal, and its speaker output is used to output voice data to the third-party IM terminal.
[0073] Next, the bidirectional voice channel configuration between the virtual sound cards is completed. The speaker output of the first virtual sound card is logically connected to the microphone input of the second virtual sound card, so that the voice stream output by the first virtual sound card can be directly input to the microphone channel of the second virtual sound card. At the same time, the speaker output of the second virtual sound card is logically connected to the microphone input of the first virtual sound card, so that the voice stream output by the second virtual sound card can be directly input to the microphone channel of the first virtual sound card. This bidirectional connection configuration forms a complete voice loop channel, realizing bidirectional transmission of voice streams between the second SIP client and the third-party IM terminal.
[0074] The SIP server module and the centralized management server module are deployed independently on the core server. The core server also uses high-performance server hardware configuration, and the independent server deployment ensures stable and reliable communication links between services. The SIP server module runs as the server of the call subsystem, responsible for receiving call requests initiated by the first or second SIP client, matching the corresponding terminal according to the extension number, and establishing a voice communication link between the two parties. The SIP server module has a built-in SIP protocol stack, realizing the complete process of call initiation, route matching, session confirmation, and resource release.
[0075] The centralized management server module is deployed independently and is responsible for maintaining the correspondence between agents and IM friends, the correspondence between agents and the extension number of the first SIP client, and the correspondence between IM terminals and the extension number of the second SIP client. The centralized management server maintains a connection with the backend database through a database connection pool and stores various correspondence data in a structured table, supporting high-concurrency query requests.
[0076] The agent's centralized client is loaded via a browser on the agent's computer. This client is implemented using web front-end technology, embedding the first SIP client module within a JavaScript script. This first SIP client module uses WebRTC technology to capture and transmit voice streams, accessing the agent's computer's microphone and collecting voice data. Simultaneously, it transmits the voice data to the SIP server via the WebRTC data channel.
[0077] After system initialization, communication links between modules are established. The RPA program maintains process-level communication with the third-party IM terminal, the second SIP client establishes a SIP session connection with the SIP server, the first SIP client establishes a WebRTC connection with the SIP server, and the centralized management server interacts with the RPA program and agent clients via HTTP or HTTPS protocols.
[0078] When an IM friend initiates a voice call to an IM user on a hosting server via a third-party IM terminal, the system automatically executes the following processing flow.
[0079] First, the RPA program monitors the call status of the third-party IM terminal in real time. The RPA program continuously monitors the running status of the third-party IM terminal through hook technology or API interface. When a voice call request from an IM friend is detected, the RPA program immediately obtains the identity information of the IM friend, including the friend's unique identifier, friend's nickname, and the IM account to which the friend belongs.
[0080] Next, the RPA program sends a query request to the centralized management server. The query request carries the identity information of the IM friend, which is used to request the service agent corresponding to the IM friend. After receiving the query request, the centralized management server determines the corresponding service agent according to the pre-configured allocation strategy, and obtains the first SIP client extension number corresponding to the agent through the query operation. The centralized management server encapsulates the first SIP client extension number into a response message and returns it to the RPA program.
[0081] After receiving the first SIP client extension number returned by the centralized management server, the RPA program calls the second SIP client module on the managed server to initiate a call request to the SIP server. The called number carried in the call request is the extension number of the first SIP client. The call request also includes the calling number information, which is the extension number identifier bound to the second SIP client.
[0082] After receiving a call request from the second SIP client, the SIP server parses the called number in the call request and matches the corresponding terminal based on the called extension number. Since the called extension number corresponds to the first SIP client module in the agent's browser, the SIP server initiates a call invitation to the first SIP client through a pre-established WebRTC connection.
[0083] After receiving a call invitation through the agent's client in the browser, a prompt box pops up on the client interface. After the agent clicks the answer button, the first SIP client sends an answer response to the SIP server. After receiving the answer response, the SIP server determines that the call has been successfully established. At this time, the first SIP client and the second SIP client establish a voice connection channel through the SIP server.
[0084] After a voice connection is established, the voice stream from the IM friend is transmitted to the agent via the following path: The IM friend's voice stream is captured by the microphone of the third-party IM terminal and then output by the third-party IM terminal to the speaker of the second virtual sound card; the speaker output of the second virtual sound card is connected to the microphone input of the first virtual sound card, thus the voice stream enters the microphone channel of the first virtual sound card; the first virtual sound card inputs the received voice stream to the second SIP client module. The second SIP client module transmits the voice stream to the SIP server through the voice channel between the second and SIP clients, and then the SIP server transmits it to the first SIP client module at the agent's end; the first SIP client module outputs the received voice stream to the agent through the browser's built-in audio playback function.
[0085] Simultaneously, the agent's voice stream is transmitted to IM friends via the following path: The voice stream captured by the agent's computer microphone is input to the first SIP client module. The first SIP client module transmits the voice stream to the SIP server through the voice channel between the first and second SIP client modules, which then transmit it to the second SIP client module on the hosting server. The second SIP client module outputs the received voice stream to the speaker of the first virtual sound card. The speaker output of the first virtual sound card is connected to the microphone input of the second virtual sound card, thus the voice stream enters the microphone channel of the second virtual sound card. The second virtual sound card inputs the received voice stream to the third-party IM terminal. The third-party IM terminal transmits the voice stream to IM friends through its voice output channel.
[0086] When an IM friend or agent hangs up, the system executes the call disconnection logic. The first and second SIP clients each send a session release request to the SIP server. Upon receiving the release request, the SIP server disconnects the voice channel connection with both the first and second SIP clients. After detecting the call termination status of the third-party IM terminal, the RPA program records detailed call information, including call duration, IM friend identity information, and corresponding agent information, and writes the call record to the backend database. Upon receiving the call termination notification, the centralized management server updates the corresponding agent's status information, switching the agent status from busy to idle, awaiting the next assignment.
[0087] When an agent needs to call an IM friend through a third-party IM terminal, the system automatically executes the following processing flow.
[0088] First, the agent initiates a query request through the agent's centralized client workbench in the browser. The agent selects the IM friend to be called in the workbench interface and sends a query request to the centralized management server to query the extension number of the second SIP client associated with the third-party IM terminal of the IM friend. The centralized management server queries based on the identity information of the IM friend to obtain the IM terminal identifier currently associated with the friend, then queries the corresponding second SIP client extension number through the IM terminal identifier, and returns the extension number to the agent's client.
[0089] After obtaining the extension number of the second SIP client, the agent initiates a call request to the SIP server through the first SIP client module embedded in the client. The called number carried in the call request is the extension number of the second SIP client. The call request also includes accompanying data, which contains the friend identifier of the IM terminal, and is used to pass the call information to the correct IM friend in subsequent processes.
[0090] After receiving a call request from the first SIP client, the SIP server parses the called extension number from the call request and matches the corresponding terminal based on the extension number. Since the called extension number corresponds to the second SIP client module on the hosted server, the SIP server initiates a call invitation to the second SIP client through a pre-established SIP connection. When initiating the call invitation, the SIP server encapsulates the IM terminal friend identifier from the accompanying data in the call request and sends it to the second SIP client.
[0091] After receiving a call request from the SIP server, the second SIP client pushes the call information to the RPA program through an event notification mechanism. The pushed call information includes the friend identifier of the IM terminal, which is used to inform the RPA program which IM friend to call through the third-party IM terminal.
[0092] After receiving a notification from the second SIP client, the RPA program automatically operates the third-party IM terminal on the hosting server. The RPA program simulates a manual click, opens the chat window of the third-party IM terminal, and initiates a voice call request to the corresponding IM friend.
[0093] When an IM friend receives a voice call request from a third-party IM terminal, a call notification pops up on their terminal device; after the IM friend clicks the answer button, the two parties establish a real-time voice call connection.
[0094] After a voice connection is established, the agent's voice stream is transmitted to their IM friends via the following path: The voice stream captured by the agent's computer microphone is input to the first SIP client module; the first SIP client module transmits the voice stream to the SIP server through the voice channel between the first and second SIP client modules, which then transmit it to the second SIP client module on the hosting server; the second SIP client module outputs the received voice stream to the speaker of the first virtual sound card; the speaker output of the first virtual sound card is connected to the microphone input of the second virtual sound card, thus the voice stream enters the microphone channel of the second virtual sound card; the second virtual sound card inputs the received voice stream to the third-party IM terminal. The third-party IM terminal then transmits the voice stream to its IM friends through its voice output channel.
[0095] Meanwhile, the voice stream from IM friends is transmitted to the agents via the following path: the voice stream from IM friends is captured by the microphone of their terminal device and then output by the terminal device to a third-party IM terminal; after receiving the voice stream, the third-party IM terminal outputs it to the speaker of the second virtual sound card; the speaker output of the second virtual sound card is connected to the microphone input of the first virtual sound card, so the voice stream enters the microphone channel of the first virtual sound card; the first virtual sound card inputs the received voice stream to the second SIP client module; the second SIP client module transmits the voice stream to the SIP server through the voice channel between the second and SIP clients, and then the SIP server transmits it to the first SIP client module at the agent's end; the first SIP client module outputs the received voice stream to the agents through the browser's built-in audio playback function.
[0096] When an agent or IM friend hangs up the call, the system executes the call disconnection processing logic. All modules automatically disconnect, the RPA program records the call information, the centralized management server updates the agent status, and the system returns to standby mode, awaiting the next call request.
[0097] According to another embodiment of the present invention, the present invention further illustrates the system implementation method in a scenario of parallel operation of multiple IM terminals. The application scenario of this embodiment is the customer service center of a large e-commerce company, which operates multiple third-party IM terminal accounts simultaneously, each account corresponding to a different business line or customer group.
[0098] During system deployment, multiple third-party IM terminal instances are installed and run on the managed server. Each third-party IM terminal instance corresponds to an independent IM account, used for customer inquiries from different business lines. Each third-party IM terminal instance is configured with an independent RPA program instance for monitoring. Multiple RPA program instances are managed uniformly through a thread pool mechanism, with each RPA program instance running independently and monitoring its corresponding third-party IM terminal instance.
[0099] Each third-party IM terminal instance is configured with a separate second virtual sound card instance and a second SIP client instance on the hosting server. The interface between the second virtual sound card instance and the first virtual sound card instance remains unchanged, but each second SIP client instance is assigned a unique extension number for accurate differentiation during calls.
[0100] The centralized management server on the core server maintains more complex relationship mapping data. In addition to the basic correspondence between agents and IM friends, agents and the extension number of the first SIP client, and IM terminals and the extension number of the second SIP client, the centralized management server also maintains the mapping relationship between IM terminal instances and business line identifiers, as well as the allocation strategy between business lines and dedicated agent groups.
[0101] When an IM friend calls, the corresponding RPA program instance detects the call event and obtains the IM friend's identity information and their business line identifier. The RPA program instance sends a query request to the centralized management server, which includes both the IM friend's identity information and the business line identifier. The centralized management server determines the corresponding dedicated agent group based on the business line identifier and selects an available agent from that group for assignment. After obtaining the first SIP client extension number, the RPA program calls the corresponding second SIP client instance to initiate a call request to the SIP server.
[0102] Through this multi-instance parallel deployment method, the system can support large-scale concurrent call scenarios; multiple IM terminal instances can simultaneously handle customer calls from different business lines, achieving effective isolation and efficient utilization of customer service resources; in high-concurrency scenarios, the system ensures the stable operation of each service module through connection pool management and load balancing strategies.
[0103] According to a second embodiment of the present invention, referring to Figure 2 This invention claims protection for an IM real-time voice call centralized transmission system, the system comprising:
[0104] The agent centralized client module is deployed on the computer used by the agents and runs through a browser. It has an embedded first SIP client module, which is responsible for the collection and transmission of voice streams.
[0105] A third-party IM terminal module, deployed on a hosted server, is responsible for establishing the initial native IM voice call with IM friends;
[0106] The RPA program module, deployed on the hosting server, is responsible for monitoring the call status of third-party IM terminals, querying extension numbers from the centralized management server, and initiating calls by calling the second SIP client.
[0107] The second SIP client module is deployed on the hosting server and is responsible for the collection and playback of voice streams from the IM terminal.
[0108] The SIP server module is deployed independently on the core server and is responsible for call establishment and voice transmission between the first SIP client and the second SIP client.
[0109] The centralized management server module is independently deployed on the core server and is responsible for maintaining the correspondence between agents and IM friends, enabling extension number query and matching in inbound and outbound call scenarios;
[0110] Two virtual sound card program modules are deployed on the hosting server. The first virtual sound card serves as the dedicated microphone and speaker for the second SIP client, while the second virtual sound card serves as the dedicated microphone and speaker for the third-party IM terminal. Voice stream interconnection is achieved through directional docking.
[0111] Furthermore, the interconnection logic of the two virtual sound card program modules is as follows:
[0112] The speaker output of the first virtual sound card is connected to the microphone input of the second virtual sound card, and the speaker output of the second virtual sound card is connected to the microphone input of the first virtual sound card, forming a two-way voice channel to realize bidirectional transmission of voice streams between the second SIP client and the third-party IM terminal.
[0113] Furthermore, the call scheduling logic of the SIP server module is as follows:
[0114] It receives a call request initiated by the first or second SIP client, matches the corresponding terminal according to the extension number, establishes a voice communication link between the two parties, and implements the complete process of call initiation, route matching, session confirmation and resource release based on the call control logic of the SIP protocol.
[0115] In this embodiment, the present invention focuses on describing the system implementation in a complex network environment. The application scenario of this embodiment is the customer service center of a financial enterprise. Due to security and compliance requirements, the enterprise needs to deploy the managed server in a private network environment, while the core server is deployed in a public cloud environment, with the network connection between them through a firewall and a VPN tunnel.
[0116] The hosted server is deployed in a private environment within the enterprise intranet, communicating with the external network via a NAT gateway. Third-party IM terminals, RPA programs, second SIP clients, and virtual sound card programs all run within this private environment. The hosted server establishes a secure communication link with the core server via a VPN tunnel.
[0117] The core servers are deployed in a VPC (Virtual Private Network) within a public cloud environment, communicating with the external network via elastic public IP addresses. SIP servers and centralized management servers also run within this public cloud environment. Servers in the public cloud environment distribute traffic through a load balancer to ensure high availability and elastic scalability.
[0118] At the network communication layer, SIP communication between the second SIP client and the SIP server needs to traverse firewalls and NAT devices. The system employs a SIP protocol relay mechanism to solve the NAT traversal problem. By configuring STUN and TURN servers, SIP signaling can successfully traverse NAT devices. For voice data transmission, the system uses the UDP protocol for transmission and employs the RTP protocol for voice data encapsulation and synchronization.
[0119] At the security level, the system is configured with strict security policies on the firewall. External networks are only allowed to access specific ports of the core server, and communication between the hosting server and the core server is encrypted via a VPN tunnel. Data transmission between the RPA program and the centralized management server is encrypted using the HTTPS protocol to prevent the leakage of sensitive information.
[0120] This hybrid deployment architecture enables the system to meet the stringent requirements of financial institutions regarding data security and network compliance. Private deployment ensures that sensitive business data remains within the internal network, while public cloud deployment provides elastic scalability; the combination of the two achieves a balance between security and flexibility.
[0121] According to another embodiment of the present invention, the technical implementation of the system in terms of high reliability assurance is described in detail. The background of this embodiment is a government service hotline system that needs to operate 24 / 7 without interruption, placing extremely high demands on the system's stability and reliability.
[0122] The system employs a multi-layered redundancy backup mechanism. At the hosting server level, the primary hosting server and the backup hosting server synchronize data via a hot standby mechanism. Status data of third-party IM terminals, RPA programs, second SIP clients, and virtual sound card programs on the primary hosting server are synchronized to the backup server in real time. When the primary server fails, the backup server can take over the service within milliseconds, ensuring uninterrupted calls.
[0123] At the core server level, the SIP servers and centralized management server are deployed in a cluster. Multiple SIP server instances are managed uniformly through a load balancer. When an instance fails, the load balancer automatically switches traffic to other healthy instances. The centralized management server uses a master-slave database architecture, with the master and slave databases maintaining data consistency through a replication mechanism.
[0124] The system also implements persistent protection of call status. During call setup, the RPA program writes key call status information to the background database in real time. Even if the system restarts abnormally, the call connection can be restored by reading the status information from the database, ensuring that the user's call experience is unaffected.
[0125] The system operation and maintenance monitoring module monitors each service component in real time. When the response time of a component exceeds a preset threshold, the monitoring system automatically triggers an alarm to notify the operation and maintenance personnel. When a component is found to be completely unavailable, the monitoring system automatically triggers a failover process to switch the service to a backup component. The entire fault detection and failover process is executed automatically, minimizing service interruption time.
[0126] According to another embodiment of the present invention, the present invention describes the technical implementation of cross-platform IM terminal adaptation. The background of this embodiment is that an Internet company needs to support three mainstream third-party IM terminals simultaneously: WeChat Work, DingTalk, and Lark. Each IM terminal has different API interfaces and operation methods.
[0127] The system employs a unified abstraction and adaptation layer to shield the differences between various IM terminals. This layer defines standard operation interfaces, including call detection, friend information retrieval, call initiation, and call response interfaces. For each IM terminal, the adaptation layer provides corresponding implementation plugins responsible for translating standard interface calls into API calls specific to that IM terminal.
[0128] When an RPA program needs to perform an operation, it does so by calling the standard interface of the adaptation layer. Internally, the adaptation layer selects the corresponding implementation plugin to execute the actual operation based on the currently configured IM terminal type. This design allows the system to be easily extended to support new IM terminal types; only new adaptation plugins need to be developed, without modifying the core business logic.
[0129] At the virtual sound card configuration level, different IM terminals may have different requirements for audio devices. The system uses a virtual sound card management module to automatically select appropriate virtual sound card configuration parameters based on the type of IM terminal. For IM terminals requiring a specific sampling rate, the virtual sound card management module will automatically adjust the virtual sound card's sampling parameters to ensure that voice quality is not affected.
[0130] Through this cross-platform adaptability design, the system can simultaneously operate multiple types of third-party IM terminals, meeting the multi-channel customer service needs of enterprises. Customers on different IM terminals can initiate calls through their respective channels, and ultimately, the service is handled uniformly by the agent's browser.
[0131] According to another embodiment of the present invention, this embodiment describes the technical implementation of the system in a large-scale centralized agent management scenario. The application scenario of this embodiment is a customer service center of a telecommunications operator, which needs to manage thousands of agents and simultaneously serve hundreds of thousands of IM friend customers.
[0132] The system is deployed using a distributed architecture. Multiple core server nodes form a cluster, and a distributed database stores agent information, extension number mappings, and call records. A load balancer distributes requests to different server nodes to achieve high concurrency processing capabilities.
[0133] The agent management adopts a hierarchical organizational structure. Agents in different skill groups belong to different queues, and IM contacts are assigned to corresponding queues based on business type. The centralized management server has a built-in intelligent routing algorithm that dynamically allocates call requests based on the agent's current status, skill level, and historical performance to ensure a balanced service quality.
[0134] The system also features a real-time monitoring dashboard. The dashboard displays key metrics such as current call volume, connection rate, average call duration, and agent utilization. Administrators can use the dashboard to monitor the system's operational status in real time and promptly identify and address any anomalies.
[0135] The data statistics and analysis module performs multi-dimensional analysis of call data. The system automatically generates daily, weekly, and monthly reports, including statistical data such as call volume trends, service quality distribution, and customer satisfaction. This analytical data provides support for management decisions and helps companies continuously optimize service quality.
[0136] According to another embodiment of the present invention, this embodiment describes in detail the implementation of voice quality assurance technology in the system. In real-time voice call scenarios, voice quality is a key factor affecting user experience. The system ensures the quality of voice transmission from multiple levels.
[0137] At the voice acquisition level, both the first and second SIP clients employ high-sampling-rate audio acquisition modules, with a default sampling rate of 48,000 Hz, capable of fully preserving the detailed information of the voice signal. The audio acquisition module supports automatic gain control, automatically adjusting the gain coefficient based on the input volume to avoid clipping distortion due to excessive volume or insufficient signal-to-noise ratio due to insufficient volume.
[0138] At the voice coding level, the system adopts the wideband voice coding standard, which can effectively compress data volume while ensuring voice clarity. The coding module supports PLC packet loss compensation function. When packet loss occurs in the network, it can predict the lost voice data through algorithms to ensure the continuity of the call.
[0139] At the network transmission layer, the system uses the UDP protocol for voice data transmission to reduce transmission latency. The RTP protocol's timestamp mechanism ensures synchronized playback of voice data. The system also implements jitter buffering, which smooths out the impact of network jitter by setting an appropriately sized buffer queue at the receiving end.
[0140] At the voice playback level, the first SIP client outputs voice through the WebRTC audio playback interface, supports automatic mixing, and can handle multiple voice inputs simultaneously. The browser-side audio playback module adopts a low-latency mode to reduce the latency from receiving data to outputting sound.
[0141] The system also implements voice quality monitoring. During a call, the system monitors network parameters such as round-trip latency and packet loss rate in real time. When a decline in voice quality is detected, the system automatically adjusts the encoding bitrate or enables error correction coding to ensure call quality.
[0142] According to another embodiment of the present invention, this embodiment illustrates the technical implementation of the system in terms of security protection. The call data processed by the system involves customer privacy and corporate secrets, requiring strict security protection measures.
[0143] At the authentication level, agents need to pass multi-factor authentication when logging into the system. Authentication factors include username and password, digital certificate, and SMS verification code. Firstly, communication between the SIP client and the SIP server uses a two-way authentication mechanism to ensure the authenticity of both parties' identities.
[0144] At the data transmission level, SIP signaling uses TLS encryption to prevent eavesdropping or tampering. Voice data is encrypted using the SRTP protocol to ensure that call content is not illegally accessed. Data interaction between the RPA program and the centralized management server uses the HTTPS protocol, with cryptographic encryption protecting data confidentiality.
[0145] At the access control level, the system adopts a role-based access control model. Users with different roles have different operating permissions. Regular agents can only view and process their own call records, administrators can view all call statistics, and operations and maintenance personnel can modify system configuration parameters.
[0146] At the audit log level, the system logs all critical operations. Log content includes the operation time, operator, operation type, and result. Audit logs use an append-only write mode to prevent tampering. Log data is retained for at least 180 days to meet compliance audit requirements.
[0147] The system also implements data anonymization functionality. In scenarios involving statistical data display and call record queries, the system automatically anonymizes sensitive information, such as replacing the middle four digits of a phone number with asterisks to prevent the leakage of sensitive information.
[0148] According to another embodiment of the present invention, this embodiment describes the technical implementation of integrating the system with an enterprise's existing IT system. When deploying this system, enterprises typically need to integrate it with existing call center systems, CRM systems, and ticketing systems to achieve business process collaboration.
[0149] The system provides standardized API interfaces for external systems to call. The API interfaces are designed in a RESTful style and support JSON data exchange. External systems can use the API interfaces to query call records, obtain agent status, and initiate outbound call requests, etc.
[0150] When integrated with a call center system, this system can serve as the call center's voice access channel. When an IM friend calls in, the call information can be simultaneously pushed to the call center system, generating a corresponding call record. When integrated with a ticketing system, a service ticket can be automatically created after the call ends, recording the customer's problem and the processing result.
[0151] When integrated with a CRM system, the system can display basic customer information and historical service records in real time during a call. Agents can complete customer service operations from a single interface without switching systems, improving service efficiency.
[0152] The system also supports integration with a business process engine. By configuring business process rules, subsequent business processes, such as satisfaction surveys and follow-up reminders, can be automatically triggered after a call ends, thus achieving automated business processing.
[0153] According to another embodiment of the present invention, this embodiment describes in detail the implementation of the system's operation and maintenance management functions. After the system goes online, effective operation and maintenance management is needed to ensure long-term stable operation.
[0154] The system provides a visual management console. Administrators can use the console to view system operating status, configure system parameters, and manage user accounts. The console adopts a responsive design and supports access on both desktop and mobile devices.
[0155] The configuration management function supports online modification and hot updates of parameters. When system parameters need to be adjusted, administrators can modify them in the console, and the system will automatically distribute the new parameters to all service components, taking effect without restarting the services.
[0156] The system health check function periodically monitors the operational status of each component. The checks include service process liveness, database connection status, and network connectivity. When an anomaly is detected, the system automatically triggers an alarm notification and attempts to automatically repair the issue using a pre-defined recovery script.
[0157] The backup and restore function regularly backs up system data. Backups include database data, configuration files, and call recordings. Backup data supports rapid recovery, enabling restoration to a normal state in the shortest possible time in the event of data loss or corruption.
[0158] The upgrade management function supports smooth system upgrades. The system adopts a blue-green deployment strategy, where the new version is first deployed and verified in a backup environment before switching traffic to the new version. The upgrade process does not affect the call experience of online users.
[0159] According to another embodiment of the present invention, this embodiment describes the implementation of the call volume reporting function of the system. Call volume reports are an important basis for enterprises to evaluate the effectiveness of customer service operations, and the system provides a variety of reporting functions.
[0160] Real-time reports display the current call volume status. Report content includes metrics such as the number of online agents, the number of calls in the waiting queue, average waiting time, and real-time connection rate. Real-time reports refresh every second, helping managers stay informed about the current situation.
[0161] The historical reports offer richer call statistics. Report dimensions include time dimensions such as by hour, date, week, and month, as well as business dimensions such as by service type, agent group, and IM terminal. Reports support custom time periods and filtering conditions to meet diverse analytical needs.
[0162] The report export function supports exporting report data to Excel format. The exported Excel file contains detailed data breakdowns and summary charts, facilitating secondary analysis and archiving by administrators.
[0163] The system also supports custom reporting. Administrators can define personalized report templates through the configuration interface, selecting the metrics and data dimensions to be displayed. This flexible custom reporting feature meets the diverse analytical needs of enterprises.
[0164] According to another embodiment of the present invention, this embodiment describes the technical implementation of the system in intelligent customer service assistance. The system can be integrated with an intelligent voice assistant to provide intelligent assistance services to agents.
[0165] The intelligent speech recognition module converts voice messages from IM friends into text in real time. The converted text is then simultaneously displayed on the agent's interface, helping agents accurately understand customer inquiries. The speech recognition module uses a deep learning model, enabling it to adapt to different accents and speaking styles.
[0166] The intelligent question-answering recommendation module automatically recommends relevant knowledge base answers based on the customer's question. Agents can use the recommended answers with a single click to quickly respond to customer inquiries. The recommendation algorithm is based on natural language understanding technology, enabling it to accurately match the question's intent.
[0167] The real-time call monitoring module analyzes call content in real time. When it detects a customer's emotional state or the use of sensitive keywords, the system automatically alerts agents to take appropriate action. This real-time monitoring function helps agents better manage the pace of the call.
[0168] The intelligent summary module automatically generates a call summary after the call ends. The summary includes an overview of the customer's problem, a description of the solution, and follow-up items. This intelligent summary function reduces the note-taking burden on agents and improves work efficiency.
[0169] In summary, this invention, by constructing an integrated centralized transmission architecture consisting of "virtual sound card interconnection + SIP terminal + SIP server + RPA program + centralized management server + browser agent client," achieves for the first time direct real-time voice calls between IM friends on a third-party IM terminal and the agent's browser. Lossless capture and forwarding of the third-party IM terminal's voice stream is achieved through dual virtual sound card interconnection, without requiring modification of the third-party IM terminal's underlying code, ensuring strong compatibility and eliminating infringement risks. The agent centralized client is developed through a browser, eliminating the need to install dedicated software on agent computers. Multiple agents can access the system centrally through a browser, with the RPA service automatically matching IM friends and agents, enabling large-scale, centralized agent management. WebRTC technology is used to encapsulate the voice acquisition and transmission of the first SIP client, ensuring low latency and high fidelity of the voice stream. The cooperation between the SIP terminal and the SIP server further enhances the stability of the call connection. Each module of the system can be deployed independently and is replaceable. The number of agents and the type of IM terminal can be flexibly adjusted according to the needs of enterprises. It supports seamless integration with existing call subsystems and customer management systems and can be widely used in enterprise scenarios such as e-commerce, finance, internet, and government services that require a large number of agents to provide customer consultation, after-sales response, and business processing.
[0170] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0171] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units. The above are merely embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made based on the description and drawings of this application, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
[0172] The specific embodiments of the invention have been described in detail above, but they are only examples, and this application is not limited to the specific embodiments described above. For those skilled in the art, any equivalent modifications or substitutions to the invention are also within the scope of this application. Therefore, all equivalent changes, modifications, and improvements made without departing from the spirit and principles of this application should be covered within the scope of this application.
Claims
1. A method for centralized transmission of real-time voice calls in instant messaging (IM), characterized in that, The method includes the following steps: S1 executes system initialization and module deployment configuration, completes the deployment and installation of the hosting server and core server, installs the third-party IM terminal, RPA program, second SIP client module and virtual sound card program on the hosting server, and independently deploys the SIP server module and centralized management server module on the core server. S2, configure the first virtual sound card as the default microphone and speaker of the second SIP client, configure the second virtual sound card as the default microphone and speaker of the third-party IM terminal, and connect the speaker output of the first virtual sound card to the microphone input of the second virtual sound card, and connect the speaker output of the second virtual sound card to the microphone input of the first virtual sound card to form a two-way voice channel. S3, execute the IM friend call processing process. The RPA program monitors the call status of the third-party IM terminal in real time. After detecting the voice call request of the IM friend, it obtains the identity information of the IM friend and queries the centralized management server for the assigned agent and the first SIP client extension number corresponding to the agent. S4, the second SIP client is invoked to initiate a call request to the SIP server. The SIP server initiates a call to the first SIP client based on the called extension number. The first SIP client and the second SIP client establish a voice connection through the SIP server. S5 executes the IM terminal outgoing call processing procedure. The agent sends a query request to the centralized management server through the agent centralized client in the browser to query the second SIP client extension number corresponding to the IM friend to be called. S6, the first SIP client initiates a call request to the SIP server, the SIP server initiates a call to the second SIP client, and the RPA program operates the third-party IM terminal to initiate a voice call to the corresponding IM friend, thus establishing a real-time voice call; The called number carried in the call request is the extension number of the second SIP client. The call request also includes accompanying data, which contains the friend identifier of the IM terminal, and is used to pass the call information to the correct IM friend in subsequent processes. After receiving a call request from the first SIP client, the SIP server parses the called extension number in the call request, matches the corresponding terminal based on the called extension number, and initiates a call invitation to the second SIP client through a pre-established SIP connection. When initiating the call invitation, the SIP server encapsulates the IM terminal friend identifier in the accompanying data in the call request and sends it to the second SIP client together. After receiving the call request from the SIP server, the second SIP client pushes the call information to the RPA program through the event notification mechanism; The push call information includes the friend identifier of the IM terminal, which is used to inform the RPA program which IM friend to call through the third-party IM terminal; After receiving a notification from the second SIP client, the RPA program automatically operates the third-party IM terminal on the hosting server. The RPA program simulates a manual click operation, opens the chat window of the third-party IM terminal, and initiates a voice call request to the corresponding IM friend. When an IM friend receives a voice call request from a third-party IM terminal, a call notification pops up on their terminal device; after the IM friend clicks the answer button, the two parties establish a real-time voice call connection.
2. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, Step S2 configures the first virtual sound card as the default microphone and speaker for the second SIP client, including: The microphone input of the first virtual sound card is used to receive voice data from the second SIP client, and the speaker output of the first virtual sound card is used to output voice data to the second SIP client. Configure the second virtual sound card as the default microphone and speaker for third-party IM terminals, including: The microphone input of the second virtual sound card is used to receive voice data from a third-party IM terminal, and the speaker output of the second virtual sound card is used to output voice data to the third-party IM terminal.
3. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, The specific implementation of the RPA program detecting incoming voice call requests from IM friends in step S3 includes: The RPA program continuously monitors the operation status of third-party IM terminals through hook technology or API interface. When it detects a voice call request from an IM friend, it immediately obtains the IM friend's unique identifier, nickname, and IM account information.
4. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, The process of establishing a voice connection in step S4 includes: After receiving a call request from the second SIP client, the SIP server parses the called extension number and initiates a call invitation to the corresponding first SIP client through a pre-established WebRTC connection. After the agent clicks the answer button, the first SIP client sends an answer response to the SIP server. The SIP server determines that the call has been successfully established, and the first and second SIP clients establish a voice connection channel through the SIP server.
5. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, The transmission path from the IM friend's voice stream to the agent in step S5 is as follows: The voice stream from IM friends is output to the speaker of the second virtual sound card through a third-party IM terminal. The second virtual sound card speaker is then connected to the microphone input of the first virtual sound card, input to the second SIP client, transmitted to the first SIP client via the SIP server, and played to the agents through the browser.
6. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, In S5, when an agent needs to call an IM friend through a third-party IM terminal, the agent initiates a query request through the agent centralized client workbench in the browser. The agent selects the IM friend to be called in the workbench interface and sends a query request to the centralized management server to query the second SIP client extension number associated with the third-party IM terminal corresponding to the IM friend. The centralized management server queries the identity information of IM friends to obtain the IM terminal identifier currently associated with the friend, then queries the corresponding second SIP client extension number through the IM terminal identifier, and returns the extension number to the agent client. After obtaining the extension number of the second SIP client, the agent initiates a call request to the SIP server through the first SIP client module embedded in the client.
7. The IM real-time voice call centralized transmission method according to claim 1, characterized in that, The transmission path from the agent's voice stream to the IM friend in step S5 is as follows: The voice stream of the agent is collected by the first SIP client and transmitted to the second SIP client through the SIP server. The second SIP client outputs the voice stream to the speaker of the first virtual sound card. The speaker of the first virtual sound card is then connected to the microphone input of the second virtual sound card and input to a third-party IM terminal for transmission to IM friends.
8. A centralized transmission system for real-time IM voice calls, used to execute the centralized transmission method for real-time IM voice calls as described in any one of claims 1-7, characterized in that, The system includes: The agent centralized client module is deployed on the computer used by the agents and runs through a browser. It has an embedded first SIP client module, which is responsible for the collection and transmission of voice streams. A third-party IM terminal module, deployed on a hosted server, is responsible for establishing the initial native IM voice call with IM friends; The RPA program module, deployed on the hosting server, is responsible for monitoring the call status of third-party IM terminals, querying extension numbers from the centralized management server, and initiating calls by calling the second SIP client. The second SIP client module is deployed on the hosting server and is responsible for the collection and playback of voice streams from the IM terminal. The SIP server module is deployed independently on the core server and is responsible for call establishment and voice transmission between the first SIP client and the second SIP client. The centralized management server module is independently deployed on the core server and is responsible for maintaining the correspondence between agents and IM friends, enabling extension number query and matching in inbound and outbound call scenarios; Two virtual sound card program modules are deployed on the hosting server. The first virtual sound card serves as the dedicated microphone and speaker for the second SIP client, while the second virtual sound card serves as the dedicated microphone and speaker for the third-party IM terminal. Voice stream interconnection is achieved through directional docking.
9. The IM real-time voice call centralized transmission system according to claim 8, characterized in that, The interconnection logic between the two virtual sound card program modules is as follows: The speaker output of the first virtual sound card is connected to the microphone input of the second virtual sound card, and the speaker output of the second virtual sound card is connected to the microphone input of the first virtual sound card, forming a two-way voice channel to realize bidirectional transmission of voice streams between the second SIP client and the third-party IM terminal.
10. The IM real-time voice call centralized transmission system according to claim 8, characterized in that, The call scheduling logic of the SIP server module is as follows: It receives a call request initiated by the first or second SIP client, matches the corresponding terminal according to the extension number, establishes a voice communication link between the two parties, and implements the complete process of call initiation, route matching, session confirmation and resource release based on the call control logic of the SIP protocol.
Citation Information
Patent Citations
Audio transmission device, voice interaction system, intelligent interaction integration platform and method
CN117834779A
Route switching method and system based on enterprise micro voice and customer service platform
CN120263903A