Call method, device, electronic device and readable storage medium
By setting up multiple target applications in the user's communication terminal and sending call requests from the calling user to these applications, the problem that the user cannot receive call requests is solved, and the call efficiency and success rate are improved.
Patent Information
- Application Number
- CN202210135481.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-14
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-02-14
AI Technical Summary
In the prior art, users cannot receive call requests sent by calling users due to reasons such as communication terminals being not around or communication application being closed, resulting in low call efficiency and success rate.
By receiving a call request sent by the calling user and determining that it is in an idle state based on the identification information of the called user, multiple target applications corresponding to the called user are determined, and the call request is sent to these applications so that the called user can call the calling user through any application.
Ensure that the called user can receive call requests through any target application, thereby improving call efficiency and success rate, and solving the problem that the user cannot receive call requests.
Smart Images

Figure CN114629994B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of data processing, and particularly to artificial intelligence technical fields such as cloud services, intelligent healthcare, and big data. Specifically, a call method, apparatus, electronic device, and readable storage medium are provided. Background Art
[0002] With the rapid development of mobile communication technology, users can make voice or video calls through different applications in communication terminals. However, in the prior art, there is a problem that the called user cannot receive the call request sent by the calling user due to some special reasons, such as the communication terminal not being around, the communication application in the communication terminal being closed, etc., which greatly reduces the call efficiency and call success rate between users. Summary of the Invention
[0003] According to a first aspect of the present disclosure, a call method is provided, including: receiving a first call request sent by a first calling user, the first call request including identification information of a called user; determining a plurality of second target applications corresponding to the called user when it is determined that the called user is in an idle state according to the identification information of the called user; and sending the first call request to the plurality of second target applications, so that the called user can make a call with the first calling user through any one of the second target applications, and the plurality of second target applications are located in the called terminal of the called user.
[0004] According to a second aspect of the present disclosure, a call apparatus is provided, including: a receiving unit configured to receive a first call request sent by a first calling user, the first call request including identification information of a called user; a processing unit configured to determine a plurality of second target applications corresponding to the called user when it is determined that the called user is in an idle state according to the identification information of the called user; and a sending unit configured to send the first call request to the plurality of second target applications, so that the called user can make a call with the first calling user through any one of the second target applications, and the plurality of second target applications are located in the called terminal of the called user.
[0005] According to a third aspect of the present disclosure, an electronic device is provided, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to execute the method as described above.
[0006] According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method described above.
[0007] According to a fifth aspect of the present disclosure, there is provided a computer program product including a computer program, which implements the method described above when executed by a processor.
[0008] As can be seen from the above technical solutions, the present disclosure ensures that the server sends the first call request sent by the first calling user to multiple second target applications in the called terminal of the called user by setting multiple second target applications corresponding to the called user, ensuring that the called user can communicate with the first calling user through any one of the second target applications, effectively improving the problem that the called user cannot receive the call request sent by the first calling user, thereby greatly improving the call efficiency and call success rate.
[0009] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:
[0011] Figure 1 is a schematic diagram according to the first embodiment of the present disclosure;
[0012] Figure 2 is a schematic diagram according to the second embodiment of the present disclosure;
[0013] Figure 3 is a schematic diagram according to the third embodiment of the present disclosure;
[0014] Figure 4 is a schematic diagram according to the fourth embodiment of the present disclosure;
[0015] Figure 5 is a schematic diagram according to the fifth embodiment of the present disclosure;
[0016] Figure 6 is a schematic diagram according to the sixth embodiment of the present disclosure;
[0017] Figure 7 is a schematic diagram according to the seventh embodiment of the present disclosure;
[0018] Figure 8 is a schematic diagram according to the eighth embodiment of the present disclosure;
[0019] Figure 9is a schematic diagram according to the ninth embodiment of the present disclosure;
[0020] Figure 10 is a schematic diagram according to the tenth embodiment of the present disclosure;
[0021] Figure 11 is a schematic diagram according to the eleventh embodiment of the present disclosure;
[0022] Figure 12 is a block diagram of an electronic device for implementing the call method of the embodiment of the present disclosure. Detailed implementation manners
[0023] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, descriptions of well-known functions and mechanisms are omitted in the following description for clarity and conciseness.
[0024] Figure 1 is a schematic diagram according to the first embodiment of the present disclosure. As Figure 1 shown, the call method of this embodiment specifically includes the following steps:
[0025] S101. Receive a first call request sent by a first calling user, where the first call request includes identification information of a called user;
[0026] S102. When it is determined that the called user is in an idle state according to the identification information of the called user, determine a plurality of second target applications corresponding to the called user;
[0027] S103. Send the first call request to the plurality of second target applications so that the called user can communicate with the first calling user through any one of the second target applications, and the plurality of second target applications are located on the called terminal of the called user.
[0028] The execution subject of the call method of this embodiment is the server. By setting a plurality of second target applications corresponding to the called user, the server sends the first call request sent by the first calling user to the plurality of second target applications located on the called terminal of the called user, ensuring that the called user can communicate with the first calling user through any one of the second target applications, effectively improving the problem that the called user cannot receive the call request sent by the first calling user due to various reasons, and greatly improving the call efficiency and call success rate between users.
[0029] The server in this embodiment is a server in a broad sense. In this embodiment, any device with the function of receiving and forwarding call requests can be used as the server.
[0030] The first call request received by the server in S101 in this embodiment is specifically sent by the first calling user through the first target application located in the calling terminal, and can be a voice call request or a video call request; the identification information of the called user included in the first call request can be the name of the called user, the ID of the called user, the nickname of the called user, etc.
[0031] The calling terminal in this embodiment corresponds to the first calling user and can be an intelligent terminal such as a smart phone, a computer, a smart speaker, a smart home appliance, etc.; the first target application in this embodiment is an application located in the calling terminal that can make calls such as telephone, voice or video, and can be a system application in the calling terminal or a non-system application such as a browser application or a social application in the calling terminal.
[0032] In this embodiment, there can be multiple calling terminals corresponding to the first calling user, and each calling terminal can include multiple first target applications; the first calling user can send a first call request to the server through any one of the first target applications in any one of the calling terminals.
[0033] That is to say, in this embodiment, multiple calling terminals corresponding to the first calling user and multiple first target applications located in different calling terminals can be set, so that the first calling user can complete a call with the called user through any one of the first target applications in any one of the calling terminals, further improving the convenience of the calling user when making a call.
[0034] After the server in this embodiment executes S101 to receive the first call request sent by the first calling user and including the identification information of the called user, it executes S102 to determine multiple second target applications corresponding to the called user when it is determined that the called user is in an idle state according to the identification information of the called user.
[0035] Specifically, when the server in this embodiment executes S102, it first determines whether the called user is in an idle state according to the identification information of the called user, and then determines multiple second target applications corresponding to the called user when it is determined that the called user is in an idle state.
[0036] Among them, when the server in this embodiment executes S102 to determine that the called user is in an idle state according to the identification information of the called user, an optional implementation method that can be adopted is: obtaining the current call state of the called user according to the identification information of the called user; and determining that the called user is in an idle state when it is determined that the current call state is not in a call.
[0037] That is to say, the server in this embodiment records the call statuses of different users at the current moment, and each call status corresponds to the identification information of a different user. Therefore, the server in this embodiment can obtain the current call status of the called user according to the identification information of the called user.
[0038] When the server in this embodiment executes S102 to determine multiple second target applications corresponding to the called user, an optional implementation method that can be adopted is: according to the correspondence table between the identification information and the applications, use the multiple applications corresponding to the identification information of the called user in the correspondence table as the multiple second target applications.
[0039] That is to say, the server in this embodiment determines multiple second target applications corresponding to different called users by means of a preset correspondence table, that is, different called users correspond to different second target applications, achieving the purpose of obtaining second target applications in a personalized manner and improving the accuracy and efficiency in obtaining second target applications.
[0040] In addition, when the server in this embodiment executes S102 to determine multiple second target applications corresponding to the called user, it can also directly use the preset multiple applications as the multiple second target applications corresponding to the called user, that is, different called users correspond to the same second target applications.
[0041] When the server in this embodiment executes S102, if it is determined that the current call status of the called user is in a call (such as a mobile phone call, a video call, a voice chat, etc.), then it is determined that the called user is in a non-idle state, that is, the called user is currently in a call with another user, and then a third preset message such as "the other party is on the phone" is returned to the first calling user, and a call record is further created for the inability to answer the first call request sent by the first calling user because the called user is on the phone.
[0042] After the server in this embodiment executes S102 to determine multiple second target applications corresponding to the called user, it executes S103 to send the first call request to the multiple second target applications so that the called user can make a call with the first calling user through any one of the second target applications.
[0043] Among them, the multiple second target applications in this embodiment are located on the called terminal of the called user, and the number of called terminals can be one or multiple.
[0044] The called terminal in this embodiment corresponds to the called user and can be an intelligent terminal such as a smart phone, a computer, a smart speaker, or smart home appliances; the second target application in this embodiment is an application located in the called terminal that can perform calls such as telephone calls, voice calls, or video calls, and can be a system application in the called terminal or a non-system application such as a browser application or a social application in the called terminal.
[0045] In this embodiment, there can be multiple called terminals corresponding to the called user, and each called terminal contains multiple identical or different second target applications. The called user can receive the first call request sent by the server and implement a call with the first calling user through any second target application in any called terminal.
[0046] That is to say, in this embodiment, multiple called terminals corresponding to the called user and multiple second target applications located in different called terminals can be set. The server can send the call request sent by the first calling user to all second target applications in all called terminals, further ensuring that the called user can receive the call request sent by the first calling user, thereby improving the call efficiency and call success rate.
[0047] When the server in this embodiment executes S103 to send the first call request to multiple second target applications, an optional implementation method that can be adopted is: creating a call room corresponding to the first calling user. The first calling user can determine whether the called user enters the call room by sending a query request to the server through the first target application; sending the room information of the created call room and the first call request to multiple second target applications, so that after the called user answers the first call request through any second target application, the called user enters the call room to communicate with the first calling user.
[0048] When the server in this embodiment executes S103, the obtained room information can be the identification information of the first calling user, the room number, the room name, the network address of the room, and the room password, etc.
[0049] That is to say, the server in this embodiment can achieve the purpose of enabling the first calling user and the called user to communicate by creating a call room corresponding to the first calling user, which can improve the call privacy between the first calling user and the called user.
[0050] After the server in this embodiment executes S103 to send the first call request to multiple second target applications, it can also obtain the call information between the first calling user and the called user, such as a normal call, the called user does not answer, or the called user cancels the call, and further create a call record corresponding to the obtained call information.
[0051] In this embodiment, the first calling user can be a doctor or a patient, and accordingly, the called user is a patient or a doctor; through the above call method, the call between the doctor and the patient can be quickly realized, effectively avoiding the problem that the doctor or the patient cannot receive the call request from the other party, and greatly improving the communication efficiency between doctors and patients.
[0052] Figure 2 It is a schematic diagram according to the second embodiment of the present disclosure. As Figure 2 shown, when this embodiment executes S103 "sending the first call request to the multiple second target applications", the following content may be included:
[0053] S201. Send a first instruction to the multiple second target applications, where the first instruction is used for the multiple second target applications to respectively write a preset mark in the server;
[0054] S202. For each second target application, when it is determined that there is a preset mark corresponding to the second target application in the server, send the first call request to the second target application.
[0055] That is to say, since it cannot be ensured that the second target application located in the called terminal can always survive, when the second target application is killed by the called terminal, the first call request cannot be successfully sent to the second target application, resulting in the problem that the called user cannot receive the first call request from the first calling user. Therefore, in this embodiment, through the above "liveness detection" method, when it is determined that the second target application is in a live state, the first call request is sent to the second target application, which can avoid waste of resources and improve the accuracy when sending the first call request.
[0056] After receiving the first instruction sent by the server, the second target application located in the called terminal of this embodiment can write a preset mark corresponding to the current second target application in the server by calling a pre-agreed interface; if the second target application can write a preset mark in the server, it means that the second target application is in a live state in the called terminal, otherwise it means that the second target application is killed in the called terminal.
[0057] When the server of this embodiment executes S202, if it is determined that there is no preset mark corresponding to the second target application in the server, a second instruction and the first call request are sent to the second target application, and the sent second instruction is used to open the second target application in the called terminal.
[0058] That is to say, the server in this embodiment can also send a second instruction to the second target application in the case where the second target application is killed, so that the second target application is reopened on the called terminal, and then display the first call request sent by the first calling user to the called user.
[0059] Figure 3 It is a schematic diagram according to the third embodiment of the present disclosure. As Figure 3 shown, after executing S103 "sending the first call request to the multiple second target applications" in this embodiment, the following content may further be included:
[0060] S301: Set the called user to a locked state;
[0061] S302: When it is determined that the called user corresponding to the second call request sent by the second calling user is in a locked state, return a first preset message to the second calling user.
[0062] That is to say, after the server in this embodiment determines that the called user is in an idle state and sends the first call request to multiple second target applications, the called user is locked, ensuring that the called user is in a locked state during a call, thereby realizing a "one-to-one" call between the first calling user and the called user.
[0063] When the server in this embodiment executes S302 to return the first preset message to the second calling user, it can return the first preset message to the first target application used by the second calling user when sending the second call request, and the returned first preset message can be a prompt content of "the other party is busy".
[0064] Figure 4 It is a schematic diagram according to the fourth embodiment of the present disclosure. As Figure 4 shown, after executing S103 "sending the first call request to the multiple second target applications" in this embodiment, the following content may further be included:
[0065] S401: Determine the second target application that answers the first call request;
[0066] S402: Set the determined second target application to a locked state;
[0067] S403: Return a second preset message to other second target applications.
[0068] That is to say, after determining that the called user answers the first call request through a second target application in this embodiment, the server locks the second target application that answers the first call request, and returns a second preset message to the second target applications that are not in the locked state, so as to avoid the problem that after the first call request is answered by a second target application, other second target applications will still display the first call request.
[0069] When the server in this embodiment executes S403 to return the second preset message to other second target applications, the second preset message returned may be the prompt content of "has been answered".
[0070] Figure 5 It is a schematic diagram according to the fifth embodiment of the present disclosure. Figure 5 The flowchart of the call method in this embodiment is shown: The first calling user first sends a first call request to the server; when it is determined that the called user is in an idle state, the server creates a call room, and sends the room information of the call room and the first call request to all second target applications corresponding to the called user; after the called user enters the call room, the call state of the called user is updated; after the calling user determines that the called user answers by polling the room state, the calling user enters the call room, so as to realize the call.
[0071] Figure 6 It is a schematic diagram according to the sixth embodiment of the present disclosure. Figure 6 The flowchart of the server in this embodiment for "detecting liveness" is shown: The server sends a first instruction, such as an ECHO instruction, to the second target application, so that the second target application responds by calling a preset interface, and writes a preset mark corresponding to the second target application in the storage structure (such as Redis located in the server); when the server queries that there is a preset mark corresponding to the second target application in the storage structure, it determines that the second target application is in a live state and sends a first call request; otherwise, it sends a second instruction (such as an Open instruction) and the first call request to the second target application, so that the second target application is opened and receives the first call request.
[0072] Figure 7 It is a schematic diagram according to the seventh embodiment of the present disclosure. Figure 7Another flowchart of the call method according to this embodiment is shown; after the server receives the first call request sent by the first calling user, it first queries the call status of the called user; when it is determined that the called user is in a non-idle state, a call record that has not been answered because the called user is on the phone is created; when it is determined that the called user is in an idle state, all second target applications of the called user to which the first call request is sent are then sent, and then, according to the answering result of the called user, such as a normal call, the called user does not answer, the first calling user cancels, etc., a corresponding call record is created.
[0073] Figure 8 It is a schematic diagram according to the eighth embodiment of the present disclosure. Figure 8 A flowchart of the calling user making a call through the calling terminal according to this embodiment is shown; in this embodiment, the calling terminal is a smart speaker; after the calling user sends a voice command of "call Dr. xx's phone" to the smart speaker, the smart speaker passes the voice command sent by the calling user to the central control module; the central control module requests the parsing module, and the parsing module completes the intent parsing of the voice command; after the parsing module selects the corresponding medical function according to the intent parsing result (for example, sends an intentRequest request to the corresponding medical function), the central control module can then receive the control command returned by the selected medical function (for example, returns a handleIntent command to the central control), and the medical function selected in this embodiment is the function of "making a call with the doctor"; the central control module issues this control command to the smart speaker, so that after the smart speaker receives the control command sent by the central control module, it calls the interface corresponding to the selected medical function (for example, passes the handleIntent command to the corresponding interface), thereby completing the corresponding service, for example, calling the interface corresponding to the medical function of "making a call with the doctor" to realize a call with the doctor.
[0074] Figure 9 It is a schematic diagram according to the ninth embodiment of the present disclosure. Figure 9 A flowchart of setting the called user to a locked state during a call according to this embodiment is shown: after the server sends the first call request to the called user, the called user is set to a locked state by locking the called user. If the called user can be locked, it means that the called user can make a call; when the called user corresponding to the second call request sent by the second calling user received by the server is in a locked state, the called user cannot be locked again, indicating that the called user is on the phone with another calling user, and thus a prompt content of "the other party is busy" is returned to the second calling user.
[0075] Figure 10 It is a schematic diagram according to the tenth embodiment of the present disclosure. Figure 10The flowchart of setting the second target application to the locked state during a call in this embodiment is shown as follows: The server sends the first call request to the second target application 1 and the second target application 2; if the called user answers the first call request through the second target application 1, then lock the second target application 1 and set the second target application 1 to the locked state; after locking the second target application 1, it is impossible to lock the second target application 2, indicating that the called user has answered the call request through other second target applications, and thus return the prompt content of "has been answered" to the second target application 2.
[0076] Figure 11 is a schematic diagram according to the eleventh embodiment of the present disclosure. As Figure 11 shown, the call device 1100 of this embodiment includes:
[0077] A receiving unit 1101, configured to receive a first call request sent by a first calling user, where the first call request includes identification information of the called user;
[0078] A processing unit 1102, configured to determine a plurality of second target applications corresponding to the called user when it is determined according to the identification information of the called user that the called user is in an idle state;
[0079] A sending unit 1103, configured to send the first call request to the plurality of second target applications, so that the called user can make a call with the first calling user through any one of the second target applications, and the plurality of second target applications are located in the called terminal of the called user.
[0080] The call device 1100 in this embodiment is located in the server, and this server is a server in a broad sense. In this embodiment, any device with the function of receiving and forwarding call requests can be used as the server.
[0081] The first call request received by the receiving unit 1101 is specifically sent by the first calling user through the first target application located in the calling terminal, and can be a voice call request or a video call request; the identification information of the called user included in the first call request can be the name of the called user, the ID of the called user, the nickname of the called user, etc.
[0082] After the receiving unit 1101 in this embodiment receives the first call request sent by the first calling user and including the identification information of the called user, the processing unit 702 determines a plurality of second target applications corresponding to the called user when it is determined according to the identification information of the called user that the called user is in an idle state.
[0083] Specifically, the processing unit 1102 first determines whether the called user is in an idle state according to the identification information of the called user, and then, when it is determined that the called user is in an idle state, determines a plurality of second target applications corresponding to the called user.
[0084] Among them, when the processing unit 1102 determines that the called user is in an idle state according to the identification information of the called user, an optional implementation manner that can be adopted is: according to the identification information of the called user, obtain the current call state of the called user; when it is determined that the current call state is no call in progress, determine that the called user is in an idle state.
[0085] That is to say, the processing unit 1102 records the call states of different users at the current moment, and each call state corresponds to the identification information of different users. Therefore, the server in this embodiment can obtain the current call state of the called user according to the identification information of the called user.
[0086] When the processing unit 1102 determines a plurality of second target applications corresponding to the called user, an optional implementation manner that can be adopted is: according to the correspondence table between the identification information and the applications, use the plurality of applications corresponding to the identification information of the called user in the correspondence table as the plurality of second target applications.
[0087] That is to say, the processing unit 1102 determines a plurality of second target applications corresponding to different called users by means of a preset correspondence table, that is, different called users correspond to different second target applications, realizing personalized acquisition of the second target applications and improving the accuracy and efficiency in acquiring the second target applications.
[0088] In addition, when the processing unit 1102 obtains a plurality of second target applications corresponding to the called user, it can also directly use a preset plurality of applications as the plurality of second target applications corresponding to the called user, that is, different called users correspond to the same second target applications.
[0089] If the processing unit 1102 determines that the current call state of the called user is in a call, it determines that the called user is in a non-idle state, that is, the called user is currently in a call with another user, and then returns a third preset message such as "the other party is on the phone" to the first calling user, and further creates a call record indicating that the called user cannot answer the first call request sent by the first calling user because the called user is on the phone.
[0090] After the processing unit 1102 determines a plurality of second target applications corresponding to the called user in this embodiment, the sending unit 1103 sends the first call request to the plurality of second target applications, so that the called user can make a call with the first calling user through any one of the second target applications.
[0091] Among them, multiple second target applications in this embodiment are located on the called terminal of the called user, and the number of called terminals can be one or multiple.
[0092] When the sending unit 1103 sends the first call request to multiple second target applications, an optional implementation method that can be adopted is: creating a call room corresponding to the first calling user; sending the room information of the created call room and the first call request to multiple second target applications, so that after the called user answers the first call request through any one of the second target applications, the called user enters the call room to communicate with the first calling user.
[0093] The room information obtained by the sending unit 1103 can be the identification information of the first calling user, room number, room name, network address of the room, room password, etc.
[0094] That is to say, the sending unit 1103 can achieve the purpose of the first calling user communicating with the called user by creating a call room corresponding to the first calling user, which can improve the call privacy between the first calling user and the called user.
[0095] After the sending unit 1103 sends the first call request to multiple second target applications, it can also obtain the call information between the calling user and the called user, such as normal call, the called user does not answer, or the called user cancels the call, and further create a call record corresponding to the obtained call information.
[0096] When the sending unit 1103 sends the first call request to multiple second target applications, it can include the following content: sending a first instruction to multiple second target applications, where the first instruction is used for the multiple second target applications to write a preset mark in the server respectively; for each second target application, when it is determined that there is a preset mark corresponding to the second target application in the server, sending the first call request to the second target application.
[0097] That is to say, since it cannot be ensured that the second target applications located in the called terminal can always survive, in the case where the second target applications are killed by the called terminal, the first call request cannot be successfully sent to the second target applications, resulting in the problem that the called user cannot receive the call request from the first calling user. Therefore, the sending unit 1103 uses the above "liveness detection" method to send the first call request to the second target application when it is determined that the second target application is in a live state, which can avoid resource waste and improve the accuracy when sending the first call request.
[0098] If the sending unit 1103 determines that there is no preset mark corresponding to the second target application in the server, it sends a second instruction and a first call request to the second target application. The second instruction sent is used to open the second target application on the called terminal.
[0099] That is to say, the sending unit 1103 can also, when the second target application is killed, send a second instruction to the second target application, so that the second target application is opened on the called terminal, and then display the first call request sent by the first calling user to the called user.
[0100] The call device 1100 of this embodiment may further include a first locking unit 1104, which is used to perform the following after the sending unit 1103 sends the first call request to multiple second target applications: set the called user to a locked state; when it is determined that the called user corresponding to the second call request sent by the second calling user is in a locked state, return a first preset message to the second calling user.
[0101] That is to say, after the first locking unit 1104 determines that the called user is in an idle state and sends the first call request to multiple second target applications, it locks the called user, ensuring that the called user is in a locked state during a call, so as to realize a "one-to-one" call between the called user and the first calling user.
[0102] When the first locking unit 1104 returns the first preset message to the second calling user, it can return the first preset message to the first target application used by the second calling user when sending the call request. The returned first preset message can be a prompt content of "the other party is busy".
[0103] The call device 1100 of this embodiment may further include a second locking unit 1105, which is used to perform the following after the sending unit 1103 sends the first call request to multiple second target applications: determine the second target application that answers the first call request; set the determined second target application to a locked state; return a second preset message to other second target applications.
[0104] That is to say, after the second locking unit 1105 determines that the called user answers the first call request through a second target application, it locks the second target application that answers the first call request and returns a second preset message to other second target applications that are not in a locked state, so as to avoid the problem that after the first call request is answered by a second target application, other second target applications will still display the first call request.
[0105] When the second locking unit 1105 returns the second preset message to other second target applications, the returned second preset message may be a prompt content of "has been answered".
[0106] In the technical solution of the present disclosure, the acquisition, storage, and application of the user's personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0107] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0108] As Figure 12 shown, it is a block diagram of an electronic device for a call method according to an embodiment of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0109] As Figure 12 shown, the device 1200 includes a computing unit 1201, which can execute various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1202 or a computer program loaded from a storage unit 1208 into a random access memory (RAM) 1203. In the RAM 1203, various programs and data required for the operation of the device 800 can also be stored. The computing unit 1201, the ROM 1202, and the RAM 1203 are connected to each other through a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.
[0110] Multiple components in the device 1200 are connected to the I / O interface 1205, including: an input unit 1206, such as a keyboard, a mouse, etc.; an output unit 1207, such as various types of displays, speakers, etc.; a storage unit 1208, such as a disk, an optical disc, etc.; and a communication unit 1209, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1209 allows the device 1200 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0111] The computing unit 1201 may be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1201 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1201 executes the various methods and processes described above, such as the call method. For example, in some embodiments, the call method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 1208.
[0112] In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 1200 via the ROM 1202 and / or the communication unit 1209. When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the call method described above may be executed. Alternatively, in other embodiments, the computing unit 1201 may be configured to execute the call method by any other suitable means (e.g., by means of firmware).
[0113] Various embodiments of the systems and techniques described herein may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), systems on a chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: implemented in one or more computer programs that may be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a special-purpose or general-purpose programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0114] The program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0115] In the context of this disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0116] In order to provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, speech input, or tactile input).
[0117] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0118] A computer system may include a client and a server. The client and the server are generally far from each other and usually interact via a communication network. The relationship between the client and the server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services ("Virtual Private Server", or simply "VPS" for short). The server may also be a server of a distributed system or a server combined with a blockchain.
[0119] It should be understood that various forms of processes shown above can be used, with steps reordered, added or deleted. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and no limitations are imposed herein.
[0120] The above specific embodiments do not constitute a limitation on the protection scope of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the protection scope of this disclosure.
Claims
1. A call method, comprising: Receive a first call request sent by a first calling user through a first target application, where the first call request includes identification information of a called user, the first calling user corresponds to multiple calling terminals, and the first target application is located in any one of the multiple calling terminals; When it is determined that the called user is in an idle state according to the identification information of the called user, determine multiple second target applications corresponding to the called user; Send the first call request to the multiple second target applications, so that the called user can communicate with the first calling user through any one of the second target applications, and the multiple second target applications are located in multiple called terminals of the called user; Wherein, the determining multiple second target applications corresponding to the called user includes: According to the correspondence table between identification information and applications, use the multiple applications corresponding to the identification information of the called user in the correspondence table as the multiple second target applications, and different identification information corresponds to different correspondence tables.
2. The method according to claim 1, wherein, The determining that the called user is in an idle state according to the identification information of the called user includes: According to the identification information of the called user, obtain the current call status of the called user; When it is determined that the current call status is not in a call, determine that the called user is in an idle state.
3. The method according to any one of claims 1-2, wherein, The sending the first call request to the multiple second target applications includes: Send a first instruction to the multiple second target applications, where the first instruction is used for the multiple second target applications to write a preset mark in the server respectively; For each second target application, when it is determined that there is a preset mark corresponding to the second target application in the server, send the first call request to the second target application.
4. The method according to claim 3, further comprising, In the case where it is determined that there is no preset mark corresponding to the second target application in the server, sending a second instruction and the first call request to the second target application, where the second instruction is used to open the second target application in the called terminal.
5. The method according to claim 1, wherein, The sending the first call request to the multiple second target applications includes: Create a call room corresponding to the first calling user; Send the room information of the call room and the first call request to the multiple second target applications, so that after the called user answers the first call request through any one of the second target applications, enter the call room to communicate with the first calling user.
6. The method according to claim 1, further comprising, After sending the first call request to the multiple second target applications, setting the called user to a locked state; In the case where it is determined that the called user corresponding to the second call request sent by the received second calling user is in a locked state, returning a first preset message to the second calling user.
7. The method according to claim 1, further comprising, After sending the first call request to the multiple second target applications, determining the second target application that answers the first call request; Set the determined second target application to a locked state; Return a second preset message to other second target applications.
8. The method according to claim 2, further comprising, In the case where it is determined that the current call state is an ongoing call, determining that the called user is in a non-idle state; Return a third preset message to the first calling user, and create a call record indicating that the called user is unable to answer the first call request because the called user is on a call.
9. A call device, comprising: A receiving unit, configured to receive a first call request sent by a first calling user through a first target application, where the first call request includes identification information of a called user, the first calling user corresponds to multiple calling terminals, and the first target application is located in any one of the multiple calling terminals; A processing unit, configured to determine multiple second target applications corresponding to the called user when it is determined that the called user is in an idle state according to the identification information of the called user; A sending unit, configured to send the first call request to the multiple second target applications, so that the called user can communicate with the first calling user through any one of the second target applications, and the multiple second target applications are located in multiple called terminals of the called user; Wherein, when determining multiple second target applications corresponding to the called user, the processing unit specifically performs: According to the correspondence table between identification information and applications, multiple applications corresponding to the identification information of the called user in the correspondence table are used as the multiple second target applications, and different identification information corresponds to different correspondence tables.
10. The device according to claim 9, wherein When the processing unit determines that the called user is in an idle state according to the identification information of the called user, it specifically performs: Obtain the current call status of the called user according to the identification information of the called user; When it is determined that the current call status is no call in progress, it is determined that the called user is in an idle state.
11. The device according to any one of claims 9 - 10, wherein When the sending unit sends the first call request to the multiple second target applications, it specifically performs: Send a first instruction to the multiple second target applications, where the first instruction is used for the multiple second target applications to write a preset mark in the server respectively; For each second target application, when it is determined that there is a preset mark corresponding to the second target application in the server, send the first call request to the second target application.
12. The device according to claim 11, wherein the sending unit is further configured to perform: In the case where it is determined that there is no preset mark corresponding to the second target application in the server, send a second instruction and the first call request to the second target application, where the second instruction is used to open the second target application on the called terminal.
13. The device according to claim 9, wherein When the sending unit sends the first call request to the multiple second target applications, it specifically performs: Create a call room corresponding to the first calling user; Send the room information of the call room and the first call request to the multiple second target applications, so that after the called user answers the first call request through any one of the second target applications, the called user enters the call room to communicate with the first calling user.
14. The device according to claim 9, further comprising a first locking unit, configured to perform the following: After the sending unit sends the first call request to the multiple second target applications, set the called user to a locked state; In the case where it is determined that the called user corresponding to the second call request sent by the second calling user is in a locked state, return a first preset message to the second calling user.
15. The device according to claim 9, further comprising a second locking unit, configured to perform the following: After the sending unit sends the first call request to the multiple second target applications, determine the second target application that answers the first call request; Set the determined second target application to a locked state; Return a second preset message to other second target applications.
16. The apparatus according to claim 10, wherein the processing unit is further configured to perform: When it is determined that the current call status is an ongoing call, determining that the called user is in a non-idle state; Returning a third preset message to the first calling user and creating a call record indicating that the first call request cannot be answered because the called user is on a call.
17. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1-8.
18. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.
19. A computer program product comprising a computer program, which when executed by a processor, implements the method according to any one of claims 1-8.
Citation Information
Patent Citations
Optimization method of synchronous ringing service and application server
CN104754142A
Internet telephone calling method and device
CN106998330A
Communication method, system and device, electronic equipment and storage medium
CN113099055A