The present application is a divisional application of chinese patent application with the title "control method and apparatus for multi-party call, electronic device, computer readable storage medium" filed by the chinese patent office on 2019, 07, 05, with an application number of 201910605935.5, the entire contents of which are incorporated herein by reference.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
Referring to FIG. 1, FIG. 1 is a schematic diagram of an implementation environment in accordance with the present application. As shown in fig. 1, the implementation environment is a multi-party call system, which includes an intelligent device 100 and a server 200.
The intelligent device 100 establishes a wireless or wired network connection with the server 200 through a communication module configured by the intelligent device, and further realizes communication with the server 200 through the network connection. The communication module configured by the intelligent device 100300 comprises any one or more of a ZigBee communication module, a Bluetooth module and a WiFi communication module. In the present application, the number of smart devices 100 is at least two. The multi-party call system shown in fig. 1 includes 3 intelligent devices 100, and this embodiment does not limit the number of intelligent devices 100.
The smart device 100 runs therein a client that initiates a call invitation to other users by responding to a trigger of a user, or joins the call invitation initiated by other users, thereby forming a multi-party call between multi-party users. Illustratively, the multi-party call between the multi-party users may be a video call, a voice call, or a combination thereof, which is not limited herein.
The smart device 100 may be a smart phone, a tablet computer, a notebook computer, a computer, or any other electronic device that can be operated by a client, where the client may be an APP (Application) or a web page, and the disclosure is not limited thereto.
The server 200 is a hub for implementing a multi-party call between different intelligent devices 100, and is configured to provide a channel for transmitting stream data during the multi-party call, and perform corresponding processing on instruction information sent by the intelligent devices 100, so as to support implementation of the multi-party call formed between different intelligent devices 100.
For example, the server 200 may be a server or a server cluster composed of several servers, which is not limited herein. In an exemplary embodiment, the server 200 is a signaling server.
Referring to fig. 2, fig. 2 is a block diagram of an intelligent device according to an exemplary embodiment.
It should be noted that the smart device 100 is only an example adapted to the present application and should not be considered as providing any limitation to the scope of the application. The smart device may not be interpreted as having to rely on or have to have one or more components of the exemplary mobile terminal 100 shown in fig. 2.
As shown in fig. 2, the mobile terminal 100 includes a memory 101, a memory controller 103, one or more processors 105, a peripheral interface 107, a radio frequency module 109, a positioning module 111, a camera module 113, an audio module 115, a touch screen 117, and a key module 119. These components communicate with each other via one or more communication buses/signal lines 121.
The memory 101 may be used to store computer programs and modules, such as computer readable instructions and modules corresponding to the method and apparatus for controlling a multi-party call in the exemplary embodiment of the present application, and the processor 105 executes the computer readable instructions stored in the memory 101 to perform various functions and data processing, that is, to complete the control method in the multi-party call.
The memory 101, as a carrier of resource storage, may be random access memory, e.g., high speed random access memory, non-volatile memory, such as one or more magnetic storage devices, flash memory, or other solid state memory. The storage means may be a transient storage or a permanent storage.
The peripheral interface 107 may include at least one wired or wireless network interface, at least one serial-to-parallel conversion interface, at least one input/output interface, at least one USB interface, and the like, for coupling various external input/output devices to the memory 101 and the processor 105, so as to realize communication with various external input/output devices.
The rf module 109 is configured to receive and transmit electromagnetic waves, and achieve interconversion between the electromagnetic waves and electrical signals, so as to communicate with other devices through a communication network. Communication networks include cellular telephone networks, wireless local area networks, or metropolitan area networks, which may use various communication standards, protocols, and technologies.
The location module 111 is used to obtain the current geographic location of the smart device 100. Examples of the positioning module 111 include, but are not limited to, a Global Positioning System (GPS), a wireless local area network-based positioning technology, or a mobile communication network-based positioning technology.
The camera module 113 is attached to a camera and is used for taking pictures or videos. The shot pictures or videos can be stored in the memory 101 and can be sent to an upper computer through the radio frequency module 109.
Audio module 115 provides an audio interface to a user, which may include one or more microphone interfaces, one or more speaker interfaces, and one or more headphone interfaces. And performing audio data interaction with other equipment through the audio interface. The audio data may be stored in the memory 101 and may also be transmitted through the radio frequency module 109.
The touch screen 117 provides an input-output interface between the smart device 100 and a user. Specifically, the user may perform an input operation, such as a gesture operation of clicking, touching, sliding, etc., through the touch screen 117, so that the smart device 100 responds to the input operation. The smart device 100 displays and outputs output contents formed by any one or combination of text, pictures or videos to the user through the touch screen 117.
The key module 119 includes at least one key for providing an interface for a user to input to the smart device 100, and the user can perform different functions by pressing different keys on the smart device 100. For example, the sound adjustment button may allow the user to effect an adjustment to the volume of sound played by the smart device 100.
It is understood that the configuration shown in fig. 2 is merely illustrative and that smart device 100 may include more or fewer components than shown in fig. 2 or different components than shown in fig. 2. The components shown in fig. 2 may be implemented in hardware, software, or a combination thereof.
Referring to fig. 3, fig. 3 is a block diagram illustrating a server, which may be embodied as the server 200 in the implementation environment shown in fig. 1, according to an example embodiment.
It should be noted that the server 200 is only an example adapted to the present application and should not be considered as providing any limitation to the scope of the application. Nor should the server be interpreted as requiring reliance on, or necessity with, one or more of the components of the exemplary server 200 shown in fig. 3.
The hardware structure of the server 200 may be greatly different due to different configurations or performances, as shown in fig. 3, the server 200 includes: a power supply 210, an interface 230, at least one memory 250, and at least one Central Processing Unit (CPU) 270.
The power supply 210 is used to provide operating voltage for each hardware device on the server 200.
The interface 230 includes at least one wired or wireless network interface 231, at least one serial-to-parallel conversion interface 233, at least one input/output interface 235, at least one USB interface 237, and the like, for communicating with external devices.
The storage 250 is used as a carrier for resource storage, and may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the resources stored thereon include an operating system 251, an application 253 or data 255, etc., and the storage manner may be a transient storage or a permanent storage. The operating system 251 is used for managing and controlling various hardware devices and application programs 253 on the gateway 200, so as to implement the calculation and processing of the mass data 255 by the central processor 270. The application 253 is a computer program that performs at least one specific task on top of the operating system 251, and may include at least one module (not shown in fig. 3), each of which may contain a series of computer-readable instructions for the server 200. Data 255 may be a mass of user information stored in a disk, etc.
Central processor 270 may include one or more processors and is configured to communicate with memory 250 via a bus for computing and processing mass data 255 in memory 250.
As described in detail above, the server 200 adapted to the present application will complete the control method of the multi-party call by the central processing unit 270 reading a series of computer readable instructions stored in the memory 250.
Furthermore, the present application can also be implemented by hardware circuits or hardware circuits in combination with software instructions, and thus, the implementation of the present application is not limited to any specific hardware circuits, software, or a combination of the two.
Referring to fig. 4, fig. 4 is a flowchart illustrating a method for controlling a multi-party call according to an exemplary embodiment. The method is suitable for the smart device 100 in the implementation environment shown in fig. 1, and the structure of the smart device 100 can be as shown in fig. 2.
The method for controlling the multi-party call may be executed by a client operating in the intelligent device 100, and may include the following steps:
and 310, the client responds to the initiation or the joining of the multi-party call and displays the call information of all users in the multi-party call, wherein the call information of different users corresponds to different display areas in a multi-party call display interface.
As described above, in the existing multi-party call implementation, for example, a multi-party video call, there is a problem that effective management cannot be performed on users in the multi-party call, so that the call experience between different users in the multi-party call is affected. Therefore, it is necessary to provide a method for controlling a multi-party call to effectively manage users in the multi-party call.
The client side responds to the initiation of the multi-party call, namely, the client side responds to a call invitation which is triggered by the user and faces at least one other user, and the multi-party call between the user and the other user is formed. Illustratively, in the multi-party call system shown in fig. 1, a user 1 sends call invitations to a user 2 and a user 3 respectively by triggering a client operating in an intelligent device 1, so as to form a multi-party call between the users 1-3. It should be noted that the multi-party call between different users is realized through the communication connection between the client and the server where the users are located.
It should be noted that the call invitation triggered by the user is not limited to the initial initiation of the multi-party call, but may also be an extension to the user already participating in the multi-party call. For example, in the multi-party call formed above, each user may also continue to initiate a call invitation to another user (e.g., users 4 and 5), so that users 4 and 5 are newly added to the multi-party call.
The joining of the client in response to the multi-party call means that the client joins the multi-party call between the user and the user where the other client is located by responding to the call joining triggered by the user after receiving the call invitation initiated by the other client. That is, the initiation of the multi-party call responded by the client corresponds to the call invitation actively initiated by the client, and the joining of the multi-party call responded corresponds to the answering of the call invitation initiated by other users.
Therefore, for different clients, the multi-party call between different users corresponding to the clients is formed by responding to the initiation or joining of the multi-party call.
The call information of all users in the multi-party call corresponds to the call state of the user in the multi-party call, and when the call information corresponding to the user is displayed in the multi-party call display interface, the user is shown as one of the members in the multi-party call. It should be noted that the multi-party call display interface refers to an interface display of the client for the multi-party call.
The call information corresponding to the user may also be different corresponding to different multi-party call modes. Illustratively, in a multi-party voice call, call information corresponding to a user is a head portrait of the user; in the multi-party video call, before the user answers the call invitation, the call information corresponding to the user is the head portrait of the user, and after the user answers the call invitation, the call information corresponding to the user is the video picture of the user.
In the display of the call information corresponding to the user on the multi-party call display interface, the call information of different users corresponds to different display areas in the multi-party call display interface. The display of the call information corresponding to different users through the multi-party call interface not only can easily master the call states of different users in the multi-party call, but also can control the call of the users corresponding to different display areas through the triggering of different display areas, for example, the call of the user corresponding to a certain display area is stopped so as to kick the user out of the multi-party call.
Step 330, when the call termination action triggered in the display area is monitored, sending a call termination request facing the user corresponding to the display area to the server.
The call termination action is a trigger action set by the client for executing call termination of the user corresponding to the display area, for example, the call termination action may be double-clicking, long-pressing, or dragging the display area, and is not limited here. Therefore, when the client monitors the call termination action triggered in the display area, the target user required to execute call termination can be acquired.
As mentioned above, the server is a hub for realizing multi-party call, and multi-party calls between different clients depend on multi-party call connections established by the server. In the multi-party call connection established by the server, each client establishes call connection with the server respectively, and call acquisition of each user in the multi-party call is realized by the client through transfer transmission of the call flow by the server.
Therefore, after monitoring the call termination action triggered in the display area, the client needs to send a call termination request to the server for a target user who needs to perform call termination, so as to request the server to kick the target user out of the multi-party call.
In one embodiment, the client sends the call termination request to the server by calling the meetingaddlnvite (a specific interface) interface of the server and passing specific parameter values to the server.
Step 350, receiving a response result returned by the server in response to the call termination request.
After receiving a call termination request sent by a client, a server responds to the call termination request, removes a target user performing call termination indicated by the call termination request from the established multi-party call connection, thereby terminating the call connection of the target user and kicking the target user out of the multi-party call.
It should be noted that, for the response procedure of the service end to the call termination request, please refer to the corresponding description in the following embodiments, which is not described herein again.
And step 370, when the response result indicates that the call connection of the user corresponding to the display area is successfully terminated, removing the display area from the multi-party call display interface.
When the response result returned by the server indicates the call connection of the user corresponding to the display area, the user is removed from the multi-party call connection established by the server, and the user does not exist in the current multi-party call, and the user does not need to be correspondingly displayed in the multi-party call display interface, so that the display area is removed from the multi-party call display interface.
Therefore, in the method provided by the embodiment, a user in the multi-party call kicks out the user corresponding to the triggered display area from the multi-party call by triggering the call termination action in one or more display areas in the multi-party call display interface where the client is located, so as to effectively manage the user in the multi-party call.
For example, in the multi-party video call, if a user finds that an unrelated user, for example, one or more users who are invited incorrectly, exists in the multi-party video call, the user can trigger a call termination action in a display area corresponding to the unrelated user no matter whether the unrelated user answers the video call, and kick out the user from the multi-party video call, so that the unrelated user does not need to actively quit after answering the video call, or kick out the unrelated user from the multi-party video call after waiting for the answering timeout, and the influence of the unrelated user on normal calls among other users in the multi-party video call is greatly reduced.
In an exemplary embodiment, as illustrated in fig. 5, step 330 may include the steps of:
and step 331, when a call termination action triggered in the display area is monitored, the client generates a call termination prompt message in the multi-party call display interface for displaying according to the call state of the user corresponding to the display area.
The call state of the user corresponding to the display area refers to whether the user already answers a multi-party call initiated by other users.
In one embodiment, the client may obtain the call states of different users according to the call information of the users displayed in each display area in the multi-party call display interface. For example, when the head portrait of the user is displayed in the display area, the call invitation initiated by the user which is not answered yet is obtained; and when the video picture of the user is displayed in the display area, acquiring that the user is in the video call.
In another embodiment, the client may further obtain the call state of each user in the multi-party call from the server. In the multi-party call connection established by the server, each client periodically sends the call state of the client to the server, so that the server can monitor the call state corresponding to each user in the established call connection in real time. Therefore, the client can acquire the call state of the user from the server by requesting the server to acquire the call state of each user in the multi-party call or under the condition that the server sets to forward the received call state to other users in the multi-party call connection.
Considering that the user who needs to execute the call termination in the multi-party call may be in different call states, the client can correspondingly process the user according to the different call states, so as to simplify the process of responding to the execution of the call termination and further increase the effectiveness of managing the user in the multi-party call.
In one embodiment, when monitoring a call termination action triggered in a display area, a client needs to know a call state of a user corresponding to the display area, and if it is known that the user has not answered a multi-party call initiated by another user, call termination prompt information is generated in a multi-party call display interface and the generated call termination prompt information is displayed.
The generated call termination prompt message may be a prompt box, and a trigger button for determining whether to terminate the call connection of the user corresponding to the current display area is set in the prompt box, and if the user triggers a button corresponding to "yes", it indicates that the call connection of the user is determined to be terminated. Or, the call termination prompt message generated by the client may also be in the form of a text or a pattern, and the user determines whether to terminate the call connection of the user corresponding to the display area by triggering the corresponding text or pattern.
Therefore, for irrelevant users who do not answer the call in the multi-party call, any user in the multi-party call can kick the irrelevant user out of the multi-party call by triggering the display area corresponding to the irrelevant user.
In another embodiment, if the client monitors the call termination action triggered in the display area, and if it is known that the user corresponding to the display area has answered the multi-party call, the client needs to generate and display a call termination prompt message according to the call permission of the user.
The communication right is pre-configured for the user in the multi-party communication, for example, for the user in the multi-party communication, the communication right at least includes at least one of a communication invitation right, a communication joining right and a communication termination right. The user with the call termination authority can control to terminate the call connection of part or all of the users in the multi-party call.
Illustratively, for a user who initially initiates a multi-party call, the user has a call termination authority for terminating call connections of all users in the multi-party call. For example, in the multi-party call system shown in fig. 1, a user 1 initiates a call invitation to users 2 and 3 respectively to form a multi-party call between the users 1-3, where the user 1 is an initial initiating user of the multi-party call and has a right to control termination of the call connection of the users 2 and 3.
And for the users participating in the extension of the multi-party call, the call connection of the extended users can be terminated only. For example, in the multi-party call between the users 1-3 formed above, if the user 2 further initiates a call invitation to the users 4 and 5, so that the users 4 and 5 are added to the multi-party call, the user 2 only has the authority to control the termination of the call connection of the users 4 and 5, but the user 1 still has the authority to control the termination of the call connection of all the users in the multi-party call.
Therefore, for irrelevant users who answer the call in the multi-party call, only the user who has the call termination authority in the multi-party call can kick the irrelevant users out from the multi-party users by triggering the display areas corresponding to the irrelevant users.
It should be further noted that, the generated call termination prompting information includes call termination confirmation information and unauthorized prompting information according to whether the user of the client has the call termination permission facing the user corresponding to the display area. The call termination confirming information is used for confirming termination of call connection of a user corresponding to the current display area, and the unauthorized prompting information is used for prompting that the user where the client is located does not have corresponding call termination permission.
Step 333, if a call termination confirmation action triggered in the interface area displaying the call termination prompt information is monitored, sending a call termination request to the server.
The call termination confirming action refers to a confirming action triggered by the user where the client is located and used for executing call termination on the user corresponding to the display area. For example, in the prompt box corresponding to the call termination prompt message as described above, the call termination confirmation action may be that the user where the client is located clicks a button corresponding to "yes".
The client monitors that a call termination confirmation action is triggered in the interface area displaying the call termination information, namely, the user where the client is located confirms the call connection of the user corresponding to the termination display area, so that a call request is sent to the server to request the server to terminate the call connection of the user corresponding to the display area.
In this embodiment, the client performs different call termination processes according to the call states of the users corresponding to the display areas and the call permissions possessed by the users of the client, so as to ensure the call order in the multi-party call and further manage the users in the multi-party call.
The method provided by the above embodiment will be described in detail in a specific application scenario. As shown in fig. 6, for a certain client, all users in the multi-party call are displayed in different display areas in the multi-party call display interface in response to the joining of the user where the client is located to the call invitation. When a user at the client kicks a certain user out of the current multi-party call, clicking a display area where the user is located, and if the user does not answer the call, generating prompt information to prompt the user at the client whether to confirm to terminate the call invitation of the user; if the user already answers the call, further verifying whether the user where the client side is located has a call termination authority facing the clicked user, if so, generating prompt information to prompt the user where the client side is located to confirm whether the user kicks the current call, and if not, prompting the user where the client side is located to operate the authority.
Further, if the user where the client is located confirms that the clicked user kicks out the current call or confirms that the call invitation to the clicked user is terminated, sending a call termination request to the server to request the server to terminate the call connection of the user, receiving a processing result returned by the server, and when the processing result indicates that the call connection of the clicked user is successfully terminated, generating prompt information at the client to prompt the user where the client is located to successfully operate, and correspondingly removing the display area corresponding to the clicked user; and when the processing result indicates that the call connection of the clicked user is failed to be terminated, generating prompt information for prompting the user that the operation is failed at the client.
In addition, if the user where the client is located does not confirm that the clicked user is kicked out of the current call or does not confirm that the call invitation to the clicked user is terminated, the client continues to maintain the current call.
Referring to fig. 7, fig. 7 is a flowchart illustrating a method for controlling a multi-party call according to another exemplary embodiment. The method is suitable for the server 200 in the implementation environment shown in fig. 1, and the structure of the server 200 may be as shown in fig. 3.
The control method of the multi-party call at least comprises the following steps:
in step 410, the server receives a call termination request sent by the client in the established multi-party call connection, where the multi-party call connection corresponds to a multi-party call initiated or joined by the client, and the call termination request is used to instruct to terminate call connections of other clients in the multi-party call connection.
As mentioned above, the server is a hub for realizing multi-party call, and in order to respond to multi-party calls initiated or joined by different clients, each client needs to establish a call connection with the server, so that a multi-party call connection is established based on the server. Therefore, for the server, the users in the multi-party call correspond to different clients connected to the server.
When a client in the multi-party call connection monitors that a call termination action is triggered in a display area of a multi-party call display interface, a call termination request facing a user corresponding to the triggered display area is sent to a server so as to request the terminal to terminate the call connection of the user. Therefore, the call termination request received by the server is used for indicating the server to terminate the call connection of other clients in the multi-party call connection, and the other clients to be terminated in the multi-party call connection correspond to the client where the user is located in the display area for triggering the call termination action.
And step 430, the server responds to the call termination request according to the call authority of the client and the call states of other clients.
The communication authority of the client corresponds to the communication authority of the user where the client is located. As mentioned above, the communication right of the user where the client is located at least includes at least one of a communication invitation right, a communication joining right, and a communication termination right, where the communication termination right refers to a right that the user where the client is located can control to terminate the communication connection of some or all users in the multi-party communication.
The call state of other clients means whether the user of the other client answers the multi-party call invitation. For the server, in the established multi-party call connection, each client needs to periodically return call state information to the server according to a preset protocol, so that the server can master the call state of the client in real time. Illustratively, the server is a signaling server, the client is in a Ring state when not answering the multi-party call invitation, and periodically returns a signaling message "Meeting Ring" to the server; the client is in an answering state when having answered the multi-party call invitation, and periodically returns a signaling message 'Meeting Talking' to the server.
The response of the server to the call termination request means that the server performs call connection termination on other clients indicated by the call termination request.
Step 450, return the result of responding to the call termination request to the client.
Therefore, in the method provided by the embodiment, the server responds to the call termination requests sent by different clients in the multi-party call, so that the effective management of the users in the multi-party call is realized.
In an exemplary embodiment, as shown in FIG. 8, step 430 may include the steps of:
and 431, the server locates a target client end of the call connection to be terminated in the multi-party call connection according to the call termination request.
As described above, the call termination request is sent by the client after the client triggers the call termination action in the display area of the multi-party call display interface, and the call termination request should carry the identification information of the user corresponding to the triggered display area, so that the server can locate the target client to be terminated with the call connection according to the call termination request.
And 433, acquiring the call state of the target client according to the call state information periodically returned by the target client.
Step 435, if the call state is a ring state, or the call state is an answering state and the client has a call termination permission facing the target client, the server removes the target client from the multi-party call connection by returning a call termination error code after receiving the call state information again.
According to the execution of the control mode of the client for the multi-party call, when the target client does not answer the multi-party call invitation, or the target client already answers the multi-party call invitation and the user of the client has the call termination right facing the user of the target client, the client sends a call termination request to the server. Correspondingly, for the server, when the server receives the call state information returned by the target client and indicates that the target client is in a ring state or indicates that the target client is in the ring state and the client has a call termination right facing the target client, the server removes the target client from the multi-party call connection.
Illustratively, the process of the server removing the target client from the multi-party communication connection is as follows: and when the server receives the call state information returned by the target client again, the target client is removed from the multi-party call connection by returning a call termination error code to the target client.
Therefore, in the method provided by the embodiment, the server executes the termination of the call connection to the target client according to the call state of the target client and the call permission of the client, thereby further realizing the effective management of the user in the multi-party call.
In another exemplary embodiment, if the call state of the target client is an answering state and the client does not have a call termination permission facing the target client, the server returns an unauthorized error code to the client, so that the client generates an unauthorized prompt message according to the unauthorized error code and displays the unauthorized prompt message.
In another exemplary embodiment, after performing step 430, the server further needs to detect the number of connected clients in the current multi-party call connection. If the fact that only one client side is connected with the server side in the multi-party call connection is detected, the fact that only one user exists in the current multi-party call means that the server side actively ends the multi-party call connection. If it is detected that there are at least two clients connected to the server, indicating that the multi-party call is still in progress, the server jumps to step 450.
The following describes a detailed control method for a multi-party call executed by a server in a specific application scenario.
Referring to fig. 9, fig. 9 illustrates a multi-party call scenario in which a client initiates a call invitation and then cancels the call invitation. In the scenario shown in fig. 9, the client 1 is an initial initiator of a multi-party call, and initiates a call invitation to the client 2 first, and then makes a normal call with the client 2 after the client 2 answers the call. Subsequently, the client 1 invites the client 3 to join the current call, the server pushes the invitation message to the client 3, and the client 3 rings after receiving the invitation message. At this time, if the server receives the call termination request sent by the client 1, after receiving the call state information returned by the client 3, a call termination error code is returned to the client 3, and the client 3 stops ringing after receiving the call termination error code, so that the client 3 is kicked out from the current call, and the current call is continued between the client 1 and the client.
Referring to fig. 10, fig. 10 illustrates a multi-party call scenario in which a client kicks a user directly from a current call. In the scenario shown in fig. 10, client 1 is the initiator of the multi-party call and is in communication with client 2 and client 3. If the server receives the call termination request sent by the client 1 and the call termination request indicates that the call connection of the client 3 is terminated, the server returns a call termination error code to the client 3 after receiving the call state information sent by the client 3, so as to kick the client 3 out of the current call. And then, the server receives a call termination request sent by the client 1 to request the client 2 to kick out the current call, and the server repeatedly executes the process to control termination of the call connection of the client 2. At this time, the server checks that only the client 1 exists in the current call, and the server actively ends the call.
Referring to fig. 11, fig. 11 illustrates a multi-party call scenario in which the client does not have the kicking authority. In the scenario shown in fig. 11, the client 1 makes a call with the client 2 for an initiator of a multi-party call, the client 2 invites the client 3 to join a current call, and the client 1 has a call termination right facing all users in the multi-party call as the initiator of the multi-party call. After receiving the call termination request sent by the client 2, the server knows that the client 2 does not have the call notification permission facing the client 3, and returns an unauthorized error code to the client 2, and the client 3 continues ringing. Subsequently, the server receives the call termination request sent by the client 1, and responds to the request to kick the client 3 out of the current call.
Therefore, the method provided by the embodiment of the application considers different situations in the multi-party call, controls the client and the server to perform corresponding processing according to the different situations, and realizes effective management of users in the multi-party call.
Referring to fig. 12, fig. 12 is a block diagram illustrating a control apparatus for a multi-party call according to an exemplary embodiment, which is suitable for the intelligent terminal 100 shown in fig. 1.
As shown in FIG. 12, in an exemplary embodiment, the multi-party call control apparatus 500 includes a multi-party call display module 510, an action monitoring module 530, a response result receiving module 550, and a display removing module 570.
The multi-party call display module 510 is used for controlling the client to respond to the initiation or joining of the multi-party call, and displaying the call information of all users in the multi-party call, wherein the call information of different users corresponds to different display areas in the multi-party call display interface.
The action monitoring module 530 is configured to send a call termination request for a user corresponding to the display area to the server according to the call state of the user corresponding to the display area when a call termination action triggered in the display area is monitored.
The response result receiving module 550 is configured to receive a response result returned by the server in response to the call termination request.
The display removing module 570 is configured to remove the display area from the multi-party call display interface when the processing result indicates that the call of the user corresponding to the display area is terminated successfully.
In another exemplary embodiment, the action listening module 530 includes a call state processing unit and a call termination request transmitting unit.
The call state processing unit is used for controlling the client to generate call termination prompt information in the multi-party call display interface for displaying according to the call state of the user corresponding to the display area when the call termination action triggered in the display area is monitored.
The call termination request sending unit is used for sending a call termination request to the server side when a call termination confirmation action triggered by the interface area displaying the call termination prompt information is monitored.
In another exemplary embodiment, the call state processing unit includes a first processing sub-unit and a second processing sub-unit.
The first processing subunit is used for generating call termination prompting information according to the call authority of the user where the client is located when the user corresponding to the display area answers the multi-party call, and displaying the call termination prompting information on a multi-party call display interface.
The second processing subunit is used for directly generating the call termination prompting information for displaying when the user corresponding to the display area does not answer the multi-party call.
It should be noted that the apparatus provided in the foregoing embodiment and the control method applied to the multi-party call of the client provided in the foregoing embodiment belong to the same concept, and the specific manner of executing operations by each module has been described in detail in the method embodiment, and is not described herein again.
Referring to fig. 13, fig. 13 is a block diagram illustrating a control apparatus for a multi-party call according to another exemplary embodiment, which is suitable for the server 200 shown in fig. 1.
As shown in fig. 13, in an exemplary embodiment, the control apparatus 600 for a multi-party call includes a request acquisition module 610, a request response module 630 and a result return module 650.
The request obtaining module 610 is configured to control the server to receive a call termination request sent by the client in the established multi-party call connection, where the multi-party call connection corresponds to a multi-party call initiated or joined by the client, and the call termination request is used to indicate that the call connection of other clients in the multi-party call connection is terminated.
The request response module 630 is configured to control the server to respond to the call termination request according to the call permission of the client itself and the call state of the other client.
The result returning module 650 is configured to control the server to return a result of responding to the call termination request to the client.
In another exemplary embodiment, the request response module 630 includes a target client location unit, a call state acquisition unit, and a call removal unit.
The target client positioning unit is used for controlling the server to position a target client to be terminated in the multi-party call connection according to the call termination request.
The call state acquisition unit is used for acquiring the call state of the target client according to the call state information periodically returned by the target client.
The call removal unit is used for controlling the server to remove the target client from the multi-party call connection under the condition that the call state of the target client is a ringing state or the call state is an answering state and the client has a call termination authority facing the target client.
In another exemplary embodiment, the request response module 630 further includes an unauthorized error code returning unit, configured to, if the call state of the target client is an answering state and the client does not have a call termination permission for the target client, control the server to return an unauthorized error code to the client, where the unauthorized error code is used to instruct the client to generate an unauthorized prompt message.
In another exemplary embodiment, the control apparatus 600 for a multi-party call further includes a client number detection module and a call connection processing module.
The client number detection module is used for controlling the server to detect the number of the connected clients in the multi-party call connection.
The call connection processing module is used for controlling the server to actively finish the multi-party call connection when the client number detection module detects that only one client is connected with the server, otherwise, the server jumps to the result returning module, and the result returning module executes corresponding steps.
It should be noted that the apparatus provided in the foregoing embodiment and the control method applied to the multi-party call at the server side provided in the foregoing embodiment belong to the same concept, and a specific manner for each module to perform operations has been described in detail in the method embodiment, and is not described herein again.
In another exemplary embodiment, the present application further provides an electronic device, which includes a processor and a memory, where the memory stores computer readable instructions, and the computer readable instructions, when executed by the processor, implement the control method for multi-party call in the foregoing embodiments.
In another exemplary embodiment, the present application further provides a computer-readable storage medium, on which a computer program is stored, which when executed by a processor implements the control method of the multi-party call in the above embodiments.
The above description is only a preferred exemplary embodiment of the present application, and is not intended to limit the embodiments of the present application, and those skilled in the art can easily make various changes and modifications according to the main concept and spirit of the present application, so that the protection scope of the present application shall be subject to the protection scope of the claims.