Audio-video call method and apparatus

By establishing signaling and polling links in smart terminal products and dynamically switching call modes, the problems of resource waste and difficulty in multi-terminal interoperability in existing technologies are solved, enabling efficient video calls and status synchronization across multiple devices and improving the efficiency of doctor-patient communication.

CN116260856BActive Publication Date: 2025-11-25BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310331597.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-30
Publication Date
2025-11-25
Estimated Expiration
2043-03-30

AI Technical Summary

Technical Problem

Existing smart terminal products use a polling method for video calls with doctors, which leads to resource waste and difficulty in synchronizing call status. They also cannot support interoperability across WEB, iOS, and Android platforms simultaneously, making it easy for doctors to miss appointments during follow-up visits.

Method used

By establishing signaling links and polling links, the call mode can be dynamically switched, supporting both the APP side of the signaling link and the WEB side of the polling link, thereby achieving call status synchronization and resource optimization for multiple devices.

Benefits of technology

It improves the success rate of video calls, reduces resource waste, lowers the barrier to entry for doctors, enhances the efficiency of doctor-patient communication, and supports real-time call requests from multiple devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116260856B_ABST
    Figure CN116260856B_ABST
Patent Text Reader

Abstract

The present disclosure provides an audio and video call method and device, relates to the field of artificial intelligence, and particularly relates to the field of internet medical treatment. A specific implementation scheme is as follows: in response to receiving a login request of different accounts, recording device information of each account; establishing a communication link for each account according to the device information of each account, wherein the communication link comprises a signaling link and / or a polling link; in response to receiving a request of a calling party calling a called party, detecting a call state of the called party; if the call state of the called party is idle, sending the request to the called party through a communication link of the called party matched with a communication link of the calling party; in response to detecting that the called party answers, updating the call states of the calling party and the called party to busy. This implementation scheme is compatible with the video call capability of WEB and mobile terminals on the market, ensures the timely delivery of a call request, and improves the call success rate.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of artificial intelligence, in particular to the field of internet medical treatment, and specifically to an audio and video call method and device. BACKGROUND

[0002] Existing intelligent terminal products can focus on the health management of the elderly at home and realize remote care of relatives, so the video call capability is essential. In the early stage of business development, only the WEB end of the doctor needs to be communicated in a polling manner. With the continuous development of the business, the iOS and Android double-end App of the doctor end are added. The intelligent terminal product needs to support video calls with WEB, iOS and Android three ends of the doctor end at the same time. The call state of the three ends of the doctor needs to be synchronized.

[0003] Although the polling method can meet the business at present, it is extremely wasteful of performance, and most of the call state requests are useless, which seriously wastes the resources of the server and the client.

[0004] Most of the current App video call functions do not use polling technology, which cannot interwork with the intelligent terminal product, resulting in hindering the expansion of the business of the intelligent terminal product. The intelligent terminal product needs to open the corresponding page to poll the call request, otherwise, the called request cannot be received in time, which is extremely easy to miss the doctor's random visit. SUMMARY

[0005] The present disclosure provides an audio and video call method, device, equipment, storage medium and computer program product.

[0006] According to a first aspect of the present disclosure, an audio and video call method is provided, comprising: recording the device information of each account in response to receiving a login request of different accounts; establishing a communication link for each account according to the device information of each account, wherein the communication link includes a signaling link and / or a polling link; detecting the call state of the called party in response to receiving a request of a calling party calling a called party; if the call state of the called party is idle, sending the request to the called party through the communication link of the called party matched with the communication link of the calling party; and updating the call state of the calling party and the called party to busy in response to detecting that the called party answers.

[0007] According to a second aspect of the present disclosure, an audio-video call device is provided, comprising: a login unit configured to record device information of each account in response to receiving a login request of different accounts; an establishment unit configured to establish a communication link for each account according to the device information of each account, wherein the communication link comprises a signaling link and / or a polling link; a state detection unit configured to detect a call state of a called party in response to receiving a request of a calling party to call the called party; a call unit configured to send the request to the called party through the communication link of the called party matched with the communication link of the calling party if the call state of the called party is idle; and a state updating unit configured to update the call states of the calling party and the called party to busy in response to detecting that the called party answers

