CN117750537A - Communication method, electronic device and storage medium - Google Patents

Communication method, electronic device and storage medium Download PDF

Info

Publication number
CN117750537A
CN117750537A CN202211109738.2A CN202211109738A CN117750537A CN 117750537 A CN117750537 A CN 117750537A CN 202211109738 A CN202211109738 A CN 202211109738A CN 117750537 A CN117750537 A CN 117750537A
Authority
CN
China
Prior art keywords
terminal
communication link
cloud server
auxiliary communication
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211109738.2A
Other languages
Chinese (zh)
Inventor
余奇
姜波儿
孙晓军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211109738.2A priority Critical patent/CN117750537A/en
Publication of CN117750537A publication Critical patent/CN117750537A/en
Pending legal-status Critical Current

Links

Abstract

The embodiment of the application provides a communication method, electronic equipment and a storage medium, wherein when a first terminal and a second terminal communicate through a main communication link, the first terminal sends first equipment information of the first terminal to the second terminal through the main communication link; receiving second device information from a second terminal; sending an auxiliary communication link establishment request to a cloud server, wherein the auxiliary communication link establishment request is used for requesting to establish an auxiliary communication link between a first terminal and a second terminal, and a communication network used by the auxiliary communication link is a non-2G/3G communication network; in the case of an auxiliary communication link establishment, if the primary communication link fails, communicating with the second terminal via the auxiliary communication link. According to the method and the device, in the area without 2G/3G network coverage, when the main communication link fails, the first terminal and the second terminal can continue to communicate through the auxiliary communication link.

Description

