Voice call method and device, server and storage medium
By having the user terminal initiate a call request to the robot management system, the server verifies permissions and invokes the voice call service, thus solving the problem of requiring the user terminal to install call software and realizing a simplified process of making voice calls with the robot without installation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-21
- Publication Date
- 2026-03-20
AI Technical Summary
In existing technologies, both the user end and the robot end need to install calling software, making the video call process cumbersome.
The user terminal initiates a call request to the robot management system. The server verifies permissions and invokes the voice call service to generate a call command to establish a voice call link between the user terminal and the target robot. No call software needs to be installed on the user terminal.
It simplifies the preparation work for making voice calls with the target robot, reduces the initial installation steps, and enables voice calls without the need to install calling software.
Smart Images

Figure CN116319690B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics technology, and in particular relates to a voice communication method, device, server, and storage medium. Background Technology
[0002] In existing technologies, when a user needs to make a video call with a robot, robot calling software for video calls needs to be installed on both the user's computer and the robot beforehand. The user can then use this software to make video calls with the robot. However, in existing technologies, because both the user and the robot need to have the calling software installed beforehand, and the installation process for commonly used robot calling software is complex and requires many plugins, the process of making a video call with a robot using existing technologies is quite cumbersome. Summary of the Invention
[0003] In view of this, embodiments of this application provide a voice call method to reduce the preparation work required for video calls with robots.
[0004] The first aspect of this application provides a voice call method, including:
[0005] In response to a call request initiated by a user terminal, the call permissions of the user terminal are determined;
[0006] If the user terminal's call permission verification is successful, the voice call service is invoked to send a call instruction generated based on the call request to the target robot corresponding to the call request, thereby establishing a voice call link between the user terminal and the target robot; the call instruction is used to activate the voice communication application installed on the target robot; the voice communication application is used to establish the voice call link.
[0007] A second aspect of this application provides a voice call device, including:
[0008] The permission module is used to determine the call permissions of the user terminal in response to a call request initiated by the user terminal.
[0009] The voice call module is used to, if the call permission verification of the user terminal is successful, invoke the voice call service to send a call instruction generated based on the call request to the target robot corresponding to the call request, so as to establish a voice call link between the user terminal and the target robot; the call instruction is used to activate the voice communication application installed on the target robot; the voice communication application is used to establish the voice call link.
[0010] The third aspect of the embodiments of the present application provides a server, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the voice call method according to the first aspect.
[0011] The fourth aspect of the embodiments of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the voice call method according to the first aspect.
[0012] The fifth aspect of the embodiments of the present application provides a computer program product, which, when executed on a computer, causes the computer to perform the voice call method according to the first aspect.
[0013] Compared with the prior art, the embodiments of the present application have the following advantages:
[0014] In the embodiments of the present application, when a user needs to initiate a voice call to a target robot, the user can initiate a call request to a robot management system through a user terminal; the server where the robot management system is located can verify the call authority of the user terminal in response to the call request initiated by the user after receiving the call request initiated by the user; if the server detects that the user terminal has the call authority with the target robot, the server can call a voice call service to establish a voice call link between the user terminal and the target robot; the voice call service called by the server can generate a call instruction according to the call request and send the call instruction to the corresponding target robot; the target robot can open a voice call application and establish a voice call link through the voice call application after receiving the call instruction. Through the method provided by the embodiments of the present application, since the server can establish a voice call link between the user terminal and the target robot by calling the voice call service, the user terminal can also perform voice call with the target robot without installing call software. Therefore, the method provided by the embodiments of the present application can reduce the preliminary preparation work required for voice call with the target robot and simplify the process of video call with the target robot. BRIEF DESCRIPTION OF DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.
[0016] Figure 1 is a schematic diagram of a voice call method provided by the first embodiment of the present application;
[0017] Figure 2 is a specific implementation flowchart of the voice call method S101 provided by the second embodiment of the present application;
[0018] Figure 3 is a specific implementation flowchart of the voice call method S101 provided by the third embodiment of the present application;
[0019] Figure 4 is a specific implementation flowchart of the voice call method S302 provided by the fourth embodiment of the present application;
[0020] Figure 5 is a specific implementation flowchart of the voice call method S102 provided by the fifth embodiment of the present application;
[0021] Figure 6 is a specific implementation flowchart of the voice call method S102 provided by the fifth embodiment of the present application;
[0022] Figure 7 is a flowchart of the voice call between the user terminal and the target robot provided by the embodiments of the present application;
[0023] Figure 8 is a call logic diagram provided by the embodiments of the present application;
[0024] Figure 9 is a schematic diagram of a voice call device provided by the embodiments of the present application;
[0025] Figure 10 is a schematic diagram of a terminal device provided by the embodiments of the present application. DETAILED DESCRIPTION
[0026] In the following description, for the purpose of explanation and not limitation, specific details are set forth, such as particular system configurations, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
[0027] In the embodiments of the present application, the voice call service deployed by the user can be used to realize real-time communication between the user terminal and the robot. Through the voice call service, the user terminal can make voice calls with the target robot without installing call software. In addition to voice calls, the voice call service can also support various communication methods such as text and video. In the embodiments of the present application, the voice call service is mainly composed of a peripheral unit and a core unit. The core unit is a key data structure required to implement the voice call service, and most of the application functions in the voice call service are implemented through multiple function modules in the peripheral unit. The core unit can be composed of four modules: a database, a public interface, an abstract interface, and an internal event. The database can be used to store specific data in the core unit. The database in the core unit can be a relational database. For example, the database used by the core unit can be a SQLite database. The core unit can include multiple public interfaces, each public interface in the core unit is used to implement a specified function, and the peripheral module can use various functions in the core module by calling the public interface. The multiple abstract interfaces in the core unit are used to call back the function modules in the peripheral unit, so as to realize rich application functions through the multiple function modules in the peripheral unit. For example, the abstract interface can include a timer interface. When the voice call service needs to implement the timer function, the core unit can call the timer module in the peripheral unit through the timer interface to realize the timer function. Inside the core module, the communication of the voice call process can be realized through internal events.
[0028] In the embodiments of the present application, a user can store a specific data structure in a voice call service in the form of a configuration file in a server of the voice call service. When the user needs to invoke the voice call service, the server can provide the voice call service for the user by running the specific data structure stored in the configuration file. Exemplarily, the configuration file of the voice call service can be stored in the form of an XML file. The set of all configuration files required by the voice call service can be referred to as a configuration registry. The user can deploy the voice call service on the server by writing the configuration registry into the memory of the server. The configuration registry can include a main entry file, a user configuration file, a global variable file, a startup file, a routing plan file, a load file, and the like. The main entry file can encapsulate all the configuration files in the configuration registry. The user configuration file can include user identifiers corresponding to multiple users allowed to use the voice call service and user passwords corresponding to the user identifiers. The global variable file can store global variables required in the process of allowing the voice call service. The startup file can be used to determine which functional modules in a peripheral unit need to be loaded when the server where the voice call service is located starts. The load file can be used to determine the functional modules loaded when the voice call service starts and the functional modules loaded when the voice call service ends.
[0029] The technical solutions of the present application will be described below through specific embodiments.
[0030] Reference Figure 1 Fig. 1 shows a schematic diagram of a voice call method provided by a first embodiment of the present application, which can be applied to a server capable of providing a robot management service for a user terminal. The voice call method can specifically include the following steps:
[0031] S101, in response to a call request initiated by a user terminal, determining the call authority of the user terminal.
[0032] In the embodiments, when a user needs to call a target robot, the user can input robot information corresponding to the target robot in a voice call window of the user terminal. The robot information input by the user can include robot number corresponding to the target robot, call code corresponding to the target robot, location information of an area where the target robot is located, and the like. The user terminal can encapsulate the content input by the user and generate a call request. The user terminal can initiate the call request to a server of a robot management system. After receiving the call request initiated by the user terminal, the server of the robot management system can determine the call authority of the user terminal based on the call request. The user terminal can include electronic devices such as a smart phone, a tablet computer, and a computer.
[0033] In a possible implementation, the user terminal can access the robot management system through a webpage, and initiate a call request to the robot management system. The robot management system can include a voice call window. When the user needs to remotely guide the target robot, the user can initiate a call request to the server of the robot management system through the voice call window. The user can input a call code corresponding to the target robot in the voice call window, and click a call control in the webpage. The user terminal encapsulates the content input by the user in the voice call window, generates a call request, and sends the generated call request to the server where the robot management system is located.
[0034] In the related art, since robots are often applied to a private deployment scenario, in the private deployment scenario, the robot cannot be connected to a public network, and data transmission and service information of the robot are transmitted through a local area network. Therefore, in the private deployment scenario, the user cannot perform real-time video call with the robot through a commonly used call software. Through the method provided in the embodiments of the present application, when the server where the robot management system is located is in the local area network, the user can access the robot management system in the local area network through a webpage, and initiate a call request to the robot management system through the webpage, to realize video call with the robot. Since in the local area network, the user terminal can still access the webpage allowed to be accessed, the method provided in the embodiments of the present application can meet the demand of the user for real-time video call with the robot in the private deployment scenario.
[0035] In a possible implementation, after determining the call permission of the user terminal, the server where the robot management system is located can verify the call permission of the user terminal. If the call permission of the user terminal fails the verification, the server can generate call rejection information. The server can feed back the call rejection information to the corresponding user terminal, to reject the voice call between the user terminal and the target robot. After receiving the call rejection information, the user terminal can close the voice call window, and display the call rejection information on the screen.
[0036] S102, if the call permission of the user terminal passes the verification, a voice call service is invoked to send a call instruction generated based on the call request to a target robot corresponding to the call request, to establish a voice call link between the user terminal and the target robot; the call instruction is used to start a voice call application installed on the target robot; and the voice call application is used to establish the voice call link.
[0037] In this embodiment, after receiving the call request initiated by the user terminal, the server installed with the target robot management system can determine the call permission of the user terminal based on the call request. If the server determines that the call permission of the user terminal is verified, the server can call the voice call service. By calling the voice call service, the server can establish a voice call link between the user terminal and the target robot. The voice call service can determine the robot information corresponding to the target robot according to the call request initiated by the user terminal. According to the robot information, the voice call service can determine the target robot corresponding to the call request from the plurality of candidate robots in the call list.
[0038] In this embodiment, the voice call service can also generate a corresponding call instruction based on the call request. After generating the call instruction, the voice call service can send the call instruction to the corresponding target robot. After receiving the call instruction, the target robot can start the voice call application installed on the target robot, such as the robot voice call software Linphone. After the voice call application on the target robot is started, the voice information of the robot can be collected through the microphone on the target robot, and the voice call data can be generated according to the collected voice information. The voice call application on the robot can also collect the video information of the robot through the camera on the robot, and generate the video call data of the robot according to the collected video information. The voice call application on the target robot can transmit the voice call data and / or video call data to the voice call service. After receiving the video call data transmitted by the target robot, the voice call service can transmit the received video call data to the user terminal to start the voice call between the user terminal and the target robot.
[0039] In this embodiment, the connection relationship between the robot management system and the voice call service can be two kinds, which are described as follows:
[0040] Relationship one, the robot management system and the voice call service are deployed on the same server. At this time, the robot management system and the voice call service can exist as a complete subject. In this case, the voice call service can exist as a unit in the management system, that is, the robot management system can call the voice call service through the voice call unit in the robot management system.
[0041] Relationship two, the robot management system and the voice call service are deployed on different servers. In this case, the robot management system and the voice call unit can exist as two independent subjects. The robot management system can transmit data to the externally installed voice call unit through the public network or local area network to call the voice call service of the voice call unit.
[0042] In this embodiment, after the server where the robot management system is located receives the call information initiated by the user, the voice call link between the user terminal and the target robot can be established by calling the voice call service. Therefore, by the method provided in this embodiment, the user does not need to install call software on the user terminal, and can only initiate a call request to the robot management system to make a voice call with the target robot.
[0043] Figure 2 A specific implementation flowchart of the voice call method S101 provided in the second embodiment of the application is shown. Referring to Figure 2 , compared with Figure 1 the embodiment, before the voice call method S101 provided in this embodiment, S201-S202 are included, which are specifically described as follows:
[0044] S201, when the abnormal instruction sent by the target robot is received, determining the error code corresponding to the abnormal instruction based on the abnormal instruction; the abnormal instruction is generated when the target robot cannot respond to the call instruction through the voice call application.
[0045] In this embodiment, the server of the robot management system can receive the abnormal instruction sent by the target robot. The target robot can generate an abnormal instruction when it is judged that it cannot respond to the call instruction sent by the voice call service through the voice call application. The abnormal instruction generated by the target robot can include the abnormal reason of the robot and the user terminal to which the abnormal instruction needs to be fed back. The target robot can send the abnormal instruction to the server of the robot management system after generating the abnormal instruction. The server can determine the abnormal reason that causes the robot to be unable to respond to the call instruction through the voice call application according to the abnormal instruction after receiving the abnormal instruction sent by the robot. According to the abnormal reason corresponding to the abnormal instruction, the server can generate the error code corresponding to the abnormal reason.
[0046] In a possible implementation, after starting, the target robot can perform start setting according to the pre-set robot configuration information. The target robot can generate start information according to the robot configuration information, and send the start information to the voice call service to start the network connection between the target robot and the voice call service. After receiving the start information sent by the target robot, the voice call service can send test information to the target robot to test whether the voice call application on the target robot can be normally started. If the target robot can receive the test information sent by the voice call service and normally start the voice call application in response to the test information, the target robot can judge that the connection is normal.
[0047] In a possible implementation, the target robot can generate an abnormal instruction corresponding to each abnormal reason according to the specific abnormal reason. The abnormal instruction generated by the target robot can specifically include a first abnormal instruction, a second abnormal instruction, and a third abnormal instruction, which are described as follows:
[0048] In a possible implementation, if the target robot fails to normally send the start information to the voice call service after being started, the target robot can determine that a network connection is abnormal and that the target robot cannot be connected to the voice call service. In this case, the target robot can generate a first abnormal instruction. The target robot can display the first abnormal instruction on a display device on the target robot to remind a user that the target robot cannot be connected to the voice call service. The target robot can also send the first abnormal instruction to the robot management system.
[0049] In a possible implementation, if the target robot successfully sends the start information, the target robot can start recording a sending duration of the start information after successfully sending the start information. When the sending duration recorded by the target robot is greater than or equal to a maximum waiting threshold, the target robot can determine by itself that the target robot cannot receive information sent by the voice call service. In this case, the target robot can generate a second abnormal instruction. The target robot can display the second abnormal instruction on a display device on the target robot to remind a user that the target robot fails to successfully receive test information sent by the voice call service. The target robot can also send the second abnormal instruction to the robot management system.
[0050] In a possible implementation, if the target robot successfully sends the start information and successfully receives the test information sent by the voice call service, the target robot can test the voice call application of the robot according to the test information. The target robot can start the voice call application, and the voice call application can test the camera, microphone, and other voice call units of the target robot according to the test content contained in the test information. If the target robot fails to normally start the voice call application in response to the test information or any voice call unit on the target robot fails to normally start, the target robot can generate an abnormal result. The target robot can feed back the abnormal result to the voice call service. The voice call service can generate a third abnormal instruction according to the abnormal result fed back by the target robot, and send the third abnormal instruction to the robot management system.
[0051] In a possible implementation, after the voice call service generates the corresponding call instruction based on the call request and sends the call instruction to the corresponding target robot, the voice call service can start recording the call duration. When the call duration recorded by the voice call service is greater than or equal to a preset maximum call threshold, the voice call service can determine that the target robot may be disconnected. At this time, the voice call service can send the call instruction to the target robot again, record the call duration again, and start recording the number of times of sending the call instruction. If the voice call service does not receive the connection instruction fed back by the target robot within the maximum call threshold, the voice call service can send the call instruction again and update the number of times of sending. If the number of times of sending recorded by the voice call service is greater than or equal to a preset maximum sending threshold, the voice call service can determine that the target robot is disconnected and cannot perform data transmission with the target robot. In this case, the voice call service can generate a fourth abnormal instruction and send the fourth abnormal instruction to the robot management system.
[0052] S202, generating abnormal information based on the error code, and sending the abnormal information to a user terminal corresponding to the abnormal instruction.
[0053] In this embodiment, after generating the error code, the server can generate corresponding abnormal information according to the error code. The abnormal information can include the abnormal reason of the target robot and the call code of the target robot corresponding to the abnormal instruction. The server can determine the user terminal that needs to be fed back by the target robot according to the abnormal instruction. The server can send the abnormal information to the user terminal corresponding to the abnormal instruction. After receiving the abnormal information sent by the robot management system, the user can determine the target robot that appears abnormal according to the call code in the received abnormal information, and the user can also determine the abnormal reason of the target robot according to the abnormal information.
[0054] In this embodiment, when the target robot cannot respond to the call instruction sent by the voice call service through the voice call application, the target robot can generate a corresponding abnormal instruction according to a specific abnormal reason. The target robot can send the generated abnormal instruction to the robot management system. The server where the robot management system is located can generate abnormal information according to the abnormal instruction and feed back the abnormal information to the user terminal. The user can determine the target robot that appears abnormal and the abnormal reason of the target robot according to the abnormal information. Through the method provided in this embodiment, the user can know that the robot cannot perform voice call and know the abnormal reason of the robot in time. Therefore, the user can timely and targetedly perform restart, maintenance and other processing operations on the target robot that appears abnormal, which is helpful for the user to timely maintain the abnormal robot.
[0055] Figure 3A specific implementation flowchart of the voice call method S101 provided by the third embodiment of the present application is shown. Referring to Figure 3 , compared with Figure 1 the embodiments, the voice call method S101 provided by the embodiment includes S301-S302, which are specifically described as follows.
[0056] S301, querying the call password associated with the user identifier from the user database.
[0057] In the embodiment, the call request initiated by the user terminal can include the user identifier corresponding to the user terminal. The user identifier can be a user code (such as 1000) corresponding to the user terminal, an IP address of the user terminal, physical location information of the user terminal, and various user identifiers. The server where the robot management system is located can determine the user identifier corresponding to the user terminal initiating the call request according to the call request after receiving the call request. The server can query the call password corresponding to the user terminal in the user database according to the user identifier. The call password of the user terminal can be set by the user in advance and stored in the user database.
[0058] S302, determining the call authority of the user terminal based on the call password.
[0059] In the embodiment, after querying the call password corresponding to the user terminal, the server where the robot management system is located can determine whether the user terminal has the call authority to conduct voice call with the target robot through the call password. The call request initiated by the user terminal can also include the call code corresponding to the target robot. The server can query the permission code corresponding to the target robot in the robot database according to the call code of the target robot. The permission code of the target robot can be set by the user in advance and stored in the robot database. The server can determine whether the call password corresponding to the user terminal matches the permission code of the target robot. If the call password corresponding to the user terminal matches the permission code of the target robot, the server can determine that the user terminal has the right to conduct voice call with the target robot, that is, the call authority of the user terminal matches the target robot, and the call authority verification is passed.
[0060] In the embodiment, if the call password corresponding to the user terminal does not match the permission code of the target robot, the server can determine that the user terminal does not have the right to conduct voice call with the target robot, that is, the call authority of the user terminal does not match the target robot, and the call authority verification is not passed. When the call authority verification of the user terminal is not passed, the server can generate a failure information and feed back the failure information to the corresponding user terminal.
[0061] In this embodiment, after receiving the call request initiated by the user terminal, the server where the robot management system is located can determine the call password corresponding to the user terminal according to the call request. The server can verify the call permission of the user terminal according to the call password. Through the method provided in this embodiment, the server can screen out the user terminals allowed to call the target robot through the call password, so that irrelevant user terminals can be effectively prevented from calling the target robot, the situation that the target robot is occupied can be reduced, and an effective voice call link can be established.
[0062] Figure 4 A specific implementation flowchart of the voice call method S302 provided in the fourth embodiment of the present application is shown. Referring to Figure 4 , compared with Figure 3 the embodiments, the voice call method S302 provided in this embodiment includes S401-S402, which are specifically described as follows.
[0063] S401, obtaining the user state corresponding to the user terminal when the user terminal receives the call request.
[0064] In this embodiment, in addition to verifying the call permission of the user terminal, the server where the robot management system is located can also determine the user state corresponding to the user terminal initiating the call request when the server receives the call request.
[0065] In a possible implementation manner, the server where the robot management system is located can obtain the screen information of the user terminal. The server can determine the user state corresponding to the user terminal according to the screen state of the user terminal. The user state can include an online state and an offline state. For example, the online state can indicate that the voice call window in the user terminal is in the foreground display state, that is, the user is online and waiting for voice call with the target robot. The offline state can indicate that the voice call window in the user terminal has been closed or is running in the background, that is, the foreground runs other applications, that is, the user is offline and is not waiting for voice call with the target robot.
[0066] In this embodiment, if the server judges that the user state of the user terminal is not the online state, that is, the user state is the offline state, the server can determine that the user terminal does not have the call permission to call the target robot. The server can verify that the call permission of the user terminal is not passed.
[0067] S402, if the user state is the online state and the call password verification is passed, it is determined that the user terminal has the call permission to call the target robot, and the call permission is verified.
[0068] In this embodiment, the server where the robot management system is located can determine whether the user state of the user terminal is an online state. If the server determines that the user state of the user terminal is an online state, the server can verify the call password of the user terminal. The server can verify the call password of the user terminal by determining whether the call password corresponding to the user terminal matches the permission code of the target robot. If the call password corresponding to the user terminal matches the permission code of the target robot, the server can consider that the call password of the user terminal is verified. At this time, the server can consider that the user terminal has the call permission to make voice calls with the target robot, that is, the server can consider that the call permission of the user terminal is verified.
[0069] In this embodiment, if the server where the robot management system is located determines that the user state of the user terminal is an online state and the call password of the user terminal is not verified, the server can determine that the user terminal does not have the call permission to make voice calls with the target robot. The server can verify that the call permission of the user terminal is not passed. The server can generate failure information and feed back the failure information to the corresponding user terminal to remind the user that the call password of the user terminal is not verified.
[0070] In this embodiment, by verifying the call permission of the user terminal, it can be ensured that the target robot only makes voice calls with specific user terminals. It can effectively avoid unnecessary voice calls from occupying the target robot. Therefore, the method provided in this embodiment can reduce unnecessary traffic consumption, and at the same time, it can also ensure that the user terminal can make voice calls with the target robot in an emergency.
[0071] Figure 5 A specific implementation flowchart of the voice call method S102 provided in the fifth embodiment of the present application is shown. Referring to Figure 5 , compared with Figure 1 the embodiments, the voice call method S102 provided in this embodiment comprises: S1021-S1022, which are specifically described as follows:
[0072] S1021, analyzing the call request to generate media data about the user terminal;
[0073] In this embodiment, if the server where the robot management system is located determines that the call permission verification of the user terminal is passed, the server can parse the call request initiated by the user terminal. After parsing the call request, the server can generate media data about the user terminal. The media data about the user terminal can include network configuration of the user terminal (such as IP address of the server where the user terminal is located, port of the server where the user terminal is located), multimedia data of the user terminal (such as voice codec used by the user terminal, browser type), and connection control information of the user terminal, and the like.
[0074] S1021, according to the preset communication protocol, generating media information based on the media data, and sending the media information to the voice call unit to invoke the voice call service.
[0075] In this embodiment, after the server where the robot management system is located generates the media data about the user terminal, the server can package the media data according to the communication protocol preset by the user to generate media information suitable for the communication protocol. The server can invoke the voice call service of the voice call unit by sending the media information to the voice call unit. After receiving the media information sent by the robot management system, the voice call unit can parse the media information to obtain the media data of the user terminal. The voice call unit can perform voice call service on the user terminal and the target robot according to the obtained media data. The voice call service in the voice call unit can create a voice call link between the user terminal and the target robot according to the media data of the user terminal.
[0076] This embodiment determines the media data of the user terminal and sends the media data to the voice call unit in the form of media information, so that the voice call unit can establish a voice call link in a manner consistent with the media data of the user terminal. Therefore, the method provided in this embodiment can make the voice call link established by the voice call unit suitable for the user terminal. That is, through the method provided in this embodiment, the voice call service can quickly and effectively establish a voice call link between the user terminal and the target robot.
[0077] Figure 6 A specific implementation flowchart of a voice call method S102 provided in the fifth embodiment of the present application is shown. In this embodiment, the voice call service can be deployed on the same server as the robot management system. Referring to Figure 6 , compared with Figure 1 the embodiment, the voice call service in the voice call method S102 provided in this embodiment specifically includes S601-S605, which are specifically described as follows:
[0078] S601, query the call configuration information associated with the user identifier from a user database; the call configuration information is used to generate the call instruction by invoking the voice call service;
[0079] In this embodiment, the user-initiated call request can include a user identifier corresponding to the user terminal and a call code corresponding to the target robot. When the server where the robot management system is located determines that the user terminal has the call permission to the target robot, the user identifier corresponding to the user terminal and the call code corresponding to the target robot can be determined according to the call request. The server can generate authentication information according to the user identifier. The server can send the authentication information to the voice call unit and execute the voice call service through the voice call unit. The voice call unit can obtain the user profile stored in the server. The voice call unit can determine the user information corresponding to the user terminal in the user profile according to the received authentication information. The voice call unit can verify the use permission of the user terminal according to the obtained user information. If the use permission of the user terminal is not verified, the voice call unit can generate a failure code and stop executing the voice call service. If the use permission of the user terminal is verified, the voice call unit can query the call configuration information of the user terminal from the user database of the server according to the user identifier of the user terminal. The voice call unit can perform the voice call service for the user terminal and the target robot according to the queried call configuration information. The call configuration information can include the call configuration information such as the call operator used by the user terminal, the IP address of the call operator used by the user terminal, and the answering action of the user terminal. The voice call unit can generate the call instruction corresponding to the user terminal according to the call configuration information of the user terminal when executing the voice call service.
[0080] S602, query the call string associated with the call code from a robot database; the call string is used to represent the corresponding call address when calling the target robot;
[0081] In this embodiment, the server where the robot management system is located can also send the call code corresponding to the target robot to the voice call unit. The voice call unit can query the call string of the target robot from the robot database of the robot management system according to the call code corresponding to the target robot. Through the call string, the voice call unit can determine the call address corresponding to the target robot. The voice call unit can execute the voice call service to the call address corresponding to the target robot to establish the voice call link between the user terminal and the target robot.
[0082] S603, send the call instruction to the call address corresponding to the call string based on the call configuration information, to establish the voice call link between the user terminal and the target robot.
[0083] In the embodiment, the voice call unit can send the call instruction generated based on the call configuration information to the call address corresponding to the call string. In this way, the voice call unit can start the voice call application on the target robot and establish the voice call link between the user terminal and the target robot.
[0084] S604, receiving the connection instruction fed back by the target robot; the connection instruction is used to indicate that the target robot has started the voice communication application installed on the target robot.
[0085] In the embodiment, after the voice call unit sends the call instruction to the call address of the target robot, the target robot can start the voice call application based on the received call instruction. The target robot can establish the voice call link through the voice call application. If the target robot successfully starts the voice call application, the target robot can generate a connection instruction and feed back the connection instruction to the voice call unit. Through the connection instruction, the target robot can notify the voice call unit that the target robot has started the voice communication application installed on the target robot, i.e., the target robot can start the voice call with the user terminal.
[0086] S605, generating a start call instruction based on the connection instruction and sending the start call instruction to the user terminal; the start call instruction is used to indicate to the user terminal that the voice call connection is successful.
[0087] In the embodiment, after the voice call unit receives the connection instruction of the target robot, the voice call unit can generate a start call instruction according to the connection instruction. The voice call unit can send the generated start call instruction to the user terminal that initiates the call request. Through the start call instruction, the voice call unit can inform the user terminal that the voice call connection is successful. According to the received start call instruction, the user terminal can determine that the voice call connection is successful, and the user terminal can start the voice call with the target robot.
[0088] As shown in Figure 7 Fig. 1 is a flowchart of a process of a user terminal and a target robot performing voice call according to an embodiment of the present application. Referring to Fig. 1, the process of the user terminal and the target robot performing voice call includes the following steps. Figure 7The target robot can perform startup setting according to the configuration information preset by the user after startup. After completing the startup setting, the target robot can determine whether the configuration environment of the target robot meets the preset environmental condition. If the target robot determines that the configuration environment of the target robot meets the environmental condition, the target robot can determine that the configuration environment is normal, and the target robot can wait for the user to initiate the voice call. If the target robot determines that the configuration environment of the target robot does not meet the environmental condition, the target robot can determine that the configuration environment is abnormal, and the target robot can generate an abnormal result and send the abnormal result to the voice call service. The voice call service can generate an error code according to the abnormal structure and send the error code to the robot management system. After receiving the error code, the robot management system can generate abnormal information according to the error code and send the abnormal information to the user terminal to remind the user that the configuration environment of the robot is abnormal.
[0089] With reference to Figure 7 When the user needs to perform voice call with the target robot, the user can dial the target robot on the user terminal. The user terminal can generate a call request in response to the dialing action of the user and send the call request to the robot management system. The robot management system can perform server-side verification on the call permission of the user terminal according to the received call request. The robot management system can also determine whether the user is online by obtaining the user state of the user terminal. If the user state shows that the user terminal is not online and / or the call permission verification of the user terminal fails, the robot management system can end the voice call. If the robot management system determines that the user is online and the call permission verification is passed, the robot management system can call the voice call service and initiate a call to the target robot through the voice call service. After receiving the call initiated by the voice call system, the target robot can answer the voice call in response to the call initiated by the voice call system.
[0090] As Figure 8 shown, a call logic diagram provided by an embodiment of the present application is shown. Wherein, Figure 8The call code of the target robot is 1001. The user can initiate a call request to the robot management system by inputting the call code of the target robot on the user terminal, that is, the user can dial 1001 to the target robot on the user terminal. After receiving the call request initiated by the user terminal, the robot management system can transfer the call request to the voice call service. After receiving the call request transferred by the robot management system, the voice call service can start calling 1001 according to the call request and dial 1001. After receiving the call of the voice call service, the target robot can respond to the call. The target robot can also generate a connection result. The target robot can synchronize the connection result to the voice call service. The voice call service can synchronize the connection result to the robot management system, and then synchronize the connection result to the user terminal
[0091] It should be noted that the size of the serial number of each step in the above embodiment does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0092] Referring to Figure 9 , a schematic diagram of a voice call device provided by an embodiment of the present application is shown, which can specifically include an authority module 901 and a language call module 902, wherein:
[0093] The authority module 901 is configured to determine the call authority of the user terminal in response to a call request initiated by the user terminal.
[0094] The language call module 902 is configured to, if the call authority of the user terminal is verified, call a voice call service to send a call instruction generated based on the call request to a target robot corresponding to the call request, so as to establish a voice call link between the user terminal and the target robot; the call instruction is used to start a voice communication application installed on the target robot; and the voice communication application is used to establish the voice call link.
[0095] The voice call device can further include an exception module. The exception module can be configured to, when an exception instruction sent by the target robot is received, determine an error code corresponding to the exception instruction based on the exception instruction; the exception instruction is generated when the target robot cannot respond to the call instruction through the voice call application; generate exception information based on the error code, and send the exception information to the user terminal corresponding to the exception instruction.
[0096] The authority module 901 can also be configured to query a call password associated with the user identifier from a user database; and determine the call authority of the user terminal based on the call password.
[0097] The permission module 901 can also be configured to acquire a user state of the user terminal when the call request is received, and determine that the user terminal has a call permission to the target robot if the user state is an online state and the call password verification is passed.
[0098] The voice call module 902 can also be configured to parse the call request to generate media data of the user terminal, generate media information based on the media data according to a preset communication protocol, and send the media information to a voice call unit to invoke the voice call service.
[0099] The voice call module 902 can also be configured to query call configuration information associated with the user identifier from a user database, the call configuration information being used to invoke the voice call service to generate the call instruction, query a call string associated with the call code from a robot database, the call string being used to represent a call address corresponding to calling the target robot, and send the call instruction to the call address corresponding to the call string based on the call configuration information, to establish a voice call link between the user terminal and the target robot.
[0100] The voice call module 902 can also be configured to receive a connection instruction fed back by the target robot, the connection instruction being used to indicate that the target robot has started the voice communication application installed on the target robot, generate a start call instruction based on the connection instruction, and send the start call instruction to the user terminal, the start call instruction being used to indicate to the user terminal that the voice call connection is successful.
[0101] For the device embodiment, it is basically similar to the method embodiment, so it is described more simply, and the related parts refer to the description in the method embodiment.
[0102] Referring to Figure 10 , a schematic diagram of a server provided by an embodiment of the present application is shown. As shown in Figure 10 , the server 1000 in the embodiment of the present application includes a processor 1010, a memory 1020, and a computer program 1021 stored in the memory 1020 and executable on the processor 1010. The processor 1010 implements the steps in each of the embodiments of the voice call method when executing the computer program 1021, such as steps S101-S102 shown in Figure 1 . Alternatively, the processor 1010 implements the functions of each module / unit in each of the above-described device embodiments when executing the computer program 1021, such as the functions of the modules 901-902 shown in Figure 9 .
[0103] The computer program 1021 can be divided into one or more modules / units, which are stored in the memory 1020 and executed by the processor 1010 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which can be used to describe the execution process of the computer program 1021 in the server 1000. For example, the computer program 1021 can be divided into a permission module and a language call module, and the specific functions of each module are as follows:
[0104] The permission module is configured to determine the call permission of the user terminal in response to a call request initiated by the user terminal.
[0105] The language call module is configured to, if the call permission of the user terminal is verified, invoke a voice call service to send a call instruction generated based on the call request to a target robot corresponding to the call request, so as to establish a voice call link between the user terminal and the target robot. The call instruction is used to start a voice communication application installed in the target robot. The voice communication application is used to establish the voice call link.
[0106] The server 1000 can be a server capable of providing a robot management service for a user terminal in the foregoing embodiments. The server 1000 can include, but is not limited to, the processor 1010 and the memory 1020. Those skilled in the art can understand that, Figure 10 The server 1000 is only an example and does not constitute a limitation on the server 1000, and can include more or fewer components than those shown, or combine certain components, or different components, for example, the server 1000 can also include an input / output device, a network access device, a bus, and the like.
[0107] The processor 1010 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gates or transistor logic components, discrete hardware components, or the like. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
[0108] The memory 1020 can be an internal storage unit of the server 1000, for example, a hard disk or a memory of the server 1000. The memory 1020 can also be an external storage device of the server 1000, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card and the like equipped on the terminal device 1000. Further, the memory 1020 can include both an internal storage unit and an external storage device of the terminal device 1000. The memory 1020 is used to store the computer program 1021 and other programs and data required by the terminal device 1000. The memory 1020 can also be used to temporarily store data that has been output or will be output.
[0109] The embodiments of the present application further disclose a terminal device, which comprises a memory, a processor and a computer program stored in the memory and executable on the processor, and the processor implements the voice call method according to the foregoing embodiments when executing the computer program.
[0110] The embodiments of the present application further disclose a computer readable storage medium, which stores a computer program, and the computer program is executable on a processor to implement the voice call method according to the foregoing embodiments.
[0111] The embodiments of the present application further disclose a computer program product, which, when running on a computer, enables the computer to execute the voice call method according to the foregoing embodiments.
[0112] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than limit them. Although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced by equivalent features; and these modifications or replacements do not make the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A voice call method, characterized in that, Applied to servers, including: In response to a call request initiated by a user terminal, the call permissions of the user terminal are determined; If the user terminal's call permission verification is successful, the voice call service is invoked to send a call instruction generated based on the call request to the target robot corresponding to the call request, so as to establish a voice call link between the user terminal and the target robot; the call instruction is used to activate the voice call application installed on the target robot; the voice call application is used to establish the voice call link. The call request includes a user identifier corresponding to the user terminal. The step of determining the call permissions of the user terminal in response to the call request initiated by the user terminal includes: Retrieve the call password associated with the user identifier from the user database; Determining the call permission of the user terminal based on the call password includes: if the call password matches the permission code of the target robot, the call permission verification is successful; The voice call service is deployed on the server. The call request includes a user identifier corresponding to the user terminal and a call code corresponding to the target robot. If the user terminal's call permission verification is successful, the voice call service is invoked to send a call instruction generated based on the call request to the target robot corresponding to the call request. This includes: querying call configuration information associated with the user identifier from the user database; the call configuration information is used to invoke the voice call service to generate the call instruction; querying a call string associated with the call code from the robot database; the call string is used to represent the call address corresponding to calling the target robot; sending the call instruction to the call address corresponding to the call string based on the call configuration information to start the voice call application on the target robot and establish a voice call link between the user terminal and the target robot; receiving a connection instruction from the target robot; the connection instruction is used to indicate that the target robot has started the voice call application installed on the target robot; generating a start call instruction based on the connection instruction and sending the start call instruction to the user terminal; the start call instruction is used to indicate to the user terminal that the voice call connection is successful. Before determining the call permissions of the user terminal in response to a call request initiated by the user terminal, the process includes: upon receiving an abnormal instruction sent by the target robot, determining an error code corresponding to the abnormal instruction based on the abnormal instruction; the abnormal instruction is generated when the target robot is unable to respond to the call instruction through the voice call application; generating abnormal information based on the error code, and sending the abnormal information to the user terminal corresponding to the abnormal instruction.
2. The method according to claim 1, characterized in that, The step of verifying call permissions for the user terminal based on the call password further includes: Obtain the user status corresponding to the user terminal when it receives the call request; If the user is online and the call password is verified, then the user terminal is determined to have call permission to communicate with the target robot, and the call permission is verified.
3. The method according to claim 1, characterized in that, If the user terminal's call permission verification is successful, then the voice call service is invoked to send the call instruction generated based on the call request to the target robot corresponding to the call request, including: The call request is parsed to generate media data about the user terminal; According to a preset communication protocol, media information is generated based on the media data, and the media information is sent to the voice call unit to invoke the voice call service.
4. A voice communication device, characterized in that, include: The permission module is used to determine the call permissions of the user terminal in response to a call request initiated by the user terminal. The voice call module is used to, if the call permission verification of the user terminal is successful, invoke the voice call service to send a call instruction generated based on the call request to the target robot corresponding to the call request, so as to establish a voice call link between the user terminal and the target robot; the call instruction is used to activate the voice call application installed on the target robot; the voice call application is used to establish the voice call link; The call request includes a user identifier corresponding to the user terminal. The permission module is specifically used to: query the call password associated with the user identifier from the user database. Determining the call permission of the user terminal based on the call password includes: if the call password matches the permission code of the target robot, the call permission verification is successful; The voice call service is deployed on a server; the call request includes a user identifier corresponding to the user terminal and a call code corresponding to the target robot; the voice call module is further configured to: query call configuration information associated with the user identifier from a user database; the call configuration information is used to invoke the voice call service to generate the call command; query a call string associated with the call code from a robot database; the call string is used to represent the call address corresponding to calling the target robot; send the call command to the call address corresponding to the call string based on the call configuration information to start the voice call application on the target robot and establish a voice call link between the user terminal and the target robot; receive a connection command from the target robot; the connection command is used to indicate that the voice call application installed on the target robot has been started; generate a start call command based on the connection command and send the start call command to the user terminal; the start call command is used to indicate to the user terminal that the voice call connection is successful. The voice call device further includes an error module, which is used to determine the error code corresponding to the error instruction based on the error instruction when receiving the error instruction sent by the target robot; the error instruction is generated when the target robot is unable to respond to the call instruction through the voice call application; generate error information based on the error code, and send the error information to the user terminal corresponding to the error instruction.
5. A server, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the voice call method as described in any one of claims 1-3.
6. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the voice call method as described in any one of claims 1-3.
Citation Information
Patent Citations
Network call method and device, mobile terminal, SIP (Session Initiation Protocol) server and storage medium
CN114915925A
Client verification and service processing method and device, equipment, medium and product
CN115563592A
Real-time speech communicating method and real-time speech communicating system
CN1889611A