[0008] According to a third aspect of the present disclosure, an electronic device for audio-video call is provided, comprising: at least one processor; and a memory communicatively connected with 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 to enable the at least one processor to perform the method of any one of the first aspect.

[0009] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to perform the method of any one of the first aspect.

[0010] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method of any one of the first aspect.

[0011] The audio-video call method and device provided by the embodiments of the present disclosure support two call capabilities of signaling (APP end) and polling (WEB end), and can dynamically switch the call mode according to the form of the doctor end. The performance and experience of the double-end App of the doctor end are guaranteed, and the video capability of the WEB end of the doctor is also compatible.

[0012] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0013] The accompanying drawings are used to better understand the present scheme, and do not limit the present disclosure. Among them:

[0014] Figure 1 is an exemplary system architecture diagram to which an embodiment of the present disclosure can be applied;

[0015] Figure 2 is a flowchart of one embodiment of the audio-video call method according to the present disclosure;

[0016] Figures 3a-3c is a schematic diagram of one application scenario of the audio-video call method according to the present disclosure;

[0017] Figure 4 is a flowchart of yet another embodiment of the audio-video call method according to the present disclosure;

[0018] Figure 5 is a structural schematic diagram of one embodiment of the audio-video call device according to the present disclosure;

[0019] Figure 6 is a structural schematic diagram of a computer system of an electronic device suitable for implementing embodiments of the present disclosure. DETAILED DESCRIPTION

[0020] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to help in understanding them. These should be considered in context along with the description and will be regarded as merely illustrative. Therefore, those of ordinary skill in the art will recognize various changes and modifications of the embodiments described herein, without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and structures are omitted in the following description for clarity and conciseness.

[0021] Figure 1 An exemplary system architecture 100 to which embodiments of the audio-video call method or audio-video call device of the present disclosure can be applied is shown.

[0022] As shown in Figure 1 , the system architecture 100 can include terminal devices 101, 102, 103 and a server 104. A network serves as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 104. The network can include various connection types, such as wired, wireless communication links or fiber optic cables, etc.

[0023] The terminal devices 101, 102, 103 can interact through the server 104 to conduct audio-video calls and the like. Various communication client applications can be installed on the terminal devices 101, 102, 103, such as remote medical applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0024] The terminal devices 101, 102 and 103 can be hardware or software. When the terminal devices 101, 102 and 103 are hardware, they can be various electronic devices with a display screen and supporting web browsing, including but not limited to a smart speaker, a smartphone, a tablet computer, an e-book reader, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 player (Moving Picture Experts Group Audio Layer IV), a laptop computer and a desktop computer, and the like. When the terminal devices 101, 102 and 103 are software, they can be installed in the above-listed electronic devices. They can be implemented as multiple software or software modules (for example, for providing distributed services) or as a single software or software module. No specific limitation is made herein.

[0025] In a remote medical application scenario, the terminal device 101 can be a smart speaker as a patient end. The terminal devices 103 and 104 can be a PC or a smartphone as a doctor end. The PC cannot install an APP and can only communicate with the smart speaker in a polling manner through a WEB end. The smartphone can install an APP and can communicate with the smart speaker in a signaling manner.

[0026] The server 104 can be a server providing various services, for example, a background communication server supporting voice and video calls of the terminal devices 101, 102 and 103. The background communication server can analyze data such as a voice and video call request of a calling party, device information of the calling party and a called party, and the like, determine which communication link to use for calling the called party, and then send a call request to the called party through the optimal communication link.

[0027] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster composed of multiple servers or as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, multiple software or software modules for providing distributed services) or as a single software or software module. No specific limitation is made herein. The server can also be a server of a distributed system or a server combined with a blockchain. The server can also be a cloud server or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0028] It should be noted that the voice and video call method provided by the embodiments of the present disclosure is generally executed by the server 104, and accordingly, the voice and video call apparatus is generally arranged in the server 104.

[0029] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0030] Continue to refer to Figure 2 The diagram illustrates a flow 200 of an embodiment of an audio / video call method according to the present disclosure. The audio / video call method includes the following steps:

[0031] Step 201: In response to receiving login requests from different accounts, record the device information for each account.