Communication method, electronic device and storage medium
Technical Field
The embodiment of the application relates to the technical field of communication, in particular to a communication method, electronic equipment and a storage medium.
Background
Long term evolution voice bearer (voice over long term evolution, voLTE) and new air interface bearer voice (voice over new radio, voNR) are telephony services implemented based on IP multimedia system (IP multimedia subsystem, IMS). VoLTE and VoNR can provide high-rate data services and high-quality audio-video calls compared to 2G/3G switched (CS) domain calls.
When the VoLTE or VoNR call fails, the call can be continued by switching to the CS domain. However, with the development of the network, in order to reduce the complexity of the network structure, operators gradually perform 2G/3G network fallback, and when the VoLTE or VoNR call fails in an area without coverage of the 2G/3G network, the operators cannot switch to the CS domain to continue the call.
Disclosure of Invention
The embodiment of the application provides a call method, electronic equipment and a storage medium, wherein in an area without 2G/3G network coverage, the call can be continued through an auxiliary communication link.
In a first aspect, an embodiment of the present application provides a communication method, where an execution body for executing the communication method is a first terminal or a chip in the first terminal, and a description is given below taking the first terminal as an example. In the method, when the first terminal and the second terminal communicate through a main communication link, the first terminal sends first equipment information of the first terminal to the second terminal through the main communication link. The second terminal may transmit second device information of the second terminal to the first terminal in response to the first device information of the first terminal. Taking the first device information as an example for explanation, the first device information may include: a first device ID or a first device number. In one example, the first device information may be preset in the first device. In one example, the first device information may be assigned to the first device by a cloud server.
The first terminal may send an auxiliary communication link establishment request to the cloud server in response to receiving the second device information, the auxiliary communication link establishment request being for requesting establishment of an auxiliary communication link between the first terminal and the second terminal. Wherein the auxiliary communication link establishment request includes: the first device information and the second device information, the communication network used by the auxiliary communication link is a non-2G/3G communication network. In one example, the communication network used by the secondary communication link may be the same as or different from the primary communication link. The cloud server may establish an auxiliary communication link between the first terminal and the second terminal in response to an auxiliary communication link establishment request.
In the case of establishing an auxiliary communication link between the first terminal and the second terminal, if the primary communication link fails, the first terminal may communicate with the second terminal via the auxiliary communication link. In one example, after the cloud server establishes the auxiliary communication link, a message of completion of the establishment of the auxiliary communication link may be sent to the first terminal, so that the first terminal determines that the auxiliary communication link is established, and the first terminal may mark the auxiliary communication link as an available state, so that the first terminal may talk to the second terminal through the auxiliary communication link when the primary communication link fails.
In one example, a first terminal may send a message to the second terminal to enable the auxiliary communication link before communicating with the second terminal over the auxiliary communication link, and the second terminal may send a feedback message to the first terminal in response to the message to enable the auxiliary communication link to characterize that the second terminal has received the message to enable the auxiliary communication link. Thus, after the first terminal informs the second terminal to enable the auxiliary communication link, the first terminal and the second terminal can continue to send and receive signaling or data packets on the auxiliary communication link.
In this embodiment, when the first terminal and the second terminal communicate through the primary communication link, the auxiliary communication link may be established through the cloud server, where the auxiliary communication link is not established by the 2G/3G communication network, so if the primary communication link fails and there is no area covered by the 2G/3G communication network, the first terminal and the second terminal may still continue to communicate through the auxiliary communication link.
In one possible implementation, after the first terminal receives the second device information from the second terminal, a verification request may also be sent to the cloud server. Wherein the authentication request is for requesting authentication of whether the second device information is valid device information, the authentication request including: the mobile phone number of the second terminal and the second device information, wherein the second device information is represented by effective device information: the second device information received by the first terminal is the same as the device information of the second terminal stored in the cloud server.
After receiving the verification request, the cloud server can verify whether the stored equipment information of the second terminal is the same as the equipment information of the second terminal stored in the cloud server or not according to the mobile phone number of the second terminal from the first terminal. When the second device information from the first terminal is different from the device information of the second terminal stored in the cloud server, the cloud server determines that the second device information is not valid device information.
When the second device information is valid device information, the cloud server may send a message indicating that the second device information is valid device information to the first terminal. Correspondingly, when the first device determines that the second device information is the effective device information if receiving the message from the cloud server, wherein the message characterizes the second device information as the effective device information, the first terminal can send an auxiliary communication link establishment request to the cloud server. When the second device information is not valid device information, the cloud server may send a message to the first terminal indicating that the second device information is not valid device information. Correspondingly, when the first device determines that the second device information is not the valid device information if receiving the message from the cloud server, wherein the message characterizes that the second device information is not the valid device information, the first terminal may not send an auxiliary communication link establishment request to the cloud server.
When a first terminal receives a message from the cloud server, wherein the message characterizes that the second equipment information is not effective equipment information, the message characterizes that the second equipment information is not effective equipment information comprises the following components: and the effective equipment information of the second terminal is the equipment information of the second terminal stored in the cloud server. In this way, the first terminal may also obtain valid second device information to establish an auxiliary communication link with the second terminal.
In the implementation manner, the first terminal requests the cloud server to establish the auxiliary communication link only when the second device information is determined to be the valid device information, so that the error request can be reduced. In this case, if the first terminal receives the second device information of the second terminal, the cloud server sends an auxiliary communication link establishment request to the cloud server, and the cloud server cannot establish the auxiliary communication links of the first terminal and the second terminal, consume signaling of the first terminal, and consume resources of the cloud server.
The following describes a manner in which the first terminal and the second terminal interact the first device information and the second device information:
first, the first terminal and the second terminal communicate through a main communication link includes: and a stage before the call between the first terminal and the second terminal is established. Wherein the first terminal may receive signaling from the second terminal.
In this implementation, the first terminal may send a first signaling to the second terminal, where a header field of the first signaling includes the first device information. Accordingly, the second terminal may include the second device information in a header field of the second signaling, the second terminal may transmit the second signaling to the first terminal, and the first terminal may receive the second signaling from the second terminal.
In one example, the first signaling is an INVITE request message or an UPDATE message. Wherein when the first signaling is the INVITE request message, the second signaling is a 183 message, a response message of the UPDATE message, or a response message of the INVITE request message. When the first signaling is the UPDATE message, the second signaling is a response message of the UPDATE message or a response message of the INVITE request message.
In this implementation, the primary communication link failure includes any of the following: the first terminal receives a signaling representing a call failure, the first terminal does not receive the signaling from the second terminal within a preset duration, the link establishment is unresponsive, and the dedicated resource reservation fails.
Secondly, the first terminal and the second terminal communicate through a main communication link, including: and a stage after the call between the first terminal and the second terminal is established.
After the call between the first terminal and the second terminal is established, a data packet may be interacted, where the data packet may include, but is not limited to: audio data packets, and/or video data packets. In this implementation, the first terminal may send a first data packet to the second terminal, where the first data packet includes the first device information. Accordingly, the second terminal may send a second packet to the first terminal in response to the first packet, where the second packet may be an audio packet and/or a video packet, or simply a packet in response to the first device information. The second data packet includes the second device information. Thus, the first terminal and the second terminal can complete the interaction of the device information.
In an implementation, the primary communication link failure includes any one of: communication network signals are weak, special load is lost, data packets are lost, and voice quality values are smaller than a threshold value.
In one example, after the first terminal sends the first data packet to the second terminal, a timer may also be started to detect whether the second data packet is received before the timer expires. And if the first terminal receives the second data packet before the timer is finished, sending an auxiliary communication link establishment request to the cloud server. And if the first terminal does not receive the second data packet before the timer is finished, not sending an auxiliary communication link establishment request to the cloud server. Such an example may avoid the problem that the first terminal needs to wait for the second data packet all the time in a scenario where the first terminal cannot receive the second data packet for a long time due to the failure of the primary communication link.
Because the first terminal and the second terminal have established a call, in this implementation, in comparison to the implementation shown in "one of them", in the case where the secondary communication link has been established, when the primary communication link fails to have a voice quality value less than the threshold value, the first terminal may first detect whether the parameters of the audio processor in the first terminal are identical (identical) to the parameters of the audio processor in the second terminal. The purpose of the first terminal detecting whether the parameters of the audio processor in the first terminal are consistent with the parameters of the audio processor in the second terminal is that: the parameters of the audio processor in the first terminal and the parameters of the audio processor in the second terminal are kept consistent so as to execute the same processing on the audio data packet, so that the voice data from the opposite terminal can be accurately analyzed, and the conversation can be smoothly carried out.
If the parameters of the audio processor in the first terminal are consistent with those of the audio processor in the second terminal, the first terminal can also send an audio data packet to the second terminal through the auxiliary communication link so as to detect the voice quality of the auxiliary communication link. Wherein the first terminal detects the voice quality of the auxiliary communication link with the aim of: ensuring that the call can be smoothly carried out. Because when the main communication link fails, the voice quality of the auxiliary communication link is higher than that of the main communication link, it is only meaningful that the first terminal and the second terminal communicate through the auxiliary communication link, and if the voice quality of the auxiliary communication link is lower than that of the main communication link, the first terminal and the second terminal communicate through the auxiliary communication link, the voice quality is poor, and the user cannot smoothly communicate.
Thus in this implementation, the second terminal, upon receiving an audio data packet from the first terminal, may determine the voice quality of the auxiliary communication link from the audio data packet and feed back the voice quality of the auxiliary communication link to the first terminal. And if the voice quality of the auxiliary communication link is higher than that of the main communication link, the first terminal communicates with the second terminal through the auxiliary communication link. If the voice quality of the auxiliary communication link is lower than the voice quality of the main communication link, the first terminal does not communicate with the second terminal through the auxiliary communication link.
If the parameters of the audio processor in the first terminal are inconsistent with the parameters of the audio processor in the second terminal, the first terminal and the second terminal can communicate without an auxiliary communication link.
Or if the parameters of the audio processor in the first terminal are inconsistent with the parameters of the audio processor in the second terminal, and in order to ensure that the first terminal and the second terminal can continue to talk, the conversation continuity experience of the user is ensured, and the first terminal can send an adjustment request to the second terminal. The adjustment request is used for requesting to adjust parameters of the audio processor in the second terminal to be consistent with parameters of the audio processor in the first terminal, and the adjustment request comprises the parameters of the audio processor in the first terminal.
Correspondingly, the second terminal receives the adjustment request of the first terminal, and the parameters of the audio processor in the second terminal can be adjusted to be consistent with the parameters of the audio processor in the first terminal. And after the second terminal adjusts the parameters of the audio processor in the second terminal to be consistent with the parameters of the audio processor in the first terminal, sending an adjustment completion message to the first terminal. The first terminal may send the audio data packet to the second terminal in response to receiving the adjustment completed message from the second terminal to detect the voice quality of the auxiliary communication link, as described above with reference to the related description.
Thirdly, the first terminal and the second terminal communicate through a main communication link, including: and the first terminal does not send an INVITE request message to the second terminal or receives signaling from the second terminal at a stage before the call between the first terminal and the second terminal is established.
In this implementation, the first terminal cannot interact device information with the second device by means of signaling or data packets. Thus, the first terminal may send the phone number of the second terminal to the cloud server to request second device information of the second terminal from the cloud server. It should be understood that the mobile phone number and the device information of the second terminal are stored in the cloud server. The cloud server may feed back second device information of the second terminal to the first terminal in response to the phone number of the second terminal from the first terminal. Accordingly, the first terminal may receive the second device information from the cloud server.
In this implementation, the first terminal may also request the second device information from the cloud server, and may also acquire the second device information, so as to establish an auxiliary communication link with the second terminal.
In the above "one", if the second device information is not included in the header field of the second signaling, and in the above "two", if the first terminal does not receive the second data packet before the end of the timer, the first terminal may send a phone number of the second terminal to the cloud server to request the second device information in order to acquire the valid second device information. In such an implementation, the first terminal may receive the second device information from the cloud server.
In the above implementation manner, the mobile phone number of the second terminal and the device information of the second terminal are stored in the cloud server, and similarly, the mobile phone number of the first terminal and the device information of the first terminal are also stored in the cloud server. Taking the first terminal as an example, the first terminal may send a device information request to the cloud server when registering to the cloud server. The cloud server may allocate the first device information for the first terminal, and send the first device information to the first terminal. The first terminal receives the first equipment information from the cloud server, and the first equipment information and the mobile phone number of the first terminal can be sent to the cloud server, so that the cloud server correspondingly stores the first equipment information and the mobile phone number of the first terminal.
It should be understood that mobile phone numbers and device information of a plurality of terminals may be stored in the cloud server.
In a second aspect, an embodiment of the present application provides a communication method, which is applied to a cloud server, where the cloud server may establish an auxiliary communication link between a first terminal and a second terminal in response to an auxiliary communication link establishment request from the first terminal. Wherein the auxiliary communication link establishment request includes: the first device information and the second device information, the communication network used by the auxiliary communication link is a non-2G/3G communication network.
In one possible implementation, a verification request is received from a first terminal, where the verification request is used to request to verify whether the second device information is valid device information, and the verification request includes: the mobile phone number of the second terminal and the second device information, wherein the second device information is represented by effective device information: the second device information received by the first terminal is the same as the device information of the second terminal stored in the cloud server.
The cloud server verifies whether the second device information from the first terminal and the device information of the second terminal stored in the cloud server are identical. When the second device information from the first terminal is the same as the device information of the second terminal stored in the cloud server, the cloud server may send a message indicating that the second device information is valid device information to the first terminal, and when the second device information from the first terminal is different from the device information of the second terminal stored in the cloud server, the cloud server may send a message indicating that the second device information is not valid device information to the first terminal.
In one possible implementation, after the cloud server establishes the auxiliary communication link between the first terminal and the second terminal, a message to enable the auxiliary communication link may be sent to the first terminal.
In one possible implementation, the cloud server receives a mobile phone number of a second terminal from the first terminal. The cloud server can query and obtain second equipment information of the second terminal according to the mobile phone number of the second terminal, and send the second equipment information to the first terminal.
In one possible implementation, the cloud server receives a device information request from the first terminal, and the cloud server may generate (or allocate) the first device information for the first terminal to send the first device information to the first terminal.
In a third aspect, embodiments of the present application provide an electronic device, which may include: a processor and a memory. The memory is for storing computer executable program code, the program code comprising instructions; the instructions, when executed by a processor, cause the electronic device to perform the method as in the first and second aspects.
In a fourth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the first and second aspects described above.
In a fifth aspect, embodiments of the present application provide a computer-readable storage medium having instructions stored therein, which when run on a computer, cause the computer to perform the methods of the first and second aspects described above.
The advantages of each of the possible implementation manners of the second aspect to the fifth aspect may be referred to as the advantages of the first aspect, and are not described herein.
Drawings
Fig. 1 is a schematic diagram of a wireless communication system applicable to an embodiment of the present application;
fig. 2 is a schematic flow chart of a first terminal calling a second terminal;
fig. 3 is a signaling interaction schematic diagram of a first terminal calling a second terminal;
fig. 4 is a schematic diagram of call link switching provided in the embodiment of the present application;
FIG. 5 is a schematic diagram of a system architecture suitable for use in embodiments of the present application;
FIG. 6A is another schematic diagram of a system architecture suitable for use in embodiments of the present application;
FIG. 6B is another schematic diagram of a system architecture suitable for use in embodiments of the present application;
fig. 7 is a schematic diagram of interaction between a terminal and a cloud server according to an embodiment of the present application;
fig. 8A is a flowchart illustrating an embodiment of a call method according to an embodiment of the present application;
Fig. 8B is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 8C is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 8D is a schematic flow chart of establishing an auxiliary communication link according to an embodiment of the present application;
fig. 8E is a schematic flow chart of establishing an auxiliary communication link according to an embodiment of the present application;
fig. 9 is a flowchart of another embodiment of a call method according to the embodiment of the present application;
fig. 10A is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 10B is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 11A is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 11B is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 11C is a flowchart illustrating another embodiment of a call method according to an embodiment of the present application;
fig. 12 is a flowchart of another embodiment of a call method according to the embodiment of the present application;
fig. 13 is a schematic diagram of a structure of an electronic device according to an embodiment of the present application.
Detailed Description
Fig. 1 is a schematic diagram of a wireless communication system to which embodiments of the present application are applicable. The wireless communication system shown in fig. 1 may be a long term evolution (long term evolution, LTE) wireless communication system, a fifth generation (5th generation,5G) wireless communication system, a fourth generation (4th generation,4G) wireless communication system, or a new communication system that is emerging in future wireless communication developments, or the like. The embodiment of the present application does not limit the wireless communication system, and as long as the wireless communication system adopts the IP multimedia subsystem (IP multimedia subsystem, IMS) as the implementation scheme of the call service, the wireless communication system may be applied to the embodiment of the present application. Illustratively, the long term evolution voice bearer (voice over long term evolution, voLTE) and the new air interface bearer voice (voice over new radio, voNR) are call services implemented based on IMS, and the following embodiments are described by taking VoLTE and VoNR as examples. In some examples, the telephony services may include voice telephony and video telephony.
As shown in fig. 1, the wireless communication system 100 includes: terminal 101A, terminal 101B, access network device 102A, core network device 104, and IMS 105. Illustratively, the access network device 102A may include, but is not limited to: the access network device 102 providing a network for the terminal 101A, the access network device 103 providing a network for the terminal 101B, or the access network device 102A may provide a network for both the terminal 101A and the terminal 101B. It should be understood that the access network devices that provide the network access service for the terminal 101A and the terminal 101B may be other types of access network devices, which are not limited in this embodiment of the present application.
The terminal 101A may establish a call with the terminal 101B through the access network device 102, the core network device 104, the IMS 105, and the access network device 103, and a specific procedure may be described with reference to fig. 2 and fig. 3. In some examples, the terminal 101A and the terminal 101B establishing a call may also be referred to as establishing a session.
In one embodiment, the terminals 101A, 101B may be devices that can perform a call service, with a subscriber identification (subscriber identity module, SIM) card installed. For example, the terminal 101A and the terminal 101B may be a mobile phone, a tablet (portable android device, PAD), a personal digital assistant (personal digital assistant, PDA), a handheld device with a wireless communication function, a computing device, a vehicle-mounted device, or a wearable device, a Virtual Reality (VR) terminal device, an augmented reality (augmented reality, AR) terminal device, a wireless terminal in an industrial control (industrial control), a wireless terminal in a smart home (smart home), or the like, and the form of the terminal is not specifically limited in the embodiments of the present application.
IMS 105 may include, but is not limited to: proxy-call session control function (P-CSCF) entity, query-call session control function (I-CSCF) entity, serving-call session control function (S-CSCF) entity, and home subscriber server (home subscriber server, HSS).
The P-CSCF entity is the first point of attachment from the access network device to the IMS, and both the session message initiated by the terminal and the session message received by the terminal are forwarded by the P-CSCF entity. For example, the P-CSCF entity may forward an IMS registration request from the terminal to the S-CSCF entity and forward registration response information to the terminal. In one embodiment, the terminal may generate an IMS registration request upon power-on, reboot, exit from flight mode, hot plug card, public land mobile network (Public Land Mobile Network, PLMN) change, area update (Tracking Area Update, TAU), IMS registration failure, etc. After the terminal is registered with the IMS, the IMS may serve the terminal to implement a call between the plurality of terminals. In one example, the session message may be referred to as a talk message.
The I-CSCF entity may connect the S-CSCF entity and the P-CSCF entity for providing access to the home network for the terminal. In the IMS registration process, the P-CSCF entity may forward an IMS registration request from the terminal to the I-CSCF entity, which may query the HSS in the IMS, and select one S-CSCF entity for the terminal. In the calling process, the calling message to IMS network is firstly routed to I-CSCF, I-CSCF entity can inquire the address information of S-CSCF entity registered by user for terminal through HSS in IMS, and then the message is routed to S-CSCF.
The S-CSCF entity is a control core of the IMS and provides session control, registration and other functions for the terminal. The S-CSCF entity is used for receiving the IMS registration request forwarded by the P-CSCF entity and authenticating the terminal by matching with the HSS. After determining that authentication is passed, S-CSCF obtains subscription information of terminal from HSS. The S-CSCF entity is also used for connecting with each application server based on the ISC interface, and the S-CSCF entity is also used for triggering the application server to execute operation and routing the request of the terminal to the corresponding application server.
The HSS is used to store all subscriber and service related data such as subscriber identity, subscription information, access information, etc.
It should be appreciated that while the wireless communication system 100 shown in fig. 1 includes one access network device 102, and one access network device 103, the wireless communication system 100 may include more terminals and/or more access network devices, and the devices shown in fig. 1 are not limiting on the architecture of the wireless communication system. Fig. 1 is an exemplary illustration of a wireless communication system, which may include other functional units in addition to the devices and functional units shown in fig. 1, and the embodiments of the present application are not limited in this regard.
Based on the wireless communication system shown in fig. 1, the flow of terminal calls is described in fig. 2 by taking the example that the first terminal calls the second terminal. Referring to fig. 2, a procedure in which a first terminal calls a second terminal may include: initiate (mobile origination, MO) procedure, establish (S-CSCF to S-CSCF, SS) procedure, and terminate (mobile termination, MT) procedure.
MO procedure, i.e. the call procedure of the first terminal to the S-CSCF to which the first terminal belongs. When a first terminal initiates a call to a second terminal, the first terminal generates an INVITE request message and sends the INVITE request message to a P-CSCF entity through an access network device 103 and a core network device 104 in sequence. After the P-CSCF entity processes the INVITE message, the INVITE request message may be routed to the S-CSCF to which the first terminal belongs.
The SS procedure, i.e. the call procedure from the S-CSCF to which the first terminal belongs to the S-CSCF to which the second terminal belongs. The S-CSCF to which the first terminal belongs may resolve the address of the I-CSCF of the second terminal' S home domain and forward the INVITE request message to the I-CSCF to which the second terminal belongs. The I-CSCF to which the second terminal belongs may send the received INVITE request message to the S-CSCF to which the second terminal belongs.
MT procedure, i.e. the call procedure from the S-CSCF to which the second terminal belongs to the second terminal. After receiving the INVITE request message, the S-CSCF to which the second terminal belongs may send the INVITE request message to the P-CSCF entity, and after the P-CSCF entity processes the INVITE message, the INVITE request message may be routed to the second terminal. It should be understood that, in the embodiments of the present application, details of the MO procedure, the SS procedure, and the processing procedure of the INVITE request message in the MT procedure are not described herein, and reference may be made to related descriptions in the IMS protocol.
Fig. 3 is a schematic signaling flow diagram of a first terminal adapted to the embodiment of the present application when calling a second terminal. It should be understood that the network device for signaling between the first terminal and the second terminal is omitted in fig. 3, and the network device may include the access network device, the core network device, and the entity in the IMS shown in fig. 1, for example. It should be understood that the flow shown in fig. 3 is a process in which the first terminal initiates a call to the second terminal, that is, a process before the call between the first terminal and the second terminal is established.
Referring to fig. 3, a procedure in which a first terminal calls a second terminal may include:
s301, the first terminal sends an INVITE request message to the second terminal.
When the first terminal initiates a call to the second terminal, the first terminal may send an INVITE request message to the second terminal. The INVITE request message is used to request establishment of a call between the first terminal and the second terminal. In one embodiment, the INVITE request message may include: calling terminal address (e.g., first terminal address), called terminal address (e.g., second terminal address), and routing information, etc.
S302, the second terminal sends 100try information to the first terminal.
The 100try message is used to characterize that the first terminal receives the INVITE request message.
It should be noted that the second terminal does not send the 100try message directly to the first terminal. The first terminal may send an INVITE request message to the network device, and the network device may feedback a 100try message to the first terminal in response to the INVITE request message, where the 100try message is used to characterize that the network device receives the INVITE request message.
After receiving the INVITE request message, the network device may send the INVITE request message to the second terminal, and the second terminal may feed back a 100try message to the network device in response to the INVITE request message, where the 100try message is used to characterize that the second terminal receives the INVITE request message.
S303, the second terminal sends 183 a message to the first terminal.
183 the media capability of the second terminal may be carried in the message.
S303 is a quality of service (quality of service, qoS) authentication procedure for the first terminal determining whether the second terminal supports resource reservation, and in response to the second terminal supporting resource reservation, the first terminal starts to establish a talk bearer.
S304, the first terminal sends PRACK information to the second terminal.
The PRACK message is used to request the second terminal to reserve resources for a call between the first terminal and the second terminal.
S305, the second terminal sends a 200 (PRACK) message to the first terminal.
200 The (PRACK) message is a response message to the PRACK message.
S306, the first terminal sends an UPDATE message to the second terminal.
The UPDATE message is used to characterize that the first terminal and the second terminal have successfully reserved resources for the call between the first terminal and the second terminal.
S307, the second terminal sends 200 (UPDATE) message to the first terminal.
200 (UPDATE) is a response message to the UPDATE message.
S308, the second terminal sends 180 a message to the first terminal.
The 180 message is used to characterize the onset of ringing of the second terminal.
S309, the second terminal sends a 200 (INVITE) message to the first terminal.
200 The (INVITE) message is a response message to the INVITE request message.
S310, the first terminal sends an ACK message to the second terminal.
The first terminal may send an ACK message to the network device in response to receiving the 200 (INVITE) message, characterizing that a call between the first terminal and the second terminal is established successfully, and that a call between the first terminal and the second terminal may be conducted.
It should be noted that the more detailed signaling flow when the first terminal calls the second terminal as shown in fig. 3 may refer to the relevant description of the session initiation protocol (session initiation protocol, SIP) RFC3261 protocol. In an example, the signaling interacted between the first terminal and the second terminal shown in fig. 3 may be SIP signaling, and the embodiment of the present application does not limit the type of signaling interacted between the first terminal and the second terminal, and in the following embodiments, SIP signaling is taken as an example to describe the embodiment.
When the VoLTE or VoNR call fails, in order to avoid call interruption and ensure the call experience of the user, the first terminal may switch to a 2G/3G Circuit Switched (CS) domain to continue the call. With the development of networks, various network architectures are presented at present, and in order to reduce the complexity of network structures, operators gradually perform 2G/3G network fallback. Therefore, when VoLTE or VoNR call fails in an area without 2G/3G network coverage, the first terminal cannot switch to the CS domain to continue the call, so that the call is interrupted, and the user experience is affected.
In one embodiment, when the VoLTE or VoNR call fails, the first terminal may continue the call using a voice over IP (voice over internetprotocol, voIP) application. For example, if the first terminal does not receive the 183 message or 180 message from the second terminal at all times when the first terminal calls the second terminal through VoLTE or VoNR, the first terminal may determine that the VoLTE or VoNR call fails. The first terminal may call the second terminal through a VoIP application on the first terminal to make a call with the second terminal. In some examples, the VoIP application may be a social communication type application installed on the first terminal.
In such an embodiment, when the VoLTE or VoNR call fails, the first terminal and the second terminal need to rely on a third party VoIP application to continue the call. If the second terminal is not provided with the VoIP application, the first terminal and the second terminal can not continue to communicate. In addition, in this embodiment, the two parties of the call are friends of the VoIP application, and the first terminal can only call the second terminal through the VoIP application, and if the two parties of the call are strangers, the first terminal and the second terminal cannot continue to communicate.
In addition, when the first terminal calls the second terminal through the VoIP application, there is a case that the first terminal calls other devices of the opposite party, and if the other devices are not located at the opposite party, the call still cannot be continued. For example, when the opposite party logs in the VoIP application on the third terminal, the first terminal calls the third terminal instead of the second terminal when calling through the VoIP application, if the third terminal is not at the side of the opposite party, the opposite party cannot answer the call, that is, the first terminal and the second terminal cannot continue the call.
The embodiment of the application provides a call method, in which a first terminal can establish an auxiliary communication link with a second terminal, when VoLTE or VoNR call fails, the first terminal can switch to the auxiliary communication link to continue to call with the second terminal, so that the call is ensured not to be interrupted, and the user experience is improved. In addition, the auxiliary communication link can be established based on a 4G, 5G cellular network or a WI-FI network, so that in an area without 2G/3G network coverage, the first terminal can still be switched to the auxiliary communication link to continue to communicate with the second terminal, and the application range is wide.
Referring to fig. 4, when VoLTE or VoNR call fails, the first terminal and the second terminal may continue the call using the auxiliary communication link. Wherein VoLTE or VoNR talk failures may include, but are not limited to: the communication network signal is weak, the first terminal or the second terminal receives the signaling representing the call fault, the first terminal or the second terminal does not receive the signaling from the other party for a long time, the dedicated resource reservation fails, the transmission control protocol (Transmission Control Protocol, TCP) is not responded in the link establishment, the dedicated loss, the packet loss of the data packet, the voice quality is poor, and the like.
Wherein 1), communication network signal is weak: for example, weak LTE communication network signals may cause VoLTE call failures, and weak 5G/4G communication network signals may cause VoNR call failures. For example, if the communication network signal is weak may be characterized by a communication network quality, the communication network quality may be characterized by a strength of the received signal, the strength of the received signal being less than a strength threshold, the communication network signal may be characterized as weak.
2) Signaling characterizing a call failure may include, but is not limited to: 503 messages, 580 messages.
3) The long-term non-receipt of signaling from the counterpart can be understood as: and in the time when the signaling is originally received, the signaling from the opposite side is not received.
4) Referring to S304-S306 in fig. 3, the failure of dedicated resource reservation can be understood as: the first terminal or the second terminal fails to reserve resources for the call.
5) Referring to fig. 2, when the first terminal transmits an INVITE request message to the second terminal, the INVITE request message may be first transmitted to a P-CSCF in the home domain of the first terminal so that the P-CSCF may transmit to the second terminal through a link as shown in fig. 2. The INVITE request message sent by the first terminal to the P-CSCF in the home domain of the first terminal may trigger the first terminal and the P-CSCF in the home domain of the first terminal to perform TCP link establishment, where the TCP link establishment includes 3-way handshake, and no response of the TCP link establishment may indicate that the 3-way handshake is not completed. The TCP chaining includes 3-way handshake, which can refer to the related description of SIP RFC3261 protocol.
6) Loss of expertise can be understood as: the first terminal and the second terminal are disconnected.
7) Packet loss: after the first terminal and the second terminal establish a call, audio and/or video data may be interacted between the first terminal and the second terminal, and the audio and/or video data may exist in the form of audio and/or video data packets. Packet loss refers to the loss of audio and/or video packets of the interaction between the first terminal and the second terminal.
8) Poor speech quality: the data packet is not lost, but according to the received data packet, the user cannot understand the semantics of the voice. In one embodiment, the first terminal and the second terminal may obtain voice quality according to the received data packet, and when the voice quality value is smaller than the threshold value, the user is not able to understand the meaning of the voice.
In some examples, the VoLTE or VoNR talk failure may further include: the link is abnormal. If the first terminal does not receive the 100try message, the link abnormality is represented.
Before introducing the call method provided in the embodiment of the present application, first, a system architecture of the embodiment of the present application, a structure of a first terminal, and a structure of a second terminal are described. The structure of the terminal will be described below by taking the first terminal as an example, and the structure of the second terminal may refer to the related description of the structure of the first terminal:
referring to fig. 5, the first terminal includes: an audio processor (audio digital signal processing, audio DSP), a communication chip, a telephony application, and an auxiliary voice service. In some examples, the auxiliary voice service may be integrated in the telephony application, and in one example, the auxiliary voice service may be set independently of the telephony application, which is not limited by the embodiments of the present application. It should be appreciated that the auxiliary voice service in fig. 5 may be illustrated as an example independent of the telephony application settings.
And the audio processor is used for assisting in realizing the call between the first terminal and the second terminal and switching the audio path to an auxiliary communication link between the first terminal and the second terminal when the VoLTE or VoNR call fails. The audio path is used for transmitting audio and/or video data between the first terminal and the second terminal.
In the VoLTE or VoNR communication scene, the first terminal can collect audio and/or video data through the audio processor and send the audio and/or video data to the second terminal through the communication chip. Wherein the audio path of the first terminal transmitting data is an "audio processor-communication chip". In addition, the first terminal may receive audio and/or video data from the second terminal through the communication chip and transmit the received audio and/or video data to the telephony application. Wherein, the audio path of the first terminal receiving data is a communication chip-call application.
And the communication chip is used for transmitting audio and/or video data and SIP signaling between the first terminal and the second terminal, and sending a failure reason to a call application when the VoLTE or VoNR call failure is identified. In one example, upon identifying a VoLTE or VoNR call failure, the communication chip may send a failure cause value to the call application, from which the call application may determine the failure cause.
The first terminal may implement a call with the second terminal through a call application.
And an auxiliary voice service for assisting in establishing an auxiliary communication link between the first terminal and the second terminal, and performing a decision to switch to the auxiliary communication link to transmit audio and/or video data between the first terminal and the second terminal through the auxiliary communication link when the VoLTE or VoNR call fails.
The auxiliary voice service is also used for interacting with the audio processor to control the audio processor to switch the audio path to the auxiliary communication link when the VoLTE or VoNR call fails. It will be appreciated that the audio processor switches the audio path to the secondary communication link, i.e. audio and/or video data is transmitted over the secondary communication link.
It will be appreciated that the structure of the first terminal shown in fig. 5 does not constitute a specific limitation on the first terminal. In other embodiments of the present application, the first terminal may include more or less components than illustrated, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Referring to fig. 5, a system architecture provided in an embodiment of the present application includes: the cloud server comprises a first terminal, a second terminal, a main communication link and a cloud server. Wherein the primary communication link may comprise: access network equipment, core network equipment and IMS, reference may be made to the relevant description in fig. 1. And the main communication link is used for realizing VoLTE or VoNR conversation.
And the cloud server is used for establishing an auxiliary communication link between the first terminal and the second terminal through the auxiliary voice service in the first terminal and the auxiliary voice service in the second terminal. In one example, the first terminal and the second terminal may implement point-to-point (P2P) communication over an auxiliary communication link. The secondary communication link may be as described with reference to fig. 6A and 6B.
The cloud server is also used for providing a function of inquiring equipment information based on the mobile phone number.
Referring to fig. 6A, in one example, the auxiliary communication link includes: the first terminal and the second terminal, i.e. the first terminal and the second terminal, may communicate directly. Referring to fig. 6B, in one example, the auxiliary communication link includes: the first terminal, the second terminal, and the relay server, i.e., the first terminal and the second terminal may communicate through the relay server. It should be understood that the relay server is included in the cloud server. In one example, the cloud server may be a P2P server group.
In the embodiment of the application, the terminal can acquire the equipment information of the terminal from the cloud server, and synchronize the mobile phone number of the terminal with the cloud server, so that the cloud server can correspondingly store the mobile phone number and the equipment information of the terminal. Thus, the cloud server can realize the function of providing the information of the inquiring equipment based on the mobile phone number. The terminals may include a first terminal and a second terminal.
The device information may include, but is not limited to: a device identification number (identity document, ID), a device number, etc. In one example, the device ID may be an ID assigned by the cloud server to the terminal for distinguishing between different terminals. The device ID may be a character string, for example.
The following describes the process of the terminal interacting with the cloud server with reference to fig. 7:
the first terminal and the second terminal are characterized herein as terminals. And under the conditions of starting up, opening the flight mode, closing the flight mode, plugging in and out the SIM card and the like of the terminal, the auxiliary voice service in the terminal can be registered to the cloud server. After the auxiliary voice service is registered with the cloud server, the auxiliary voice service may query the device ID of the terminal from the cloud server.
In one example, the auxiliary voice service may request a device ID from a cloud server, which may feed back the device ID of the terminal to the auxiliary voice service in response to the request of the auxiliary voice service. The auxiliary voice service responds to the equipment ID, the mobile phone number and the equipment ID corresponding to the SIM card currently inserted by the terminal can be fed back to the cloud server, and the cloud server can correspondingly store the mobile phone number and the equipment ID of the terminal. In addition, the auxiliary voice service may also send the device ID to the communication chip, which stores the device ID. In one example, the auxiliary voice service may update the device ID to the IMS protocol stack of the communication chip through an interface of the communication chip that is open to set the device ID.
In one embodiment, the request for the auxiliary voice service to request the device ID from the cloud server may include, but is not limited to: public key, identification of auxiliary voice services, etc.
In one example, a first terminal may request a first device ID of the first terminal from a cloud server, and a second terminal may request a second device ID of the second terminal from the cloud server. In one example, the first terminal may also query the cloud server for the second device ID of the second terminal, and the second terminal may also query the cloud server for the first device ID of the first terminal.
The following describes a call method provided in the embodiment of the present application with reference to specific embodiments. The following embodiments may be combined with each other, and some embodiments may not be repeated for the same or similar concepts or processes.
Scene one: before the call between the first terminal and the second terminal is established, the first terminal receives signaling from the second terminal.
Fig. 8A is a flowchart of an embodiment of a call method according to an embodiment of the present application. Referring to fig. 8A, a call method provided in an embodiment of the present application may include:
s801, when a first terminal establishes a call with a second terminal, the first terminal sends a first signaling to the second terminal, wherein the first signaling includes a first equipment ID of the first terminal.
Referring to fig. 3, when a first terminal establishes a call with a second terminal, a plurality of SIP signaling are interacted between the first terminal and the second terminal, and the first signaling is included in the plurality of SIP signaling. The first signaling includes a first device ID of the first terminal. It should be understood that, in the embodiment of the present application, the purpose of carrying the first device ID in the first signaling is to: the first terminal and the second terminal may interact with the device ID via SIP signaling in order to establish an auxiliary communication link between the first terminal and the second terminal.
The first signaling may be any signaling that the first terminal sends to the second terminal. In one example, the first signaling may include, but is not limited to: INVITE request message, UPDATE message.
The first device ID of the first terminal is included in the first signaling, and in one example, a header field of the first signaling may be extended to carry the first device ID in the header field of the first signaling. The header field of the first signaling may be an original header field in the first signaling, and the first device ID may be filled into the original header field in the first signaling. Alternatively, the header field of the first signaling may be a header field newly added to the first signaling, and the header field may be a private header field, such as a P-device-info header field. Illustratively, taking the first signaling as an INVITE request message, the user-to-user header field of the INVITE request message includes a first device ID.
In an example, the first terminal may further encrypt the first device ID and then carry the encrypted first device ID in the header field of the first signaling, so that security of the first device ID may be ensured.
S802, the second terminal responds to the first signaling and sends second signaling to the first terminal, wherein the second signaling comprises a second equipment ID of the second terminal.
The second signaling may be any signaling that the second terminal sends to the first terminal and is later than the INVITE request message. When the first signaling is an INVITE request message, the second signaling may include, but is not limited to, the following: 183 message, 200 (UPDATE) message, and 200 (INVITE) message. When the first signaling is an UPDATE message, the second signaling may include, but is not limited to,: 200 (UPDATE) message, and 200 (INVITE) message.
The second signaling includes a second device ID of the second terminal, and in one example, the second device ID is carried in a header field of the second signaling. The header field of the second signaling may be an original header field in the second signaling, or the header field of the first signaling may be a newly added header field in the first signaling, which may refer to a description related to the header field of the first signaling. Illustratively, taking the second signaling as 183 message as an example, the user-to-user header field of the 183 message may include the second device ID.
In an example, the second terminal may further encrypt the second device ID and then carry the encrypted second device ID in the header field of the second signaling, so that security of the second device ID may be ensured.
The second terminal may parse a header field of the first signaling in response to the first signaling. Referring to fig. 8B, if the header field of the first signaling does not include the first device ID, the second terminal may determine that the first device ID is not received, and the second terminal may acquire the first device ID from the cloud server, which may refer to the related description in S807. If the header field of the first signaling contains the first device ID, the second terminal may verify whether the first device ID is a valid device ID, and when the first device ID is a valid device ID, the second terminal sends the second signaling to the first terminal, and when the first device ID is not a valid device ID, the second terminal may acquire the first device ID from the cloud server to send the second signaling to the first terminal. It should be understood that the first signaling is illustrated in fig. 8B as an INVITE request message.
Because the phone numbers and the device IDs of the plurality of terminals are stored in the cloud server, the second terminal can query whether the first device ID is a valid device ID through the cloud server. After the second terminal obtains the first device ID, a verification request may be sent to the cloud server, where the verification request includes the mobile phone number of the first terminal and the first device ID, and the cloud server may query, according to the mobile phone number of the first terminal, the device ID of the first terminal corresponding to the stored mobile phone number, to detect whether the first device ID is the same as the device ID of the first terminal stored in the cloud server.
If the first device ID is the same as the device ID of the first terminal already stored in the cloud server, which indicates that the first device ID is a valid device ID, the cloud server may feed back a message that the first device ID is a valid device ID to the second terminal. If the first device ID is different from the device ID of the first terminal already stored in the cloud server, which indicates that the first device ID is not a valid device ID, the cloud server may feed back a message that the first device ID is not a valid device ID to the second terminal. In one example, when the first device ID is not a valid device ID, the cloud server may further send, to the second terminal, a device ID corresponding to the mobile phone number of the first terminal, that is, the valid device ID of the first terminal.
S803, the first terminal responds to the second signaling and sends an auxiliary communication link establishment request to the cloud server.
And the auxiliary communication link establishment request is used for requesting the cloud server to establish an auxiliary communication link between the first terminal and the second terminal. The communication link establishment request may include: a first device ID and a second device ID.
The first terminal may parse a header field of the second signaling in response to the second signaling. Referring to fig. 8C, if the header field of the second signaling does not include the second device ID, the first terminal may determine that the second device ID is not received, and the first terminal may acquire the second device ID from the cloud server, which may refer to the related description in S807. If the header field of the second signaling contains the second device ID, the first terminal may verify whether the second device ID is a valid device ID, and when the second device ID is a valid device ID, the first terminal sends an auxiliary communication link establishment request to the cloud server in response to the second signaling. When the first device ID is not a valid device ID, the first terminal may acquire the second device ID from the cloud server to send an auxiliary communication link establishment request to the cloud server.
The manner in which the first terminal verifies whether the second device ID is a valid device ID may refer to the description of whether the second terminal verifies that the first device ID is a valid device ID in S802.
And S804, the cloud server responds to the auxiliary communication link establishment request to establish an auxiliary communication link between the first terminal and the second terminal.
In one embodiment, the cloud server may be a P2P server group, where the P2P server group includes: NAT session traversal application (session traversal utilities for NAT, STUN) public server. In this example, the cloud server may employ a pass-through mode to establish an auxiliary communication link between the first terminal and the second terminal.
Referring to fig. 8D, the process of establishing the auxiliary communication link by the cloud server may include:
1) And the first terminal sends an auxiliary communication link establishment request to the cloud server. The auxiliary communication link establishment request includes: a first device ID and a second device ID.
2) The cloud server, in response to receiving the secondary communication link establishment request, may inform the second terminal to begin initiating a STUN request. The STUN request may also be referred to as a traverse request, i.e. a request to establish an auxiliary communication link with the first terminal.
3) The cloud server (STUN public server) may confirm the addressing information of the first terminal and the addressing information of the second terminal according to the requests of the first terminal and the second terminal. The addressing information of the first terminal may include: the IP address of the first terminal. The addressing information of the second terminal may include: the IP address of the second terminal.
4) After the cloud server confirms the addressing information of the first terminal and the addressing information of the second terminal, the cloud server can inform the first terminal and the second terminal of carrying out the cross handshake between the devices, and connection is established, namely an auxiliary communication link is established.
In such an example, after the first terminal and the second terminal establish the auxiliary communication link, the first terminal and the second terminal may communicate directly without communicating through the P2P server group.
In one embodiment, the cloud server may be a P2P server group, where the P2P server group includes: and a relay server. In this example, the cloud server may employ a relay mode to establish an auxiliary communication link between the first terminal and the second terminal. When the relay mode is adopted, both the first terminal and the second terminal can use a command of traversing NAT (traversal using relay NAT, TURN) on the relay server to create the address of the relay transmission, namely, the first terminal can create the address of the first terminal of the relay transmission on the relay server, and the second terminal can create the address of the second terminal of the relay transmission on the relay server.
Referring to fig. 8E, the process of the cloud server establishing the secondary communication link may include:
1) The first terminal sends an auxiliary communication link establishment request to the cloud server. The auxiliary communication link establishment request includes: a first device ID and a second device ID.
2) The cloud server (relay server) inquires the addresses of the relay transmissions created by the first terminal and the second terminal, and exchanges the relay transmission addresses of the opposite terminals. The cloud server may send the address of the relay transmission created by the first terminal to the second terminal, and send the address of the relay transmission created by the second terminal to the first terminal.
3) And the first terminal and the second terminal establish an auxiliary communication link according to the relay transmission address of the opposite terminal.
In this example, after the first terminal and the second terminal establish the auxiliary communication link, the first terminal and the second terminal may forward the audio and/or video data through a relay server.
In one embodiment, after receiving the auxiliary communication link establishment request, the cloud server may further authenticate the first terminal and the second terminal, and perform P2P access authentication. Taking the cloud server to authenticate the first terminal as an example, the cloud server may detect whether the first device ID is a device ID stored in the cloud server, and if so, determine that the first terminal authentication passes. P2P access authentication can be understood as: the cloud server detects whether the first terminal and the second terminal have the P2P access function, and can refer to the related description of the current P2P access authentication. If the first terminal and the second terminal both have the P2P access function, the cloud server can determine that the authentication of the first terminal and the second terminal passes.
After the authentication of the first terminal and the second terminal passes, the cloud server can establish an auxiliary communication link according to the first equipment ID, the second equipment ID and the networking mode. The networking mode may include: a pass-through mode and a relay mode.
And S805, when the establishment of the auxiliary communication link is completed, the cloud server sends an auxiliary communication link establishment completion message to the first terminal.
And the auxiliary communication link establishment completion message is used for representing the completion of the auxiliary communication link establishment.
And S806, the first terminal marks the auxiliary communication link as available in response to the auxiliary communication link establishment completion message.
The first terminal may mark the auxiliary communication link as available in response to receiving the auxiliary communication link establishment completion message. The first terminal may modify the value of the flag bit to mark the auxiliary communication link as an available state, and in this embodiment, the manner of marking the auxiliary communication link as an available state is not limited.
S807, when the VoLTE or VoNR call fails, the first terminal communicates with the second terminal through the auxiliary communication link.
In scenario one, voLTE or VoNR talk failures may include, but are not limited to: the first terminal or the second terminal receives the signaling representing the call failure, the first terminal or the second terminal does not receive the signaling or the response signaling from the other side for a long time, the TCP links are not responded, the reserved special resources are failed, and the like. Illustratively, when the first terminal receives 503 or 580 a message, a VoLTE or VoNR call failure may be determined. Or after the first terminal sends the INVITE request message to the second terminal, if the 183 message from the second terminal is not received within the preset duration, the first terminal determines that the VoLTE or VoNR call fails.
When VoLTE or VoNR call fails, the first terminal detects whether an auxiliary communication link is available. If the first terminal can query a flag bit characterizing the state of the auxiliary communication link, it can detect whether the auxiliary communication link is available. When the value of the flag bit characterizes the auxiliary communication link as being in an available state, the first terminal can replay through the auxiliary communication link so that the first terminal can communicate with the second terminal through the auxiliary communication link.
Wherein the first terminal may send a message enabling the secondary communication link to the second terminal over the secondary communication link, and the second terminal may send a feedback message to the first terminal in response to the message enabling the secondary communication link from the first terminal. The first terminal may send audio and/or video data to the second terminal over the secondary communication link in response to the feedback message. For example, referring to fig. 3, after the first terminal receives the second signaling (e.g., 183 message), if the VoLTE or VoNR call fails, the first terminal may communicate with the second terminal using the auxiliary communication link.
In one embodiment, the second terminal may also actively initiate establishment of the secondary communication link to the cloud server. For example, after receiving the first signaling, the second terminal may acquire the first device ID of the first terminal, and the second terminal may send an auxiliary communication link establishment request to the cloud server to request the cloud server to establish the auxiliary communication link. In this embodiment, the second terminal may also actively communicate with the first terminal over the auxiliary communication link when VoLTE or VoNR call fails.
For example, when the second terminal receives the signaling representing the call failure, the second terminal does not receive the signaling or the response signaling from the other party for a long time, the TCP builds a link without response, or the dedicated resource reservation fails, the second terminal determines the VoLTE or VoNR call failure, and the second terminal may communicate with the first terminal through the auxiliary communication link, which may refer to the related description that the first terminal communicates with the second terminal through the auxiliary communication link.
In one embodiment, in the first scenario, the first terminal and the second terminal may not interact with the device ID in SIP signaling, but query the device ID through the cloud server, and may also establish the auxiliary communication link. For example, when the first terminal calls the second terminal, the mobile phone number of the second terminal may be sent to the cloud server, so as to query the cloud server for the second device ID of the second terminal. After acquiring the second device ID of the second terminal, the first terminal may send an auxiliary communication link establishment request to the cloud server, and execute S804-S807 to complete establishment of the auxiliary communication link, and when the VoLTE or the VoNR call fails, the first terminal communicates with the second terminal through the auxiliary communication link. For example, the second terminal may send the mobile phone number of the first terminal to the cloud server to query the cloud server for the first device ID of the first terminal when receiving the call from the first terminal. After the second terminal obtains the first device ID of the first terminal, the second terminal may send an auxiliary communication link establishment request to the cloud server, and may also complete the establishment of the auxiliary communication link.
In this embodiment of the present application, before a call between a first terminal and a second terminal is established, the first terminal and the second terminal may interact with an ID of the device through SIP signaling, and the first terminal or the second terminal may establish an auxiliary communication link between the first terminal and the second terminal through a cloud server. Thus, when VoLTE or VoNR calls fail, the first terminal and the second terminal can communicate through the auxiliary communication link, so that the call terminal is avoided, and the call continuity can be ensured. In addition, the auxiliary communication link in the embodiment of the application is established by depending on a 4G/5G or Wi-Fi communication network, and in an area without 2G/3G network coverage, the communication can be continued by using the auxiliary communication link. In addition, in the embodiment of the application, the auxiliary communication link can be established in advance, when the VoLTE or VoNR call fails, the auxiliary communication link is directly used for communication, when the VoLTE or VoNR call fails, the auxiliary communication link is established without spending time, so that the communication can be realized quickly, and the call continuity is better.
Scene II: before the call between the first terminal and the second terminal is established, the first terminal does not receive signaling from the second terminal.
Before the call between the first terminal and the second terminal is established, if the first terminal fails to receive the second signaling from the second terminal, the first terminal cannot acquire the second equipment ID of the second terminal from the SIP signaling. In this case, the first terminal may acquire the second device ID of the second terminal from the cloud server to establish the auxiliary communication link. It should be appreciated that the first terminal not receiving the second signaling from the second terminal may be understood as: the first terminal has not sent the first signaling or the first terminal has sent the first signaling and has not received the second signaling from the second terminal.
In other words, referring to fig. 3, taking the second signaling as 183 message as an example, in the process of performing S301-S302, if the VoLTE or VoNR call fails, the first terminal may perform the steps shown in fig. 9. For example, if the VoLTE or VoNR call fails during the execution of S301-S306, the first terminal may perform the steps shown in fig. 9, for example, if the second signaling is a 200 (UPDATE) message.
Fig. 9 is a flowchart of another embodiment of a call method according to an embodiment of the present application. Referring to fig. 9, the call method provided in the embodiment of the present application may include:
s901, in the case where the first terminal establishes a call with the second terminal and the first terminal does not receive the second signaling from the second terminal, if the VoLTE or VoNR call fails, the first terminal obtains the second device ID of the second terminal from the cloud server.
Under the condition that the first terminal establishes a call with the second terminal and the first terminal does not receive the second signaling from the second terminal, if the VoLTE or VoNR call fails, the first terminal cannot acquire the second equipment ID of the second terminal from the second signaling. In this case, the first terminal may acquire the second device ID of the second terminal from the cloud server, and reference may be made to the related description in scenario one.
In scenario two, voLTE or VoNR talk failures may include, but are not limited to: the first terminal or the second terminal receives the signaling representing the call failure, the first terminal or the second terminal does not receive the signaling or the response signaling from the other party for a long time, the TCP links are not responded, the link is abnormal, the reservation of the dedicated resources is failed, and the like.
S902, the first terminal sends an auxiliary communication link establishment request to the cloud server in response to the second device ID of the second terminal.
The auxiliary communication link establishment request may refer to the related description in S803.
S903, the cloud server establishes an auxiliary communication link between the first terminal and the second terminal in response to the auxiliary communication link establishment request.
And S904, when the establishment of the auxiliary communication link is completed, the cloud server sends an auxiliary communication link establishment completion message to the first terminal.
S905, the first terminal marks the auxiliary communication link as an available state in response to the auxiliary communication link establishment completion message.
S906, the first terminal communicates with the second terminal through the auxiliary communication link.
S903 to S905 can refer to the related description of S804 to S807. In the embodiment of the present application, because the auxiliary communication link is established when the VoLTE or VoNR call fails, when the establishment of the auxiliary communication link is completed, the first terminal may directly communicate with the second terminal through the auxiliary communication link.
In the embodiment of the application, the first terminal can acquire the second equipment ID of the second terminal from the cloud server when calling the second terminal, and establish the second equipment ID in the auxiliary communication link so as to directly use the auxiliary communication link for communication when VoLTE or VoNR communication fails, thereby avoiding communication interruption and having good communication continuity.
Scene III: after the call between the first terminal and the second terminal is established, i.e. after the first terminal sends an ACK message to the second terminal
Fig. 10A is a flowchart of another embodiment of a call method according to an embodiment of the present application. Referring to fig. 10A, the call method provided in the embodiment of the present application may include:
s1001, after the first terminal establishes a call with the second terminal, the first terminal sends a first data packet to the second terminal, where the first data packet includes a first device ID of the first terminal.
The first data packet may include, but is not limited to: audio data packets, video data packets. After the first terminal establishes a call with the second terminal, the first terminal and the second terminal can interact with data packets. In this embodiment of the present application, the first terminal may carry the first device ID in any data packet sent by the first terminal to the second terminal. In this embodiment of the present application, the purpose of carrying the first device ID in the first data packet is to: the first terminal and the second terminal may interact with the device ID via data packets in order to establish an auxiliary communication link between the first terminal and the second terminal.
In one embodiment, the first terminal may carry the first device ID in a source description (source description, SDES) field of the first data packet.
S1002, the second terminal responds to the first data packet and feeds back a second data packet to the first terminal, wherein the second data packet comprises a second device ID.
After the second terminal receives the first data packet, the second terminal can analyze the first data packet to obtain a first equipment ID, and the second terminal can feed back a second data packet to the first terminal, wherein the second data packet comprises the second equipment ID. Illustratively, the second terminal may carry the second device ID in the SDES field of the second data packet.
In one embodiment, after the second terminal parses the first device ID, it may also verify whether the first device ID is a valid device ID. When the first device ID is a valid device ID, the second terminal may feed back the second data packet to the first terminal, and the second terminal may refer to the related description in S802 in a manner of verifying whether the first device ID is a valid device ID.
And S1003, the first terminal responds to the second data packet and sends an auxiliary communication link establishment request to the cloud server.
In this embodiment, referring to fig. 10B, after the first terminal sends the first data packet to the second terminal, the first terminal may start a timer to detect whether the second data packet from the second terminal may be received when the timer is over.
And if the first terminal receives the second data packet from the second terminal at the end of the timer, the first terminal can analyze the second data packet to obtain the second equipment ID. The first terminal may verify whether the second device ID is a valid device ID, and when the second device ID is a valid device ID, the first terminal may send an auxiliary communication link establishment request to the cloud server. If the first terminal does not receive the second data packet from the second terminal at the end of the timer, the first terminal may acquire the second device ID from the cloud server to send an auxiliary communication link establishment request to the cloud server.
And S1004, the cloud server responds to the auxiliary communication link establishment request to establish an auxiliary communication link between the first terminal and the second terminal.
S1005, when the auxiliary communication link establishment is completed, the cloud server sends an auxiliary communication link establishment completion message to the first terminal.
S1006, the first terminal marks the auxiliary communication link as available in response to the auxiliary communication link establishment completion message.
S1004 to S1006 may refer to the descriptions in S804 to S806.
S1007, when the VoLTE or VoNR call fails, the first terminal detects whether the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are consistent, if so, S1008 or S1013 is performed, and if not, S1014 is performed.
In scenario three, voLTE or VoNR talk failures may include, but are not limited to: LTE communication network signal is weak, 5G/4G communication network signal is weak, dedicated load is lost, data packets are lost, voice quality is poor, etc.
When the VoLTE or VoNR call fails, the first terminal may detect whether the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are identical. Parameters of the audio processor may include, but are not limited to: codec type, sampling rate, code rate, etc.
In one example, a first terminal may send a parameter request of an audio processor to a second terminal over a cloud server or an auxiliary communication link to request parameters of the audio processor of the second terminal. The second terminal may transmit parameters of the audio processor of the second terminal to the first terminal in response to the parameter request from the audio processor of the first terminal, and the first terminal may detect whether the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are identical.
In this embodiment of the present application, when the parameter of the audio processor of the first terminal and the parameter of the audio processor of the second terminal are consistent, the first terminal may communicate with the second terminal through the auxiliary communication link. In one embodiment, the first terminal may also determine whether to use the auxiliary communication link to communicate with the second terminal according to the reason of the VoLTE or VoNR call failure, which may be described in S1008-S1012.
When the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal do not coincide, the first terminal may not respond, i.e. not communicate with the second terminal via the auxiliary communication link. Or, the first terminal may send an adjustment request to the second terminal, where the adjustment request is used to instruct the second terminal to adjust parameters of the audio processor of the second terminal to be consistent with parameters of the audio processor in the first terminal, so that the first terminal communicates with the second terminal through the auxiliary communication link. Wherein the adjustment request may include parameters of an audio processor in the first terminal.
S1008, when the VoLTE or VoNR call failure is that the LTE communication network signal is weak, the 5G/4G communication network signal is weak or the voice quality is poor, the first terminal sends a voice data packet to the second terminal through the auxiliary communication link.
The purpose of the first terminal sending voice data packets to the second terminal over the auxiliary communication link is to: the voice quality of the secondary communication link is detected.
In one embodiment, when the VoLTE or VoNR call failure is a weak LTE communication network signal, a weak 5G/4G communication network signal, or poor voice quality, the first terminal detects the voice quality of the auxiliary communication link to compare the voice quality of the auxiliary communication link and the link of the VoLTE or VoNR call. When the voice quality of the auxiliary communication link is higher than that of the VoLTE or VoNR call, the first terminal communicates with the second terminal through the auxiliary communication link, so that the communication quality can be ensured. When the voice quality of the auxiliary communication link is lower than that of the VoLTE or VoNR call, the first terminal can communicate with the second terminal without the auxiliary communication link, because the voice quality cannot be ensured by the auxiliary communication link, and the power consumption of the terminal is increased without audio channel switching.
In this embodiment of the present application, the first terminal may send a voice data packet to the second terminal through the auxiliary communication link, and detect the voice quality of the auxiliary communication link. The voice data packet may be: before the VoLTE or VoNR call fails, the last data packet sent by the first terminal to the second terminal, or any data packet sent by the first terminal to the second terminal, or a preset voice data packet, which is not limited in the embodiment of the present application.
S1009, the second terminal obtains the voice quality of the auxiliary communication link according to the voice data packet.
The second terminal may obtain the voice quality of the auxiliary communication link according to the voice data packet received by the auxiliary communication link. In one embodiment, the voice quality of the auxiliary communication link may be characterized using a form of voice quality value.
And S1010, the second terminal feeds back the voice quality of the auxiliary communication link to the first terminal.
S1011, the first terminal communicates with the second terminal over the auxiliary communication link in response to the voice quality of the auxiliary communication link being higher than the voice quality of the VoLTE or VoNR call.
When the voice quality of the auxiliary communication link is higher than the voice quality of the VoLTE or VoNR call, the quality of the call performed through the auxiliary communication link is higher than the voice quality of the VoLTE or VoNR call, and the first terminal can communicate with the second terminal through the auxiliary communication link, so that the call quality can be ensured. The manner in which the first terminal communicates with the second terminal through the auxiliary communication link may be referred to as a related description in S807.
S1012, the first terminal does not respond in response to the voice quality of the auxiliary communication link being lower than the voice quality of the VoLTE or VoNR call.
When the voice quality of the auxiliary communication link is lower than the voice quality of the VoLTE or VoNR call, the quality of the call over the auxiliary communication link is also characterized as being lower than the quality of the VoLTE or VoNR call, and even if the auxiliary communication link is used, the call quality is not improved, and thus communication over the auxiliary communication link is not required, in this embodiment, the first terminal may not respond.
And S1013, when the VoLTE or VoNR call failure is a special load loss or a data packet loss, the first terminal communicates with the second terminal through the auxiliary communication link.
When the VoLTE or VoNR call failure is the loss of the special load, the link representing the VoLTE or VoNR call is lost, so that the auxiliary communication link is required to be adopted for communication, and when the VoLTE or VoNR call failure is the packet loss, the communication quality representing the VoLTE or VoNR call is poor, and the auxiliary communication link is also required to be adopted for communication. Therefore, when the VoLTE or VoNR call failure is a loss of a dedicated carrier or a packet loss, the first terminal communicates with the second terminal through the auxiliary communication link, which may be described with reference to the correlation in S807.
S1014, the first terminal does not respond, or the first terminal transmits parameters of the audio processor of the first terminal to the second terminal.
When the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are not identical, the first terminal may not respond, e.g., communicate with the second terminal without using an auxiliary communication link.
Or when the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are inconsistent, the first terminal can send the parameters of the audio processor of the first terminal to the second terminal, so that the second terminal adjusts the parameters of the audio processor of the second terminal to be the same as the parameters of the audio processor of the first terminal, and further the first terminal and the second terminal can communicate through an auxiliary communication link.
S1015, the second terminal adjusts parameters of an audio processor of the second terminal, wherein the adjusted parameters of the audio processor are the same as parameters of the audio processor of the first terminal.
S1016, the second terminal feeds back the adjustment completion message to the first terminal.
And the message for indicating that the second terminal has adjusted the parameters of the audio processor of the second terminal to be the same as the parameters of the audio processor of the first terminal.
S1017, the first terminal performs S1008 or S1013 in response to the adjustment completed message.
In one embodiment, the second terminal may also actively initiate establishment of the secondary communication link to the cloud server. The second terminal may acquire the first device ID of the first terminal after receiving the first data packet, and further, the second terminal sends an auxiliary communication link establishment request to the cloud server to request the cloud server to establish an auxiliary communication link.
In one embodiment, in scenario three, after the first terminal establishes a call with the second terminal, the first terminal and the second terminal may not interact with the device ID in the data packet, but query the device ID through the cloud server, and may also establish the auxiliary communication link. After the first terminal establishes a call with the second terminal, the first terminal may send the mobile phone number of the second terminal to the cloud server, so as to query the second device ID of the second terminal from the cloud server. After the first terminal obtains the second equipment ID of the second terminal, the first terminal may send an auxiliary communication link establishment request to the cloud server, so as to complete establishment of the auxiliary communication link.
In this embodiment of the present application, after a call is established between a first terminal and a second terminal, the first terminal or the second terminal may establish an auxiliary communication link between the first terminal and the second terminal through a cloud server by using a data packet interaction device ID, so that when a VoLTE or a VoNR call fails, the first terminal and the second terminal may communicate through the auxiliary communication link, thereby ensuring continuity of the call. In addition, because the auxiliary communication link is established after the first terminal and the second terminal establish a call, it is necessary to detect whether the parameters of the audio processing modules of the first terminal and the second terminal are consistent, and under the condition that the parameters are consistent, the first terminal and the second terminal can communicate through the auxiliary communication link, so that the call quality can be ensured.
In one embodiment, the secondary communication link may be established in any of scenario one through scenario three. Or, the auxiliary communication link may be established in the first and third scenarios, in this example, if before the first terminal and the second terminal establish a call, the first terminal and the second terminal can establish the auxiliary communication link through SIP signaling interaction, after the first terminal and the second terminal establish a call, the first terminal and the second terminal may not need to interact with the device ID through a data packet, and if before the first terminal and the second terminal establish a call, the first terminal and the second terminal cannot establish the auxiliary communication link through SIP signaling interaction, after the first terminal and the second terminal establish a call, the first terminal and the second terminal may interact with the device ID through a data packet, so as to establish the auxiliary communication link.
Referring to fig. 5, a call method provided in the embodiment of the present application is described from the perspective of interaction between internal modules in a first terminal and a second terminal. Fig. 11A is an interaction schematic diagram of internal modules in a first terminal and a second terminal corresponding to a scene one. Referring to fig. 11A, the call method provided in the embodiment of the present application may include:
S1101A, when the first terminal establishes a call with the second terminal, the call application in the first terminal sends a first signaling to the second terminal through the communication chip, where the first signaling includes a first device ID of the first terminal.
Correspondingly, the communication chip in the second terminal receives the first signaling.
And S1102A, the communication chip in the second terminal sends a first signaling to the call application in the second terminal.
The call application in the second terminal may parse the header field of the first signaling to obtain a first device ID, and interact with the cloud server to detect whether the first device ID is a valid device ID, and execute S1103A when the first device ID is a valid device ID. The detection of whether the first device ID is a valid device ID by the conversation application in the second terminal may be described with reference to the correlation in S802.
And S1103A, the call application in the second terminal sends a second signaling to the first terminal through the communication chip.
Correspondingly, the communication chip in the first terminal receives the second signaling.
And S1104A, the communication chip in the first terminal sends a second signaling to the call application in the first terminal.
The call application in the first terminal may parse the header field of the second signaling to obtain a second device ID, and interact with the cloud server to detect whether the second device ID is a valid device ID, and execute S1105A when the second device ID is a valid device ID.
S1105A, the auxiliary voice service in the first terminal sends an auxiliary communication link establishment request to the cloud server.
In one example, the auxiliary voice service may be integrated in the telephony application, so when the telephony application obtains the second device ID, the auxiliary voice service may obtain the second device ID, and the auxiliary voice service may send an auxiliary communication link establishment request to the cloud server.
In one example, the auxiliary voice service may be set independently of the conversation application, and after obtaining the second device ID, the conversation application may send the second device ID to the auxiliary voice service, and further the auxiliary voice service may send an auxiliary communication link establishment request to the cloud server.
S1106A, the cloud server establishes an auxiliary communication link between the first terminal and the second terminal in response to the auxiliary communication link establishment request.
S1107A, when the auxiliary communication link establishment is completed, the cloud server transmits an auxiliary communication link establishment completion message to the auxiliary voice service in the first terminal.
S1108A, the auxiliary voice service in the first terminal marks the auxiliary communication link as available in response to the auxiliary communication link establishment completion message.
S1106A to S1108A may refer to the relevant descriptions in S804 to S806.
S1109A, when the VoLTE or VoNR call fails, the communication chip in the first terminal reports the failure cause to the communication application in the first terminal.
In one embodiment, when the VoLTE or VoNR call fails, the communication chip in the first terminal may acquire the failure cause, and further report the failure cause to the communication application in the first terminal.
S1110A, an auxiliary voice service in the first terminal detects whether an auxiliary communication link is available in response to the failure cause. If yes, S1111A is executed, and if no, S1112A is executed.
In one example, the auxiliary voice service may be integrated in the telephony application such that when the telephony application gets a cause of failure, the auxiliary voice service may get the cause of failure and the auxiliary voice service may detect whether an auxiliary communication link is available. For example, the auxiliary voice service may query the status of the auxiliary communication link and, upon determining that the auxiliary communication link is available, determine that the auxiliary communication link is available.
In one example, the auxiliary voice service may be set independently of the telephony application, and after obtaining the cause of the failure, the telephony application may send the cause of the failure to the auxiliary voice service, which in turn may detect whether the auxiliary communication link is available.
S1111A, the auxiliary voice service in the first terminal communicates with the auxiliary voice service in the second terminal through the auxiliary communication link.
The auxiliary voice service in the first terminal responds to the fault reason, detects that the auxiliary communication link is in an available state, and the auxiliary voice service in the first terminal can be replayed through the auxiliary communication link to realize that the first terminal communicates with the second terminal through the auxiliary communication link, and the replay mode can be described with reference to the related description in S807.
S1112A ends the call.
If the auxiliary communication link is unavailable, the first terminal may end the call to the second terminal.
In one embodiment, some of the steps shown in FIG. 11A are optional steps and the steps may be combined with one another.
The embodiment of the present application has the same technical effects as those of the embodiment of the first scene, and reference may be made to the related description in the first scene.
Fig. 11B is an interaction schematic diagram of the internal modules in the first terminal and the second terminal corresponding to the second scenario. Referring to fig. 11B, the call method provided in the embodiment of the present application may include:
S1101B, in the case where the first terminal establishes a call with the second terminal and the first terminal does not receive the second signaling from the second terminal, if the VoLTE or VoNR call fails, the call application in the first terminal acquires the second device ID of the second terminal from the cloud server.
S1101B can refer to the related description in S901. When the VoLTE or VoNR call fails, the call application in the first terminal may receive a failure cause from the communication chip in the first terminal, and in response to the failure cause, the call application in the first terminal may obtain the second device ID of the second terminal from the cloud server.
S1102B, the auxiliary voice service in the first terminal sends an auxiliary communication link establishment request to the cloud server.
And S1103B, the cloud server responds to the auxiliary communication link establishment request to establish an auxiliary communication link between the first terminal and the second terminal.
And S1104B, when the establishment of the auxiliary communication link is completed, the cloud server sends an auxiliary communication link establishment completion message to the auxiliary voice service in the first terminal.
S1105B, the auxiliary voice service in the first terminal marks the auxiliary communication link as an available state.
S1106B, the auxiliary voice service in the first terminal communicates with the auxiliary voice service in the second terminal through an auxiliary communication link.
S1102B-S1106B may refer to S1106A-S1108A, and related descriptions in S1111A.
In one embodiment, some of the steps shown in FIG. 11B are optional steps, and the steps may be combined with one another.
The embodiment of the present application has the same technical effects as those of the embodiment of the second scene, and reference may be made to the related description in the second scene.
Fig. 11C is an interaction schematic diagram of internal modules in the first terminal and the second terminal corresponding to the third scenario. Referring to fig. 11C, the call method provided in the embodiment of the present application may include:
S1101C, after the first terminal establishes a call with the second terminal, the call application in the first terminal sends a first data packet to the second terminal through the communication chip in the first terminal, where the first data packet includes the first device ID of the first terminal.
Correspondingly, the communication chip in the second terminal receives the first data packet from the first terminal.
And S1102C, the communication chip in the second terminal sends a first data packet to the call application in the second terminal.
And S1103C, the call application in the second terminal feeds back a second data packet to the first terminal through the communication chip in the second terminal, wherein the second data packet comprises a second equipment ID.
Correspondingly, the communication chip in the first terminal receives the second data packet from the second terminal.
When the call application in the second terminal receives the first data packet, the call application in the second terminal can also verify whether the first equipment ID is a valid equipment ID, and when the first equipment ID is the valid equipment ID, the call application in the second terminal can feed back the second data packet to the first terminal through a communication chip in the second terminal.
And S1104C, the communication chip in the first terminal sends a second data packet to the call application in the first terminal.
S1105C, the auxiliary voice service in the first terminal sends an auxiliary communication link establishment request to the cloud server.
The call application in the first terminal may further verify whether the second device ID is a valid device ID when receiving the second data packet, and when the second device ID is a valid device ID, the auxiliary voice service in the first terminal sends an auxiliary communication link establishment request to the cloud server.
And S1106C, the cloud server responds to the auxiliary communication link establishment request to establish an auxiliary communication link between the first terminal and the second terminal.
S1107C, when the auxiliary communication link establishment is completed, the cloud server transmits an auxiliary communication link establishment completion message to the auxiliary voice service in the first terminal.
S1108C, the auxiliary voice service in the first terminal marks the auxiliary communication link as available in response to the auxiliary communication link establishment completion message.
S1109C, when the VoLTE or VoNR call fails, the communication chip in the first terminal reports the failure cause to the communication application in the first terminal.
S1110C, the auxiliary voice service in the first terminal detects whether an auxiliary communication link is available in response to the failure cause. If yes, S1111C is executed, and if no, S1121C is executed.
S1104C-S1110C may refer to the relevant description in S1104A-S1110A.
S1111C, the auxiliary voice service in the first terminal detects whether the parameters of the audio processor of the first terminal and the parameters of the audio processor of the second terminal are consistent, if so, S1112C or S1117C is executed, and if not, S1118C is executed.
S1112C, when the VoLTE or VoNR call failure is that the LTE communication network signal is weak, the 5G/4G communication network signal is weak, or the voice quality is poor, the auxiliary voice service in the first terminal sends a voice data packet to the auxiliary voice service in the second terminal through the auxiliary communication link.
S1113C, the auxiliary voice service in the second terminal obtains the voice quality of the auxiliary communication link in response to the voice data packet.
S1114C, the auxiliary voice service in the second terminal feeds back the voice quality of the auxiliary communication link to the auxiliary voice service in the first terminal through the auxiliary communication link.
Accordingly, the auxiliary voice service in the first terminal receives the voice quality of the auxiliary communication link.
S1115C, the auxiliary voice service in the first terminal communicates with the auxiliary voice service in the second terminal over the auxiliary communication link in response to the voice quality of the auxiliary communication link being higher than the voice quality of the VoLTE or VoNR call.
S1116C, the auxiliary voice service in the first terminal does not respond in response to the voice quality of the auxiliary communication link being lower than the voice quality of the VoLTE or VoNR call.
S1117C, when the VoLTE or VoNR call failure is a loss of a dedicated carrier or a packet loss of a data packet, the auxiliary voice service in the first terminal communicates with the auxiliary voice service in the second terminal through the auxiliary communication link.
S1118C, the auxiliary voice service in the first terminal does not respond, or the auxiliary voice service in the first terminal transmits parameters of the audio processor of the first terminal to the auxiliary voice service in the second terminal.
Accordingly, the auxiliary voice service in the second terminal receives the parameters of the audio processor of the first terminal.
The auxiliary speech service in the second terminal sends parameters of the audio processor of the first terminal to the audio processor in the second terminal. The audio processor in the second terminal adjusts parameters of the audio processor of the second terminal, the adjusted parameters of the audio processor are the same as parameters of the audio processor of the first terminal, and the audio processor in the second terminal feeds back an adjustment completion message to the auxiliary voice service in the second terminal.
S1119C, the auxiliary voice service in the second terminal feeds back the adjustment completed message to the auxiliary voice service in the first terminal.
S1120C, the first terminal performs S1112C or S1117C in response to the adjustment completed message.
S1121C, the auxiliary voice service in the first terminal does not respond.
In one embodiment, some of the steps shown in FIG. 11C are optional steps, and the steps may be combined with one another.
The embodiment of the application has the same technical effects as those of the embodiment of the third scene, and can refer to the related description in the third scene.
In one embodiment, referring to fig. 12, a communication method provided in the embodiment of the present application is described from the perspective of interaction of a first terminal, a second terminal, and a cloud server:
s1201, when the first terminal and the second terminal perform a call through the main communication link, the first device information of the first terminal is transmitted to the second terminal through the main communication link.
The primary communication link may be: communication links for implementing VoLTE, voNR or other types of telephony services, the primary communication link may be as described in the above embodiments.
Wherein the first device information may include, but is not limited to: a first device ID or a first device number. The second device information may include, but is not limited to: a second device ID or a second device number. The manner in which the first terminal sends the first device information to the second terminal and the manner in which the second terminal sends the second device information to the first terminal may refer to the related descriptions in the first to third scenes, which are not described herein.
S1202, second device information from a second terminal is received.
S1203, sending an auxiliary communication link establishment request to the cloud server, where the auxiliary communication link establishment request is used to request establishment of an auxiliary communication link between the first terminal and the second terminal, and the auxiliary communication link establishment request includes: the first device information and the second device information, the communication network used by the auxiliary communication link is a non-2G/3G communication network.
S1203 may refer to the related description in S803-S806.
S1204, in the case of the auxiliary communication link being established, if the primary communication link fails, communicating with the second terminal through the auxiliary communication link.
S1203 may refer to the related description in S807.
The embodiments of the present application have the same principle and technical effects as those of the embodiments in the first to third scenes, and reference may be made to the related descriptions in the first to third scenes.
In an embodiment, the embodiment of the application further provides an electronic device, where the electronic device may be the first terminal and the second terminal described in the foregoing embodiments. Referring to fig. 13, the electronic device may include: a processor 1301 (e.g., a CPU), a memory 1302. The memory 1302 may include a random-access memory (RAM) and may also include a non-volatile memory (NVM), such as at least one magnetic disk memory, in which various instructions may be stored in the memory 1302 for performing various processing functions and implementing method steps of the present application.
Optionally, the electronic device related to the present application may further include: a power supply 1303, a communication bus 1304, and a communication port 1305. The communication port 1305 is used for enabling connection communication between the electronic device and other peripheral devices. In the present embodiment, the memory 1302 is used for storing computer executable program code, which includes instructions; when the processor 1301 executes the instructions, the instructions cause the processor 1301 of the electronic apparatus to perform the actions in the above method embodiments, which achieve similar principles and technical effects, and are not described herein again.
It should be noted that the modules or components described in the above embodiments may be one or more integrated circuits configured to implement the above methods, for example: one or more application specific integrated circuits (application specific integrated circuit, ASIC), or one or more microprocessors (digital signal processor, DSP), or one or more field programmable gate arrays (field programmable gate array, FPGA), or the like. For another example, when a module above is implemented in the form of a processing element scheduler code, the processing element may be a general purpose processor, such as a central processing unit (central processing unit, CPU) or other processor that may invoke the program code, such as a controller. For another example, the modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc., that contain an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
The term "plurality" herein refers to two or more. The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship; in the formula, the character "/" indicates that the front and rear associated objects are a "division" relationship. In addition, it should be understood that in the description of this application, the words "first," "second," and the like are used merely for distinguishing between the descriptions and not for indicating or implying any relative importance or order.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application.
It should be understood that, in the embodiments of the present application, the sequence number of each process described above does not mean that the execution sequence of each process should be determined by the function and the internal logic of each process, and should not constitute any limitation on the implementation process of the embodiments of the present application.

