Communication switching method and apparatus, electronic device, and non-transitory storage medium
By establishing audio and video channels in the IMS network and switching to the video channel after successful negotiation, the inefficiency problem of VoLTE users switching from audio to video calls is solved, achieving smooth communication switching and improving user experience and call center business capabilities.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2022-12-28
- Publication Date
- 2026-06-23
AI Technical Summary
In call center scenarios within an IMS network, when VoLTE users switch from audio to video calls, they need to hang up and re-initiate the video call, resulting in low switching efficiency and failing to meet the flexible audio-video switching requirements of call centers.
After receiving a call command from the terminal, an audio and video channel is established, and the channel is switched to video after successful negotiation. By utilizing the media renegotiation mechanism of the IMS core network, a smooth audio-to-video switch can be achieved.
It improved the user experience, enriched the business acceptance scenarios of the call center, simplified the switching process, and improved switching efficiency.
Smart Images

Figure CN116248638B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and more specifically, to a communication switching method, apparatus, electronic device, and non-volatile storage medium. Background Technology
[0002] In call center applications based on IMS networks, VoLTE users can be transferred to voice agents via the call center platform when an audio call is initiated, and to video agents when a video call is initiated. However, in real-world applications, there are scenarios where, after an audio call and a voice agent have spoken, video facial verification is required for business purposes, necessitating support for switching from audio to video calls. Traditional solutions require the VoLTE user to hang up and re-initiate a video call, or to modify the business process to meet the business acceptance requirements. Furthermore, the audio / video communication switching between physical terminals in the core network cannot meet the routing queuing and flexible audio / video switching requirements of call centers, resulting in cumbersome and inefficient audio / video switching processes.
[0003] There is currently no effective solution to the above problems. Summary of the Invention
[0004] This application provides a communication switching method, apparatus, electronic device, and non-volatile storage medium to at least solve the technical problem of low audio-video switching efficiency caused by the fact that when switching from audio to video calls, users need to hang up and re-initiate a video call after the audio call is initiated and then switched to video calls.
[0005] According to one aspect of the embodiments of this application, a communication switching method is provided, comprising: upon receiving a first call instruction sent by a first terminal, forwarding the first call instruction to a corresponding second terminal, and sending a second call instruction carrying a first tag to the second terminal, wherein the first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data streams through the first channel, and the second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal, the first channel being used for audio communication and the second communication channel being used for video communication; upon receiving a target communication instruction carrying a second tag sent by the second terminal, sending a renegotiation instruction to the first terminal, wherein the target communication instruction carrying the second tag is used to instruct switching from audio communication to video communication; and upon receiving a negotiation success instruction returned by the first terminal in response to the renegotiation instruction, switching the communication channel between the first terminal and the second terminal to the second channel and transmitting data streams through the second channel.
[0006] Optionally, the method further includes: upon receiving a target communication instruction that does not carry a second tag, determining the target sending object in the target communication instruction, wherein the target sending object includes at least one of the following: a first terminal and a second terminal; forwarding the target communication instruction to the target sending object, wherein the target communication instruction that does not carry a second tag is used for message passing between the first terminal and the second terminal.
[0007] Optionally, the method further includes: upon receiving a second call instruction sent by a first terminal that does not carry a first tag, forwarding the second call instruction to the corresponding second terminal, wherein the second call instruction that does not carry a first tag is used to establish a second channel between the first terminal and the second terminal, and to transmit data stream through the second channel.
[0008] Optionally, upon receiving a first call instruction from a first terminal, forwarding the first call instruction to the corresponding second terminal includes: determining the target address information in the first call instruction; determining the second terminal based on the target address information, and adding the first call instruction to the call instruction queue corresponding to the second terminal, wherein the call instruction queue is used to send the first call instruction in the call instruction queue to the second terminal in the order of the queue.
[0009] Optionally, sending a renegotiation instruction to the first terminal includes: generating target verification information based on the identification information of the first terminal and the second terminal, wherein the target verification information is used to verify the trustworthiness of the first terminal; adding the target verification information to the renegotiation instruction, and sending the renegotiation instruction with the target verification information added to the first terminal.
[0010] Optionally, after sending the renegotiation instruction to add target verification information to the first terminal, the method further includes: if the verification feedback information returned by the first terminal in response to the target verification information in the renegotiation instruction fails, sending a first alarm message, wherein the first alarm message is used to indicate that the first terminal is untrusted.
[0011] Optionally, the method further includes: upon receiving a negotiation failure instruction returned by the first terminal in response to the renegotiation instruction, sending a second alarm message, wherein the second alarm message is used to indicate that the first terminal refuses to perform channel switching.
[0012] According to another aspect of the embodiments of this application, a communication switching device is also provided, comprising: a channel establishment module, configured to, upon receiving a first call instruction sent by a first terminal, forward the first call instruction to a corresponding second terminal and send a second call instruction carrying a first tag to the second terminal, wherein the first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data stream through the first channel, and the second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal, the first channel being used for audio communication and the second communication channel being used for video communication; a switching negotiation module, configured to, upon receiving a target communication instruction carrying a second tag sent by the second terminal, send a renegotiation instruction to the first terminal, wherein the target communication instruction carrying the second tag is used to instruct switching audio communication to video communication; and a channel switching module, configured to, upon receiving a negotiation success instruction returned by the first terminal in response to the renegotiation instruction, switch the communication channel between the first terminal and the second terminal to the second channel and transmit data stream through the second channel.
[0013] According to another aspect of the embodiments of this application, an electronic device is also provided, the electronic device including a processor, the processor being configured to run a program, wherein the program executes a communication switching method during runtime.
[0014] According to another aspect of the embodiments of this application, a non-volatile storage medium is also provided, the non-volatile storage medium including a stored computer program, wherein the device where the non-volatile storage medium is located executes a communication switching method by running the computer program.
[0015] In this embodiment, upon receiving a first call instruction from a first terminal, the first call instruction is forwarded to a corresponding second terminal, and a second call instruction carrying a first tag is sent to the second terminal. The first call instruction establishes a first channel between the first and second terminals for data stream transmission, while the second call instruction carrying the first tag establishes a second channel between the first and second terminals. The first channel is used for audio communication, and the second communication channel is used for video communication. Upon receiving a target communication instruction carrying a second tag from the second terminal, a renegotiation instruction is sent to the first terminal. This target communication instruction carrying the second tag instructs the switching from audio communication to video communication. Upon receiving a successful negotiation instruction from the first terminal in response to the renegotiation command, the communication channel between the first and second terminals is switched to the second channel, and data is transmitted through the second channel. This allows VoLTE users, after connecting to the call center platform via audio, to smoothly switch from a voice call to a video call based on real-time call service requirements. This upgrades the call from audio to VoLTE video, improving customer experience and enriching the call center's service scenarios. It also solves the technical problem of low audio-video switching efficiency caused by the current requirement for users to hang up and re-initiate a video call after a call is initiated via audio and then switched to video. Attached Figure Description
[0016] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0017] Figure 1 This is a hardware structure block diagram of a computer terminal (or electronic device) for implementing a communication switching method according to an embodiment of this application;
[0018] Figure 2 This is a schematic diagram of a communication switching method according to an embodiment of this application;
[0019] Figure 3 This is a schematic diagram illustrating a call session implementation process according to an embodiment of this application;
[0020] Figure 4 This is a schematic diagram of a method for switching audio and video interaction based on a telecommunications VoLTE network according to an embodiment of this application;
[0021] Figure 5 This is a schematic diagram of a communication switching device provided according to an embodiment of this application. Detailed Implementation
[0022] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present application.
[0023] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. 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 apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0024] Currently, audio and video switching based on VoLTE communication primarily involves switching between physical terminals using the core network's standard communication capabilities. This includes some IoT communication boxes achieving audio and video communication switching capabilities on third-party television terminals through intermediate signaling negotiation. However, in call center platform applications based on the telecom IMS network, VoLTE users can initiate call service requests using both audio and video. Depending on the media attributes carried by the caller, the call is routed to either voice or video agents. This provides call centers with the service handling capabilities for both voice and video call channels. Based on the communication terminal's adaptability and adhering to the communication specifications and protocols of the telecom IMS network, VoLTE users can flexibly choose to initiate calls using either voice or video, with the call center platform handling protocol adaptation and providing the corresponding communication media.
[0025] In related technologies, after a user initiates an audio call and speaks with a voice agent, when switching from an audio to a video call, the user needs to hang up and re-initiate a video call, or the service process needs to be modified to achieve the desired service acceptance. Therefore, the audio-video switching process is cumbersome and inefficient. To address this issue, this application provides a related solution, which is detailed below.
[0026] According to an embodiment of this application, a method embodiment for communication switching is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0027] The methods and embodiments provided in this application can be executed on mobile terminals, computer terminals, or similar computing devices. Figure 1 A hardware block diagram of a computer terminal (or electronic device) for implementing a communication switching method is shown. Figure 1 As shown, the computer terminal 10 (or electronic device 10) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) 102 (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission module 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.
[0028] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or electronic device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).
[0029] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the communication switching method in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the above-mentioned communication switching method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0030] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.
[0031] The display may be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of the computer terminal 10 (or electronic device).
[0032] Under the above operating environment, this application provides a communication switching method. Figure 2 This is a schematic diagram of a communication switching method provided according to an embodiment of this application. This method can be applied to mainstream call session application scenarios.
[0033] The following section introduces the procedures for implementing a call session. Figure 3 This is a schematic diagram of a call session implementation process provided according to an embodiment of this application, such as... Figure 3 As shown, the call center includes: a SIP-GW module, a PBX module, a CTI module, and an Agent module.
[0034] The SIP-GW module is responsible for connecting to the core network CSCF (Call Session Control Function) to perform basic processing and distribution of incoming call signaling.
[0035] The PBX module is responsible for functions such as call center media processing, media channel bridging and connection, audio playback, and key fetching.
[0036] The CTI module is the core module of the call center, used to implement call dispatch control and communication terminal management functions.
[0037] The Agent module is a call center agent terminal that enables call center node check-in and audio / video call connection control.
[0038] During a call session, the VoLTE user initiates an audio call that travels through the IMS core network to the call center's SIP-GW module. The SIP-GW module routes the call to a PBX module for media reception. The PBX module queues the call, and the CTI assigns the call to an agent on the agent's side. The user and the customer service representative then engage in an audio conversation.
[0039] The communication switching method provided in the real-time example of this application is as follows: Figure 2 As shown, the method includes the following steps:
[0040] Step S202: Upon receiving a first call instruction sent by the first terminal, the first call instruction is forwarded to the corresponding second terminal, and a second call instruction carrying a first tag is sent to the second terminal. The first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data streams through the first channel. The second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal. The first channel is used for audio communication, and the second communication channel is used for video communication.
[0041] The first terminal mentioned above is the communication device of the user calling customer service, and the second terminal mentioned above is the communication device of the customer being called.
[0042] In some embodiments of this application, when a first call instruction is received from a first terminal, forwarding the first call instruction to the corresponding second terminal includes the following steps: determining the target address information in the first call instruction; determining the second terminal based on the target address information, and adding the first call instruction to the call instruction queue corresponding to the second terminal, wherein the call instruction queue is used to send the first call instruction in the call instruction queue to the second terminal in the order of the queue.
[0043] When a user initiates a video call directly, the method further includes the following steps: upon receiving a second call instruction sent by the first terminal without carrying the first tag, the second call instruction is forwarded to the corresponding second terminal, wherein the second call instruction without carrying the first tag is used to establish a second channel between the first terminal and the second terminal, and to transmit data stream through the second channel.
[0044] Step S204: Upon receiving a target communication instruction carrying a second tag sent by the second terminal, a renegotiation instruction is sent to the first terminal, wherein the target communication instruction carrying the second tag is used to instruct the switching of audio communication to video communication.
[0045] The aforementioned renegotiation instruction is used to negotiate with the user terminal (first terminal) to switch the currently ongoing voice call to a video call.
[0046] In some embodiments of this application, the method further includes the following steps: upon receiving a target communication instruction that does not carry a second tag, determining the target sending object in the target communication instruction, wherein the target sending object includes at least one of the following: a first terminal and a second terminal; forwarding the target communication instruction to the target sending object, wherein the target communication instruction that does not carry a second tag is used for message passing between the first terminal and the second terminal.
[0047] In some embodiments of this application, sending a renegotiation instruction to a first terminal includes the following steps: generating target verification information based on the identification information of the first terminal and the second terminal, wherein the target verification information is used to verify the trustworthiness of the first terminal; adding the target verification information to the renegotiation instruction, and sending the renegotiation instruction with the added target verification information to the first terminal.
[0048] In some embodiments of this application, after sending the renegotiation instruction to add target verification information to the first terminal, the following steps are further included: if the verification feedback information returned by the first terminal in response to the target verification information in the renegotiation instruction fails, a first alarm message is sent, wherein the first alarm message is used to indicate that the first terminal is untrusted.
[0049] In some embodiments of this application, the method further includes the following steps: upon receiving a negotiation failure instruction returned by the first terminal in response to the renegotiation instruction, sending a second alarm message, wherein the second alarm message is used to indicate that the first terminal refuses to perform channel switching.
[0050] Step S206: Upon receiving a successful negotiation instruction returned by the first terminal in response to the renegotiation instruction, the communication channel between the first terminal and the second terminal is switched to the second channel, and data stream transmission is performed through the second channel.
[0051] Specifically, in the IMS network, the calling party is a VoLTE user, and the mobile terminal supports video calls. When a business scenario requires video communication, when the customer service representative initiates the audio-to-video conversion operation, the agent's terminal (i.e., the aforementioned second terminal) sends an INFO message (i.e., the aforementioned target communication instruction) to the PBX, carrying an A2V header field (i.e., the aforementioned second tag), notifying the PBX to perform video interaction. After receiving the INFO message with the A2V header field, the PBX initiates a re-INVITE (i.e., the aforementioned renegotiation instruction) to the calling party, renegotiation the media to video communication. After the customer's mobile phone (i.e., the aforementioned first terminal) receives the renegotiation request, the PBX bridges the video communication between the customer and the customer service representative.
[0052] The communication switching method in steps S202 to S206 of the embodiments of this application will be further described below.
[0053] Figure 4 This is a schematic diagram illustrating a method for audio and video interaction switching based on a VoLTE network according to an embodiment of this application. Figure 4 As shown, the method includes the following steps:
[0054] In step S401, the VoLTE user (first terminal) initiates a call using audio (i.e., issues the aforementioned first call command) to the softswitch module pbx;
[0055] In step S402, when entering the queue to transfer to an agent, pbx initiates a video call (i.e., the second call instruction mentioned above) to the agent terminal in advance, and includes the header field label T0 (i.e., the first label mentioned above);
[0056] In step S403, when the agent terminal (i.e., the second terminal mentioned above) receives the video call, it detects the T0 tag and establishes a video channel (i.e., the second channel mentioned above) in advance, but does not perform video stream interaction.
[0057] In step S404, the agent terminal sends an INFO message (i.e., the target communication instruction mentioned above) to the pbx, carrying the A2V header field (i.e., the second tag mentioned above), to notify the pbx to perform video interaction.
[0058] In step S405, after receiving the INFO message with the A2V header field, pbx initiates a re-INVITE (i.e., the above-mentioned renegotiation instruction) to the calling party, and renegotiation media is video communication;
[0059] In step S406, after the customer's mobile phone (i.e., the first terminal mentioned above) receives the renegotiation request, pbx bridges the video communication between the customer and the customer service representative.
[0060] This application fully utilizes the media renegotiation mechanism of the IMS core network; no modifications are required to the relevant network elements of the core network; agent terminals can quickly switch from audio to video, and based on this logic, it can also meet the scenario of falling back from video communication to audio communication; a simple switching mechanism simplifies the design of the signaling interaction logic of the agent terminal, allowing the agent terminal to focus on the implementation of the business-side logic and ensuring the stability of the communication layer; it provides a solution for audio and video switching of soft communication terminals in call center routing queuing scenarios, meeting the audio and video call switching capabilities of multiple agent terminals according to the call business scenario requirements.
[0061] This application's solution allows agent terminals to reserve video call resources in advance during audio calls, preparing for upgrades and using resources on demand to improve resource utilization. It uses INFO messages to upgrade audio to video, reducing the complex process of media renegotiation. It significantly reduces the requirements for client terminals, simplifies client design, and increases the reliability of the communication layer.
[0062] Through the above steps, after VoLTE users are connected to the call center platform via audio calls, the current voice call with a human agent can be smoothly switched to a video call according to the requirements of the real-time call service scenario. This achieves the goal of upgrading from audio calls to VoLTE video calls, improving customer experience, and enriching the call center's service handling scenarios. In turn, it solves the technical problem of low audio-video switching efficiency caused by the current requirement for users to hang up and re-initiate a video call when switching from audio to video calls after initiating an audio call and connecting with a human agent.
[0063] According to an embodiment of this application, an embodiment of a communication switching device is also provided. Figure 5 This is a schematic diagram of a communication switching device according to an embodiment of this application. Figure 5 As shown, the device includes:
[0064] The channel establishment module 50 is used to forward the first call instruction to the corresponding second terminal when it receives the first call instruction sent by the first terminal, and send a second call instruction carrying a first tag to the second terminal. The first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data stream through the first channel. The second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal. The first channel is used for audio communication and the second communication channel is used for video communication.
[0065] In some embodiments of this application, when the channel establishment module 50 receives a first call instruction sent by the first terminal, forwarding the first call instruction to the corresponding second terminal includes: determining the target address information in the first call instruction; determining the second terminal based on the target address information, and adding the first call instruction to the call instruction queue corresponding to the second terminal, wherein the call instruction queue is used to send the first call instruction in the call instruction queue to the second terminal in the order of the queue.
[0066] In some embodiments of this application, the channel establishment module 50 further includes: upon receiving a second call instruction sent by the first terminal that does not carry the first tag, forwarding the second call instruction to the corresponding second terminal, wherein the second call instruction that does not carry the first tag is used to establish a second channel between the first terminal and the second terminal, and to transmit data stream through the second channel.
[0067] The switching negotiation module 52 is used to send a renegotiation instruction to the first terminal when it receives a target communication instruction carrying a second tag sent by the second terminal. The target communication instruction carrying the second tag is used to indicate that audio communication is switched to video communication.
[0068] In some embodiments of this application, the handover negotiation module 52 further includes: upon receiving a target communication instruction that does not carry a second tag, determining the target sending object in the target communication instruction, wherein the target sending object includes at least one of the following: a first terminal and a second terminal; forwarding the target communication instruction to the target sending object, wherein the target communication instruction that does not carry a second tag is used for message passing between the first terminal and the second terminal.
[0069] In some embodiments of this application, the switching negotiation module 52 sends a renegotiation instruction to the first terminal, including: generating target verification information based on the identification information of the first terminal and the second terminal, wherein the target verification information is used to verify the trustworthiness of the first terminal; adding the target verification information to the renegotiation instruction, and sending the renegotiation instruction with the added target verification information to the first terminal.
[0070] In some embodiments of this application, after the switching negotiation module 52 sends the renegotiation instruction to add target verification information to the first terminal, it further includes: if the verification feedback information returned by the first terminal in response to the target verification information in the renegotiation instruction fails, sending a first alarm message, wherein the first alarm message is used to indicate that the first terminal is untrusted.
[0071] In some embodiments of this application, the handover negotiation module 52 further includes: sending a second alarm message upon receiving a negotiation failure instruction returned by the first terminal in response to the renegotiation instruction, wherein the second alarm message is used to indicate that the first terminal refuses to perform channel handover.
[0072] The channel switching module 54 is used to switch the communication channel between the first terminal and the second terminal to the second channel when it receives a successful negotiation instruction returned by the first terminal in response to the renegotiation instruction, and to transmit data stream through the second channel.
[0073] The solution proposed in this application makes full use of the media renegotiation mechanism of the IMS core network; no modifications are required to the core network elements, and the call center's agent terminals can quickly switch from audio to video. The switching mechanism is simple and has low requirements for agent terminals. The use of INFO messages to upgrade audio to video reduces the complexity of the media renegotiation process and greatly reduces the requirements for client terminals.
[0074] It should be noted that each module in the above-mentioned communication switching device can be a program module (for example, a set of program instructions that implement a certain function) or a hardware module. For the latter, it can be manifested in the following forms, but is not limited to them: each of the above modules is manifested as a processor, or the functions of each of the above modules are implemented by a processor.
[0075] It should be noted that the communication switching device provided in this embodiment can be used to perform... Figure 2 The communication switching method shown above is also applicable to the embodiments of this application, and will not be repeated here.
[0076] This application embodiment also provides a non-volatile storage medium, which includes a stored computer program. The device containing the non-volatile storage medium executes the following communication switching method by running the computer program: Upon receiving a first call instruction from a first terminal, the first call instruction is forwarded to a corresponding second terminal, and a second call instruction carrying a first tag is sent to the second terminal. The first call instruction is used to establish a first channel between the first and second terminals and to transmit data streams through the first channel. The second call instruction carrying the first tag is used to establish a second channel between the first and second terminals. The first channel is used for audio communication, and the second communication channel is used for video communication. Upon receiving a target communication instruction carrying a second tag from the second terminal, a renegotiation instruction is sent to the first terminal. The target communication instruction carrying the second tag is used to instruct the switching of audio communication to video communication. Upon receiving a negotiation success instruction returned by the first terminal in response to the renegotiation instruction, the communication channel between the first and second terminals is switched to the second channel, and data streams are transmitted through the second channel.
[0077] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0078] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0079] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0080] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0081] 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 unit can be implemented in hardware or as a software functional unit.
[0082] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0083] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A communication handover method, characterized in that, include: Upon receiving a first call instruction from a first terminal, the first call instruction is forwarded to the corresponding second terminal, and a second call instruction carrying a first tag is sent to the second terminal. The first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data streams through the first channel. The second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal. The first channel is used for audio communication, and the second channel is used for video communication. Upon receiving a target communication instruction carrying a second tag sent by the second terminal, a renegotiation instruction is sent to the first terminal, wherein the target communication instruction carrying the second tag is used to instruct the switching of audio communication to video communication; Upon receiving a successful negotiation instruction returned by the first terminal in response to the renegotiation instruction, the communication channel between the first terminal and the second terminal is switched to the second channel, and data stream transmission is performed through the second channel.
2. The communication switching method according to claim 1, characterized in that, The method further includes: In the case of receiving the target communication instruction that does not carry the second tag, the target sending object in the target communication instruction is determined, wherein the target sending object includes at least one of the following: the first terminal and the second terminal; The target communication instruction is forwarded to the target sending object, wherein the target communication instruction without the second tag is used for message transmission between the first terminal and the second terminal.
3. The communication switching method according to claim 1, characterized in that, The method further includes: Upon receiving a second call instruction sent by the first terminal that does not carry the first tag, the second call instruction is forwarded to the corresponding second terminal. The second call instruction that does not carry the first tag is used to establish a second channel between the first terminal and the second terminal, and to transmit data streams through the second channel.
4. The communication switching method according to claim 1, characterized in that, Upon receiving a first call instruction from a first terminal, forwarding the first call instruction to the corresponding second terminal includes: Determine the target address information in the first call command; Based on the target address information, the second terminal is determined, and the first call instruction is added to the call instruction queue corresponding to the second terminal. The call instruction queue is used to send the first call instruction in the call instruction queue to the second terminal in the order of the queue.
5. The communication switching method according to claim 1, characterized in that, Sending a renegotiation instruction to the first terminal includes: Based on the identification information of the first terminal and the second terminal, target verification information is generated, wherein the target verification information is used to verify the trustworthiness of the first terminal; The target verification information is added to the renegotiation instruction, and the renegotiation instruction with the added target verification information is sent to the first terminal.
6. The communication switching method according to claim 5, characterized in that, After sending the renegotiation instruction to add the target verification information to the first terminal, the method further includes: If the verification feedback information returned by the first terminal in response to the target verification information in the renegotiation instruction fails, a first alarm message is sent, wherein the first alarm message is used to indicate that the first terminal is untrusted.
7. The communication switching method according to claim 1, characterized in that, The method further includes: Upon receiving a negotiation failure instruction returned by the first terminal in response to the renegotiation instruction, a second alarm message is sent, wherein the second alarm message is used to indicate that the first terminal refuses to perform channel switching.
8. A communication switching device, characterized in that, include: The channel establishment module is used to forward the first call instruction to the corresponding second terminal upon receiving a first call instruction sent by a first terminal, and to send a second call instruction carrying a first tag to the second terminal. The first call instruction is used to establish a first channel between the first terminal and the second terminal and to transmit data streams through the first channel. The second call instruction carrying the first tag is used to establish a second channel between the first terminal and the second terminal. The first channel is used for audio communication, and the second channel is used for video communication. The switching negotiation module is used to send a renegotiation instruction to the first terminal when it receives a target communication instruction carrying a second tag sent by the second terminal, wherein the target communication instruction carrying the second tag is used to indicate switching audio communication to video communication; The channel switching module is used to switch the communication channel between the first terminal and the second terminal to the second channel when the first terminal responds to the renegotiation instruction with a successful negotiation instruction, and to transmit data streams through the second channel.
9. An electronic device, the electronic device comprising a processor, characterized in that, The processor is used to run a program, wherein the program executes the communication switching method according to any one of claims 1 to 7 when it runs.
10. A non-volatile storage medium, characterized in that, The non-volatile storage medium includes a stored computer program, wherein the device containing the non-volatile storage medium executes the communication switching method according to any one of claims 1 to 7 by running the computer program.