[0032] In this embodiment, the audio and video calling method operates on an electronic device (e.g., Figure 1 The server shown can receive user login requests via wired or wireless connections. Users can log in to the server using different devices, such as PCs, smartphones, and smart speakers. The same user can log in using the same account on different devices; for example, a doctor can log in to the server on their mobile phone using a video calling app or a web browser. Patients can log in to the server using a smart speaker. The login request may include device information, such as the device model, supported video calling apps, and web browsers.

[0033] Step 202: Establish a communication link for each account based on the device information of each account.

[0034] In this embodiment, the communication link includes a signaling link and / or a polling link. The signaling link is used by the APP and includes IM (Instant Messaging) signaling and RTC (Real-Time Communication). The polling link is used by the WEB client and includes RTC (Real-Time Communication), which enables video calls by sending HTTP requests. The establishment process of the signaling link and the polling link is existing technology and will not be described in detail.

[0035] If an account logs in via the app, a signaling link is established for it. If an account logs in via a web browser, a polling link is established for it. The same account can log in simultaneously via both the app and the web browser, therefore both signaling and polling links can be established at the same time.

[0036] Step 203: In response to receiving a request from the calling party to call the called party, check the call status of the called party.

[0037] In this embodiment, the server maintains the call status of different accounts. Initially, the account is in an idle state, and it switches to a busy state after a call is answered. If the account is busy (i.e., the line is occupied), the server cannot answer other users' calls. Users must wait for the current call to end and the account to return to an idle state before they can answer other users' calls.

[0038] In step 204, if the call state of the called party is idle, the call request is sent to the called party through the communication link of the called party that matches the communication link of the calling party.

[0039] In the embodiment, the idle state can answer the call. Since the called party can have multiple communication links, the optimal communication link can be selected to send the call request. The optimal communication link is the one that matches the communication link of the calling party, for example, if the communication link of the calling party is a polling link, the polling link of the called party is selected. If the communication link of the calling party is a signaling link, the signaling link of the called party is selected. If the called party does not have the same communication link as the calling party, a different communication link can also be selected.

[0040] In step 205, in response to detecting that the called party answers the call, the call states of the calling party and the called party are updated to busy.

[0041] In the embodiment, the called party receives the call request through polling or signaling and chooses to answer the call, and the call states of the calling party and the called party are updated to busy. When the called party has multiple terminals (WEB terminal and APP terminal) online at the same time, the terminals other than the terminal that answers the call are automatically canceled.

[0042] The method provided by the above embodiments of the present disclosure is compatible with the video call capability of the WEB and mobile terminals on the market, and has more competitiveness than the existing products that only support single video call capability. At the same time, the video call can ensure that the call request is delivered in time even if the App is killed or the signaling link is disconnected, thereby improving the call success rate to some extent. In the business scenario of the doctor following up the patient and the patient asking the doctor for advice, the call success rate is particularly important. To some extent, it lays a foundation for future business development.

[0043] In some optional implementation manners of the embodiment, the communication link is established for each account according to the device information of each account, including: for the accounts logged in through the Android device and the iOS device, a signaling link is established. The Android device and the iOS device can perform video call through the APP, and therefore the signaling link can be established to perform video call through the IM signaling + RTC mode, as shown in the following table. Figure 3a The smart speaker thus modified can support video call through the APP, saving the resources of the server end and the client end. It can also avoid the situation that the user cannot make a video call because the WEB video call page is not opened.

[0044] In some optional implementations of the embodiment, the establishing a communication link for each account according to the device information of each account comprises: for an account logged in through a personal computer, a polling link is established. A personal computer (PC) cannot install an APP, and thus can only make a video communication through a WEB end, so a polling link needs to be established to make a video call through polling RTC, and the specific process is as shown in Figure 3b Thus, the original video call mode of the smart sound box can be retained, and different versions of the smart sound box can be prevented from being unable to intercommunicate.

[0045] In some optional implementations of the embodiment, the sending the request to the called party through the communication link of the called party matched with the communication link of the calling party comprises: if the communication link of the calling party is a signaling link, the request is sent to the called party through the signaling link. The same communication link is used for the video call, and conversion is not needed, and time delay is reduced.

[0046] In some optional implementations of the embodiment, the sending the request to the called party through the communication link of the called party matched with the communication link of the calling party comprises: if the communication link of the calling party is a polling link, the request is sent to the called party through the polling link. The same communication link is used for the video call, and conversion is not needed, and time delay is reduced.

[0047] In some optional implementations of the embodiment, the sending the request to the called party through the communication link of the called party matched with the communication link of the calling party comprises: if the communication link of the calling party is a polling link and a signaling link, the request is sent to the called party through the polling link and the signaling link respectively. The call is made through two links respectively, and the call success rate can be improved.

[0048] In some optional implementations of the embodiment, the method further comprises: in response to detecting that the called party answers one of the links, canceling the request on the other link. The occupation of resources can be reduced.

[0049] In some optional implementations of the embodiment, the method further comprises: in response to detecting that the called party rejects one of the links, ending the video call on all the links. The harassment of the called party can be avoided, and the occupation of resources can be reduced.

[0050] In some optional implementations of the embodiment, the method further comprises: in response to detecting that the called party rejects, updating the call states of the calling party and the called party to be idle. After the rejection, the call states are switched to idle, and the link resources are released, and the link resources can be used by other users.

[0051] In some optional implementations of the embodiment, the method further comprises: in response to detecting that the calling party cancels the call when the called party does not answer, ending the video call and updating the call state of the calling party and the called party as idle. After the call is canceled and the state is switched to idle, the link resources are released and can be used by other users.

[0052] In some optional implementations of the embodiment, the method further comprises: in response to detecting that the calling party or the called party hangs up the video after the called party answers, ending the video call and updating the call state of the calling party and the called party as idle. After the call is ended and the state is switched to idle, the link resources are released and can be used by other users.

[0053] Continuing to refer to Figures 3a-3c , Figures 3a-3c is a schematic diagram of an application scenario of the audio / video call method according to the embodiment. Figure 3a is an application scenario of the signaling audio / video call method, Figure 3b is an application scenario of the polling audio / video call method, Figure 3c is an application scenario in which the called party is offline and is pulled up, and the same reference numerals in different diagrams do not represent the same steps. Figure 3a The specific process of the signaling audio / video call shown in the diagram is as follows:

[0054] 1. Initialization: The signaling is initialized to ensure that the communication link is in a connected state. At the same time, the server records the information of the logged-in device to facilitate device management in each state of the video call.

[0055] 2. Initiation of a video call request:

[0056] 201. The calling party calls the called party and queries the call state.

[0057] 202. If the called party is in an idle state, the optimal connection is adopted according to the specific link conditions of the two parties to send a call request.

[0058] 203. If the called party is offline, the pull-up scheme (as shown in Figure 3c ) is triggered. After being pulled up, the signaling is automatically connected, and the call request can be normally received. If the called party is online on multiple terminals at the same time, the call request will be received simultaneously, and the probability of answering is increased.

[0059] 204. The call is initiated through IM signaling + RTC signaling, and the called party is invited to create a room.

[0060] 205. If the called party does not operate or the calling party does not cancel the call and times out, the state is returned to idle.

[0061] 206. If the calling party cancels the call, the state is returned to idle, and the room that has been applied for is canceled.

[0062] IM signaling and RTC signaling involved in the call process, and WebRTC are prior art, so will not be repeated.

[0063] 3, answer the video call:

[0064] 301, the called party receives the call request through the signaling, selects to answer, and updates the call status of the calling party and the called party to busy.

[0065] 302, log in to the RTC video call account, and when the called party is online on multiple terminals at the same time, the terminals except the answering terminal automatically cancel the call.

[0066] 303, if either the called party or the calling party hangs up the call, exit the RTC video call account, and no longer push traffic to the called party.

[0067] 304, update the call status of the calling party and the called party to idle.

[0068] 305, interrupt the IM signaling and release the room.

[0069] 4, refuse the video call:

[0070] 401, the called party receives the call request and selects to refuse.

[0071] 402, update the call status of the calling party and the called party to idle. When the called party is online on multiple terminals at the same time, all terminal devices end the video call.

[0072] 5, cancel the call: when the called party is about to answer the video call, the calling party cancels the call, and updates the call status of the calling party and the called party to idle. When the called party is online on multiple terminals at the same time, all terminal devices end the video call.

[0073] 6, hang up the video: when either the called party or the calling party hangs up the video, the call status of the calling party and the called party is set to idle.

[0074] Figure 3b The specific process of the polling audio / video call is as follows:

[0075] 1, initialization: start polling to ensure that the communication link is in a connected state. At the same time, the server will record the information of the logged-in device to facilitate device management in each state of the video call.

[0076] 2, initiate a video call request:

[0077] 201, the calling party calls the called party and queries the call status;

[0078] 202, if the called party is in idle state, according to the specific link conditions of both parties, the optimal cross connection is adopted to send the call request, and the room ID and token are returned.

[0079] 203, if the called party is in busy state, a call record is created.

[0080] 3, answer the video call:

[0081] 301, the called party receives the call request by polling and chooses to answer, which will update the call status of the caller and the called party to busy. When the called party is online on multiple terminals at the same time, the terminals except the answering terminal will automatically cancel the call.

[0082] 302, the caller polls the room status, and the server returns the room status.

[0083] 303, according to the room status, log in the RTC video call account, and update the call status of the caller and the called party to busy. When the called party is online on multiple terminals at the same time, the terminals except the answering terminal will automatically cancel the call.

[0084] 304, either the caller or the called party hangs up the call, then logs out of the RTC video call account, no longer pushes traffic to the called party, and updates the call status of the caller and the called party to idle.

[0085] 4, refuse the video call:

[0086] 401, the caller cancels the call or times out, which will update the call status of the caller and the called party to idle.

[0087] 402, the called party receives the call request and chooses to refuse, which will update the call status of the caller and the called party to idle. When the called party is online on multiple terminals at the same time, all terminals will end the video call.

[0088] The scheme can be applied to internet medical technology. Mainly provide audio and video capabilities for doctors (WEB, Android App, iOS App) and users (smart speaker end), which is convenient for doctors to better follow up customers and is convenient for customers to better ask doctors. From the user's perspective, you can choose the doctor you want to ask from the exclusive doctor page, initiate a video request, and the user does not need to manually select the link form, which will directly match the appropriate video call capability link. When the doctor does not answer, the user can choose to cancel the call. When the doctor answers, the user can choose to hang up, turn on / off the microphone, and turn on / off the camera; from the doctor's perspective, you can choose the patient you want to ask from the patient management list, initiate a video call request, and the doctor can also choose to cancel the call when the patient does not answer. After the patient answers, you can choose to hang up, turn on / off the microphone, and turn on / off the camera. When the doctor calls the patient, if the patient has multiple terminal logins, the patient's multiple terminals can receive the doctor's video invitation at the same time, and when one of the patient's terminal devices answers, the patient's other terminal devices automatically close the waiting page. When one of the patient's terminal devices refuses, all of the patient's terminal devices automatically close the waiting page.

[0089] If this technology is not used, the smart speaker end can only make a video call with the doctor WEB, and cannot make a video call with the doctor mobile end App. In the doctor-patient business model, it undoubtedly hinders the development of the business; if this technology is not used, it is also impossible to realize simultaneous multi-terminal calling and multi-terminal call state management. If this technology is not used, it will make the doctor's threshold higher and the communication cost between doctors and patients higher, which will affect the development of the business to some extent.

[0090] Further reference Figure 4 which shows the flow 400 of another embodiment of the audio and video call method. The flow 400 of the audio and video call method includes the following steps:

[0091] Step 401, in response to receiving a login request of different accounts, record the device information of each account.

[0092] Step 402, establish a communication link for each account according to the device information of each account.

[0093] Step 403, in response to receiving a request of a calling party calling a called party, detecting the call state of the called party.

[0094] Steps 401-403 are basically the same as steps 201-203, and therefore will not be described again.

[0095] Step 404, if the call state of the called party is offline, trigger the flow of calling the video call page, and establish the communication link of the called party.

[0096] In the embodiment, if an account is not logged into the server, the account is considered offline. The present application provides a method of arousing the called party, as shown in Figure 3c

[0097] Step 405, sending a request to the called party through the communication link of the called party.

[0098] Step 406, in response to detecting that the called party answers, updating the call status of the calling party and the called party to busy.

[0099] Steps 405-406 are basically the same as steps 204-205, and thus will not be described again.

[0100] Figure 3c The specific process of the pull-up scheme is as shown in the following:

[0101] 101, the doctor end and the Xiao Du end both establish a long connection between the doctor end and the server.

[0102] 102, the doctor end dials a video call according to the account (cuid) of the Xiao Du end (called party).

[0103] 103, the server queries the status of the called party in the database. If the cuid has ever been registered, the cuid will be saved in the database, and the device information such as the device model and version information is also obtained during registration. If the cuid cannot be queried in the database, it means that the called party is not a legal identity, and the called party cannot be aroused. According to the cuid of the called party, the version number of the device of the called party can also be known, so as to determine the support situation of the arousal function.

[0104] 104, if the called party is idle, the RTC sends an invitation to the called party. If not, end the call request.

[0105] 105, detecting whether the called party is online.

[0106] 106, if the called party is online, the Xiao Du end directly opens a video call waiting page.

[0107] 107, detecting whether the called party account is in the database. If not, it cannot be pulled up.

[0108] 108, if the called party account is in the database, it is decided whether it can be pulled up according to the version number of the device of the called party. One case is that the arousal function is fully supported, and the called party can directly open the video page after being aroused. Another case is that the arousal function is partially supported, although the called party can be logged into the server and a polling link can be established, but it cannot directly enter the video page, and needs to be manually opened by the called party.

[0109] ​109, if can be pulled up, check if has signed the authorization agreement, if not signed then pop up the agreement interface, if has signed then open the video call waiting page. The process also needs the authorization of the called party, if authorized before, can directly establish a long link, otherwise the called party needs to sign the agreement, allow to be called when offline. If the called party does not sign the agreement, the wake-up function cannot be realized.

[0110] From Figure 4 It can be seen that, compared with the embodiment corresponding to Figure 2 , the process 400 of the audio and video call method in the embodiment embodies the process of waking up the offline called party, that is, even if the user is offline, the user will be woken up to listen to the video, so as to ensure that the call request is delivered in time and improve the call success rate.

[0111] Further reference to Figure 5 , as an implementation of the method shown in the above figures, the disclosure provides an embodiment of an audio and video call device, which corresponds to the method embodiment shown in Figure 2 , and the device can be applied to various electronic devices.

[0112] As shown in Figure 5 , the audio and video call device 500 of the embodiment includes a login unit 501, an establishment unit 502, a state detection unit 503, a call unit 504, and a state updating unit 505. The login unit 501 is configured to record the device information of each account in response to receiving a login request of different accounts; the establishment unit 502 is configured to establish a communication link for each account according to the device information of each account, wherein the communication link includes a signaling link and / or a polling link; the state detection unit 503 is configured to detect the call state of the called party in response to receiving a request of a calling party calling the called party; the call unit 504 is configured to send the request to the called party through the communication link of the called party matched with the communication link of the calling party if the call state of the called party is idle; and the state updating unit 505 is configured to update the call state of the calling party and the called party to busy in response to detecting that the called party answers.

[0113] In the embodiment, the specific processing of the login unit 501, the establishment unit 502, the state detection unit 503, the call unit 504, and the state updating unit 505 of the audio and video call device 500 can refer to steps 201, 202, 203, 204, and 205 in the corresponding embodiment. Figure 2

[0114] ​In some optional implementation forms of the embodiment, the apparatus 500 further comprises a triggering unit (not shown in the drawings) configured to trigger a procedure of invoking a video call page if the call status of the called party is offline, and establish a communication link of the called party.

[0115] In some optional implementation forms of the embodiment, the establishing unit 502 is further configured to establish a signaling link for an account logged in through an Android device and an iOS device.

[0116] In some optional implementation forms of the embodiment, the establishing unit 502 is further configured to establish a polling link for an account logged in through a personal computer.

[0117] In some optional implementation forms of the embodiment, the establishing unit 502 is further configured to send the request to the called party through the signaling link if the communication link of the calling party is the signaling link.

[0118] In some optional implementation forms of the embodiment, the calling unit 504 is further configured to send the request to the called party through the polling link if the communication link of the calling party is the polling link.

[0119] In some optional implementation forms of the embodiment, the calling unit 504 is further configured to send the request to the called party through the polling link and the signaling link respectively if the communication link of the calling party is the polling link and the signaling link.

[0120] In some optional implementation forms of the embodiment, the status updating unit 505 is further configured to cancel the request on another link in response to detecting that the called party answers one of the links.

[0121] In some optional implementation forms of the embodiment, the status updating unit 505 is further configured to end the video call on all links in response to detecting that the called party rejects one of the links.

[0122] In some optional implementation forms of the embodiment, the status updating unit 505 is further configured to update the call status of the calling party and the called party as idle in response to detecting that the called party rejects.

[0123] In some optional implementation forms of the embodiment, the status updating unit 505 is further configured to end the video call and update the call status of the calling party and the called party as idle in response to detecting that the calling party cancels the call when the called party does not answer.

[0124] In some optional implementations of the embodiment, the state updating unit 505 is further configured to end the video call and update the call state of the calling party and the called party as idle in response to detecting that the calling party or the called party hangs up the video after the called party answers the call.

[0125] In the technical solutions of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved in the technical solutions comply with relevant laws and regulations and do not violate public order and good customs.

[0126] According to embodiments of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium and a computer program product.

[0127] An electronic device includes at least one processor and a memory communicatively connected with 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 to enable the at least one processor to perform the method described in the flow 200 or 400.

[0128] A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to perform the method described in the flow 200 or 400.

[0129] A computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the method described in the flow 200 or 400.

[0130] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit the implementations of the present disclosure described and / or claimed in this document.

[0131] As Figure 6As shown, the device 600 includes a computing unit 601 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from the storage unit 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the device 600 can also be stored in the RAM 603. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0132] Various components in the device 600 are connected to the I / O interface 605, including an input unit 606, such as a keyboard, a mouse, etc., an output unit 607, such as various types of displays, speakers, etc., a storage unit 608, such as a magnetic disk, an optical disk, etc., and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0133] The computing unit 601 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 601 performs various methods and processes described above, such as the voice / video call methods. For example, in some embodiments, the voice / video call methods can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the voice / video call methods described above can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the voice / video call methods by any other appropriate means, such as by means of firmware.