Claims (18)

1. A method for communicating with a first terminal, the method comprising:
when the first terminal and the second terminal communicate through a main communication link, first equipment information of the first terminal is sent to the second terminal through the main communication link;
receiving second device information from the second terminal;
sending an auxiliary communication link establishment request to a cloud server, wherein the auxiliary communication link establishment request is used for requesting to establish an auxiliary communication link between the first terminal and the second terminal, and the auxiliary communication link establishment request comprises the following steps: the first device information and the second device information, and the communication network used by the auxiliary communication link is a non-2G/3G communication network;
and under the condition that the auxiliary communication link is established, if the main communication link fails, communicating with the second terminal through the auxiliary communication link.
2. The method of claim 1, wherein after receiving the second device information from the second terminal, further comprising:
sending a verification request to the cloud server, where the verification request is used to request to verify whether the second device information is valid device information, and the verification request includes: the mobile phone number of the second terminal and the second device information, wherein the second device information is represented by effective device information: the second equipment information received by the first terminal is the same as the equipment information of the second terminal stored in the cloud server;
The sending the auxiliary communication link establishment request to the cloud server includes:
and if a message indicating that the second equipment information is effective equipment information is received from the cloud server, sending an auxiliary communication link establishment request to the cloud server.
3. The method according to claim 1 or 2, wherein the first terminal and the second terminal communicating over a primary communication link comprises: a stage before the call between the first terminal and the second terminal is established;
the sending, by the primary communication link, first device information of the first terminal to the second terminal includes:
transmitting a first signaling to the second terminal, wherein a header field of the first signaling comprises the first device information;
the receiving the second device information from the second terminal includes:
and receiving second signaling from the second terminal, wherein a header field of the second signaling comprises the second equipment information.
4. A method according to claim 3, wherein the first signalling is an INVITE request message or an UPDATE message, and wherein the second signalling is a 183 message, a response message of the UPDATE message or a response message of the INVITE request message when the first signalling is the INVITE request message, and wherein the second signalling is a response message of the UPDATE message or a response message of the INVITE request message when the first signalling is the UPDATE message.
5. The method of claim 3 or 4, wherein the primary communication link failure comprises any one of: the first terminal receives a signaling representing a call failure, the first terminal does not receive the signaling from the second terminal within a preset duration, the link establishment is unresponsive, and the dedicated resource reservation fails.
6. The method according to claim 1 or 2, wherein the first terminal and the second terminal communicating over a primary communication link comprises: a stage after the conversation between the first terminal and the second terminal is established;
the sending, by the primary communication link, first device information of the first terminal to the second terminal includes:
transmitting a first data packet to the second terminal, wherein the first data packet comprises the first equipment information;
the receiving the second device information from the second terminal includes:
and receiving a second data packet from the second terminal in response to the first data packet, wherein the second data packet comprises the second equipment information.
7. The method of claim 6, wherein after the sending the first data packet to the second terminal, further comprising:
Starting a timer to detect whether the second data packet is received before the timer is finished;
the sending the auxiliary communication link establishment request to the cloud server includes:
and if the second data packet is received before the timer is finished, sending an auxiliary communication link establishment request to the cloud server.
8. The method of claim 6 or 7, wherein the primary communication link failure comprises any one of: communication network signals are weak, special load is lost, data packets are lost, and voice quality values are smaller than a threshold value.
9. The method of claim 8, wherein when the primary communication link failure is a voice quality value less than a threshold value, prior to the communicating with the second terminal over the secondary communication link, further comprising:
detecting whether the parameters of the audio processor in the first terminal are consistent with the parameters of the audio processor in the second terminal;
if yes, sending an audio data packet to the second terminal through the auxiliary communication link;
receiving the voice quality of the auxiliary communication link determined by the second terminal according to the audio data packet;
said communicating with said second terminal over said auxiliary communication link comprising:
And if the voice quality of the auxiliary communication link is higher than that of the main communication link, communicating with the second terminal through the auxiliary communication link.
10. The method according to claim 9, wherein the method further comprises:
if the parameters of the audio processor in the first terminal are inconsistent with the parameters of the audio processor in the second terminal, sending an adjustment request to the second terminal, wherein the adjustment request is used for requesting to adjust the parameters of the audio processor in the second terminal to be consistent with the parameters of the audio processor in the first terminal, and the adjustment request comprises the parameters of the audio processor in the first terminal;
receiving a message from the second terminal that adjustment is completed;
and sending the audio data packet to the second terminal.
11. The method according to claim 1 or 2, wherein the first terminal and the second terminal communicating over a primary communication link comprises: a stage before a call between the first terminal and the second terminal is established, and the first terminal has not sent an INVITE request message to the second terminal, the method further includes:
The first terminal sends the telephone number of the second terminal to the cloud server;
and receiving the second equipment information from the cloud server, wherein the cloud server stores the mobile phone number of the second terminal and the equipment information of the second terminal.
12. The method according to claim 2, wherein the method further comprises:
receiving a message from the cloud server, wherein the message characterizes that the second equipment information is not valid equipment information, and the message characterizes that the second equipment information is not valid equipment information comprises the following steps: and the effective equipment information of the second terminal is the equipment information of the second terminal stored in the cloud server.
13. The method according to claim 3 or 7, characterized in that the method further comprises:
if the header field of the second signaling does not comprise the second equipment information or does not receive the second data packet before the timer is finished, sending the telephone number of the second terminal to a cloud server;
and receiving the second equipment information from the cloud server, wherein the cloud server stores the mobile phone number of the second terminal and the equipment information of the second terminal.
14. The method according to any one of claims 1-13, further comprising, after the sending of the auxiliary communication link establishment request to the cloud server:
and receiving a message of completion of establishment of the auxiliary communication link from the cloud server.
15. The method according to any of claims 1-14, wherein prior to said communicating with said second terminal over said auxiliary communication link, further comprising:
transmitting a message to the second terminal to enable the auxiliary communication link;
and receiving a feedback message from the second terminal.
16. The method according to any one of claims 1-15, further comprising:
when registering to the cloud server, sending a device information request to the cloud server;
receiving the first device information from the cloud server;
and sending the first equipment information and the mobile phone number of the first terminal to the cloud server so that the cloud server correspondingly stores the first equipment information and the mobile phone number of the first terminal.
17. An electronic device, comprising: a processor and a memory;
the memory stores computer instructions;
The processor executing computer instructions stored in the memory, causing the processor to perform the method of any one of claims 1-16.
18. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program or instructions, which when executed, implement the method of any of claims 1-16.
CN202211109738.2A 2022-09-13 2022-09-13 Communication method, electronic device and storage medium Pending CN117750537A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211109738.2A CN117750537A (en) 2022-09-13 2022-09-13 Communication method, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211109738.2A CN117750537A (en) 2022-09-13 2022-09-13 Communication method, electronic device and storage medium