[0134] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0135] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, or entirely on a remote machine or server.

[0136] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores 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. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical conductors, 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.

[0137] To provide for interaction with a user, the systems and techniques described here 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 be used to provide for interaction with a user as well; for example, 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, speech, or tactile input.

[0138] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, 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.

[0139] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0140] It should be understood that various forms of flow shown above can be used, with steps reordered, added, or removed. For example, steps recited in the present disclosure can be performed in parallel, in series, or in a different order, without limitation herein, so long as the desired results of the technology of the present disclosure are achieved.

[0141] The specific embodiments described above are not intended to limit the scope of the present disclosure. Those skilled in the art will understand that various modifications, combinations, sub-combinations, and alternatives can be made to the specific embodiments without departing from the spirit and principles of the present disclosure. Any further modifications, equivalent substitutions, improvements, and the like, either alone or in some combination or sub-combination, are intended to be included within the scope of the present disclosure.

Claims

1. An audio / video call method, comprising: In response to receiving login requests from different accounts, record the device information for each account; A communication link is established for each account based on the device information of each account, wherein the communication link includes a signaling link and / or a polling link; In response to receiving a request from the calling party to call the called party, the call status of the called party is detected; If the called party's call status is idle, the request is sent to the called party through the communication link of the called party that matches the communication link of the calling party; In response to detecting that the called party answers, the call status of both the caller and the called party is updated to busy; If the called party is offline, the process of launching the video call page is triggered, and a communication link is established for the called party, including: both the caller and the called party establish a long connection with the server; the caller makes a video call based on the called party's account; if the server finds the called party's account that has signed the authorization agreement in the database, and the called party's device version number supports the launch function, the video call waiting page for the called party is opened.

2. The method according to claim 1, wherein, The step of establishing a communication link for each account based on the device information of each account includes: For accounts logged in via Android and iOS devices, establish a signaling link.

3. The method according to claim 1, wherein, The step of establishing a communication link for each account based on the device information of each account includes: For accounts that log in via personal computers, establish a polling link.

4. The method according to claim 1, wherein, Sending the request to the called party through the communication link of the called party that matches the communication link of the calling party includes: If the calling party's communication link is a signaling link, then the request is sent to the called party through the signaling link.

5. The method according to claim 1, wherein, Sending the request to the called party through the communication link of the called party that matches the communication link of the calling party includes: If the calling party's communication link is a polling link, then the request is sent to the called party through the polling link.

6. The method according to claim 1, wherein, Sending the request to the called party through the communication link of the called party that matches the communication link of the calling party includes: If the calling party's communication link is a polling link and a signaling link, then the request is sent to the called party through the polling link and the signaling link respectively.

7. The method according to claim 6, wherein, The method further includes: In response to the detection that the called party has answered one of the links, the request on the other link is cancelled.

8. The method according to claim 6, wherein, The method further includes: In response to the detection that the called party has rejected one of the links, the video call on all links is terminated.

9. The method according to claim 1, wherein, The method further includes: In response to the detection that the called party has rejected the call, the call status of both the calling party and the called party is updated to idle.

10. The method according to claim 1, wherein, The method further includes: In response to detecting that the caller has canceled the call when the called party does not answer, the video call ends and the call status of both the caller and the called party is updated to idle.

11. The method according to claim 1, wherein, The method further includes: In response to the detection that the caller or the called party has hung up the video call after the called party answers, the video call is terminated and the call status of the caller and the called party is updated to idle.

12. An audio / video calling device, comprising: The login unit is configured to respond to login requests from different accounts and record device information for each account. The establishment unit is configured to establish a communication link for each account based on the device information of each account, wherein the communication link includes a signaling link and / or a polling link; The status detection unit is configured to detect the call status of the called party in response to receiving a request from the calling party to call the called party; The calling unit is configured to send the request to the called party through the communication link of the called party that matches the communication link of the calling party if the called party's call status is idle. The status update unit is configured to update the call status of the caller and the called party to busy in response to detecting that the called party has answered the call; The wake-up unit is configured to trigger a process of waking up the video call page if the called party's call status is offline, and to establish a communication link with the called party, including: both the caller and the called party establish a long connection with the server; the caller makes a video call based on the called party's account; if the server finds the called party's account that has signed an authorization agreement in the database, and the called party's device version number supports the wake-up function, the called party's video call waiting page is opened.

13. The apparatus according to claim 12, wherein, The establishment unit is further configured to: For accounts logged in via Android and iOS devices, establish a signaling link.

14. The apparatus according to claim 12, wherein, The establishment unit is further configured to: For accounts that log in via personal computers, establish a polling link.

15. The apparatus according to claim 12, wherein, The establishment unit is further configured to: If the calling party's communication link is a signaling link, then the request is sent to the called party through the signaling link.

16. The apparatus according to claim 12, wherein, The calling unit is further configured to: If the calling party's communication link is a polling link, then the request is sent to the called party through the polling link.

17. The apparatus according to claim 12, wherein, The calling unit is further configured to: If the calling party's communication link is a polling link and a signaling link, then the request is sent to the called party through the polling link and the signaling link respectively.

18. The apparatus according to claim 17, wherein, The state update unit is further configured as follows: In response to the detection that the called party has answered one of the links, the request on the other link is cancelled.

19. The apparatus according to claim 17, wherein, The state update unit is further configured as follows: In response to the detection that the called party has rejected one of the links, the video call on all links is terminated.

20. The apparatus according to claim 12, wherein, The state update unit is further configured as follows: In response to the detection that the called party has rejected the call, the call status of both the calling party and the called party is updated to idle.

21. The apparatus according to claim 12, wherein, The state update unit is further configured as follows: In response to detecting that the caller has canceled the call when the called party does not answer, the video call ends and the call status of both the caller and the called party is updated to idle.

22. The apparatus according to claim 12, wherein, The state update unit is further configured as follows: In response to the detection that the caller or the called party has hung up the video call after the called party answers, the video call is terminated and the call status of the caller and the called party is updated to idle.

23. An electronic device for audio and video calls, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-11.

24. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-11.

25. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-11.

Citation Information

Patent Citations

  • Video call answering transfer method and system between intelligent devices, and server

    CN108881779A

  • Audio and video call method and device based on insurance service, equipment and storage medium

    CN114245057A