Publications (1)

Publication Number Publication Date
CN117750537A true CN117750537A (en) 2024-03-22

Family

ID=90254983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211109738.2A Pending CN117750537A (en) 2022-09-13 2022-09-13 Communication method, electronic device and storage medium

Country Status (1)

Country Link
CN (1) CN117750537A (en)

Similar Documents

Publication Publication Date Title
US10469545B2 (en) Multimedia session call control method and application server
US7983218B2 (en) Techniques to support seamless mobility of electronic devices engaged in a session initiation protocol (SIP) session
US9351203B2 (en) Voice call continuity in hybrid networks
US20150016421A1 (en) System and method for transitioning a communication session between networks that are not commonly controlled
KR101133199B1 (en) Method, terminal and network device for changing status of packet switched domain
US10827346B1 (en) Method for providing roaming services in which the home network uses S8HR model for out-bound roaming while the visited network uses LBO model for in-bound roaming
US20090180440A1 (en) Client-Based Multimode Handover in Communication Systems
CN112087548B (en) Method for playing multimedia color vibration and color ring and application server
US8019349B2 (en) Telephone conversation resumption system, telephone conversation resumption program, telephone conversation resumption method, portable terminal and relay apparatus
CN113709190B (en) Service setting method and device, storage medium and electronic equipment
US8250217B2 (en) System and method for handling session management in a communication system
KR100700607B1 (en) Method and system for performing combination service by using terminal capability version
CN106454977B (en) Call service switching method and device for terminal
WO2015062454A1 (en) Audio and video call method, device and system
CN103155511B (en) By the connection control of the B2BUA after being positioned at NAT gateway
GB2452020A (en) Communication establishment methodand related communication devices
WO2018099155A1 (en) Service processing method, device and system
US20190037617A1 (en) Method and system for providing mission critical service (mcx) in wireless communication network
KR101453971B1 (en) Apparatus and method for interworking between wirless network and wireline network
WO2017045407A1 (en) Method of implementing end-to-end conversation encryption, terminal and network element of network side
CN115190468B (en) Redialing method and terminal equipment
US20080298307A1 (en) Apparatus, Method and Computer Program for Seamless Session Transfer
WO2019184717A1 (en) Communication method and related product
CN117750537A (en) Communication method, electronic device and storage medium
CN113382410B (en) Communication method and related device and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination