Communication method, communication device and computer storage medium
By switching to an audio ringback tone or vibrating tone when the video decoder call fails, the problem of call failure caused by video decoder call failure is solved, and the connection rate of voice calls is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2026-04-07
AI Technical Summary
The issue of video decoder call failure causing call failures affects the call connection success rate.
When the video decoder fails to call, the terminal device sends an instruction message to avoid playing the video ringback tone or video vibration file, and switches to the audio ringback tone or vibration tone to ensure that the voice call is connected.
It improved the connection rate of voice calls and avoided call interruptions caused by video decoder failure.
Smart Images

Figure CN121814899A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the communication technical field, and particularly relates to a communication method, a communication device and a computer storage medium. BACKGROUND
[0002] IP Multimedia Subsystem (IMS) is a general network architecture for providing multimedia services on an internet protocol (IP) based network, and can provide users with converged media services and internet services. Among them, the video ringback service and the video ringback tone service are common voice services based on IMS. The video ringback tone refers to a video played by a calling terminal during waiting for establishing a media session with a called terminal after the calling terminal initiates a call request to the called terminal. The video ringback refers to a video played by a called terminal when receiving a call from a calling terminal. The video played in the video ringback tone service or the video ringback service depends on a video decoder initialized by the calling terminal or the called terminal. When the calling terminal or the called terminal fails to initialize the video decoder, the calling terminal or the called terminal fails to call, thereby causing a call failure. SUMMARY
[0003] The present application aims to provide a communication method, a communication device and a computer storage medium, which can avoid the call failure caused by the failure of calling the video decoder, and improve the call success rate.
[0004] In a first aspect, the present application provides a communication method, comprising:
[0005] In response to a dialing operation of a user, a first terminal sends a first call request message to a network device, and the first call request message is used to call a second terminal. Correspondingly, after receiving the first call request message, the network device sends the first call request message to the second terminal. The dialing operation can be that the first terminal displays a dialing interface, and the dialing interface includes a voice call control. The user can operate the voice call control, and the operation can be understood as the dialing operation.
[0006] In a case where the second terminal is configured with the video ringback tone service, the first terminal receives a first update message sent by the network device, and the first update message includes first indication information. The first indication information indicates that the first terminal needs to play a video ringback tone file. The second terminal being configured with the video ringback tone service means that a user of the second terminal has subscribed to the video ringback tone service, and an operator configures the video ringback tone service for the second terminal in the network device.
[0007] In a case where the message that the video decoder call fails is acquired, the first terminal sends a second update message to the network device, the second update message comprising second indication information, the second indication information indicating that the video ring file does not need to be played. Wherein, after the first terminal receives the first update message sent by the network device, the first terminal can determine that the video decoder needs to be called according to the first indication information.
[0008] The first terminal receives a ringing message sent by the network device, the ringing message indicating that the called terminal has started ringing.
[0009] In response to the ringing message, the first terminal plays a ringback tone. The ringback tone can be an audio ringback tone.
[0010] The method of the first aspect is implemented, and when the first terminal initiates a call actively, the second terminal is configured with a video ring service. When the first terminal calls the video decoder, if the video decoder call fails, the first terminal does not send a cancel message to the network device to indicate that the phone is hung up, but sends second indication information to the network device to indicate that the video ring file does not need to be played, thereby avoiding the failure of the voice call to be connected due to the failure of the video decoder call.
[0011] In a possible implementation, the first indication information comprises content:g.3gpp.cat.
[0012] In this way, the content:g.3gpp.cat in the existing protocol is used as the first indication information, so that other information is avoided to be introduced, and signaling overhead is saved.
[0013] In a possible implementation, the first update message further comprises a first video port number, the first video port number being used to indicate a port through which the first terminal receives the video ring file;
[0014] The second indication information comprises a second video port number, the second video port number being used to indicate that the video port is closed. For example, the second video port number is equal to 0, that is, the second video port number equal to 0 can be used to indicate that the video port is closed, i.e. the video ring file does not need to be played.
[0015] In this way, the video ring is indirectly indicated not to be played through the video port number, so that an additional parameter is avoided to be introduced to indicate that the video ring file does not need to be played.
[0016] In a possible implementation, the first terminal plays a ringback tone, comprising:
[0017] The first terminal acquires an audio ring file from the network device, and plays a ringback tone according to the audio ring file; or,
[0018] The first terminal plays the ringback tone according to the locally saved audio file.
[0019] In this way, when the second terminal is configured with the audio CRBT, the first terminal can obtain the audio CRBT file from the network device and play the ringback tone according to the audio CRBT file. When the second terminal is not configured with the audio CRBT, the first terminal can also play the ringback tone according to the locally saved audio file.
[0020] The playing of the ringback tone can be implemented when the video decoder fails to be invoked, and the voice call connection rate is improved.
[0021] In a possible implementation, the method further includes:
[0022] When the message that the video decoder invocation is successful is obtained, the first terminal obtains the video CRBT file from the network device and plays the video CRBT file.
[0023] In this way, when the video decoder invocation of the first terminal is successful, the first terminal can play the video CRBT file, and when the video decoder invocation fails, the ringback tone is played, so that the voice call connection rate of the user can be ensured.
[0024] In a possible implementation, the first terminal sends the first call request message to the network device in response to the dialing operation of the user, and the first call request message includes:
[0025] The dialing interface is displayed, and the dialing interface includes a voice call control. Optionally, the dialing interface can also include a video call control.
[0026] The first terminal sends the first call request message to the network device in response to the dialing operation of the voice call control.
[0027] Optionally, the first call request message can indicate that the call is a voice call, for example, the type of the first call request message can indicate that the call is a voice call. For example, the first call request message is an invite message.
[0028] In this way, when the first terminal initiates the voice call, if the video decoder invocation fails, the call will not be hung up, but the ringback tone is played based on the audio file, so that the voice call connection of the user can be ensured.
[0029] In a possible implementation, the method further includes:
[0030] The call state is set to a voice call in response to the dialing operation of the user.
[0031] After receiving the first update message, the method further includes:
[0032] Based on the first instruction information, the call status is updated to video call, and the video decoder is invoked.
[0033] This method allows for the invocation of a video decoder by triggering a call status change, thus facilitating the playback of video ringback tones.
[0034] In one possible implementation, the method further includes:
[0035] Store historical call states, which are voice calls before the call states were updated;
[0036] Store a reason value for a call status change, wherein the reason value for the call status change indicates that the reason for the call status change is that a video ringback tone file needs to be played;
[0037] Upon receiving a message indicating a video decoder call failure, a second update message is sent, including:
[0038] If a message indicating a video decoder call failure is received, and the historical call status is a voice call, the reason value for the call status change indicates that the reason for the call status change is that a video ringback tone needs to be played, and a second update message is sent.
[0039] In this embodiment, the need to send a second update message can be determined based on historical call status and / or the reason value for call status changes. An example is given below:
[0040] One implementation involves determining the need to send a second update message based on historical call status. Specifically, upon receiving a message indicating a video decoder call failure, if the historical call status is a voice call, it means the user initially intended to make a voice call. To improve call connection rates, a second update message can be sent. This second update message may include second indication information for closing the video port. For example, the second indication information could be a second video port number indicating the closure of the video port, which could be 0. For instance, the second indication information could include "video port = 0".
[0041] Another implementation involves determining the need to send a second update message based on the reason value for the call status change. Specifically, upon receiving a message indicating a video decoder call failure, if the reason value for the call status change indicates that the change is due to the need to play a video ringback tone file, and to improve call connection rates, a second update message can be sent. This second update message may include second indication information for closing the video port. For example, the second indication information could be a second video port number indicating that the video port is closed. The second video port number can be 0; for instance, the second indication information could include "video port = 0".
[0042] Another implementation method determines whether a second update message needs to be sent based on the reason value for the call status change and the historical call status. Specifically, if a video decoder call failure message is received, the historical call status needs to be an audio call, and the reason value for the call status change needs to indicate that the reason for the call status change is that a video ringback tone file needs to be played, then a second update message should be sent.
[0043] In one possible implementation, the method further includes:
[0044] The first terminal receives a second call request message sent by the network device. The second call request message may be sent by the second terminal to the network device, which then forwards the second call request message to the first terminal.
[0045] When the first terminal is configured with the video color vibration service, the first terminal receives a third update message sent by the network device. The third update message includes third indication information, which indicates that the first terminal needs to play a video color vibration file. Here, "the first terminal is configured with the video color vibration service" means that the user of the first terminal has subscribed to the video color vibration service, and the operator has configured the video color vibration service for the first terminal in the network device.
[0046] If the first terminal receives a message indicating that the video decoder call failed, it sends a fourth update message to the network device. The fourth update message includes a fourth indication, which indicates that the video color file does not need to be played. After receiving the third update message from the network device, the first terminal can determine that the video decoder needs to be called based on the first indication.
[0047] The first terminal plays a ringing tone.
[0048] Before the first terminal plays the ringing tone, it can also send a ringing message to the network device.
[0049] In this embodiment, when other terminals call the first terminal, the first terminal is configured with a video color vibration service. When the first terminal calls the video decoder, if the call to the video decoder fails, the first terminal will not send a cancel message to the network device to indicate that the call should be ended. Instead, it will send a fourth indication message to the network device indicating that the video color vibration file does not need to be played, thereby avoiding the failure of voice call connection due to the failure of calling the video decoder.
[0050] In one possible implementation, the third instruction information includes content:g.3gpp.crs.
[0051] By implementing this approach, the content:g.3gpp.cat in the existing protocol is used as a third instruction message to avoid introducing other information and save signaling overhead.
[0052] In one possible implementation, the third update message further includes a third video port number, which is used to indicate the port through which the first terminal receives the video color vibration file;
[0053] The fourth indication information includes a fourth video port number, which is used to indicate that the video port is closed. For example, if the fourth video port number is equal to 0, it means that the video port can be closed by setting the fourth video port number to 0, i.e., the video color vibration file does not need to be played.
[0054] By implementing this method, video port numbers can be used to indirectly indicate that video color vibration is not needed, thus avoiding the introduction of additional parameters to indicate that video color vibration files do not need to be played.
[0055] In one possible implementation, the first terminal plays a ringing tone, including:
[0056] The first terminal obtains an audio color vibration file from the network device and plays a ringtone according to the audio color vibration file; or...
[0057] The first terminal plays a ringing sound based on a locally stored audio file.
[0058] Implementing this method, if the first terminal is configured with an audio ringback tone, it can obtain the audio ringback file from the network device and play the ringtone based on the audio ringback file. If the first terminal is not configured with an audio ringback tone, it can also play the ringtone based on a locally saved audio file.
[0059] Even when the video decoder fails to be called, the ringtone can still be played, improving the voice call connection rate.
[0060] In one possible implementation, the method further includes:
[0061] Upon receiving a message indicating that the video decoder call was successful, the first terminal retrieves the video color file from the network device and plays the video color file.
[0062] In a second aspect, this application provides an electronic device comprising: one or more processors and a memory; the memory being coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, wherein the one or more processors invoke the computer instructions to cause the electronic device to perform a method as described in the first aspect or any possible implementation thereof, or the second aspect or any possible implementation thereof.
[0063] Thirdly, this application provides a chip system applied to an electronic device, the chip system including one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform a method as described in the first aspect or any possible implementation of the first aspect, or a method as described in the second aspect or any possible implementation of the second aspect.
[0064] Fourthly, this application provides a computer-readable storage medium including instructions that, when executed on an electronic device, cause the electronic device to perform a method as described in the first aspect or any possible implementation of the first aspect, or the second aspect or any possible implementation of the second aspect.
[0065] Fifthly, this application provides a computer program product containing instructions that, when the computer program product is run on an electronic device, cause the electronic device to perform the method as described in the first aspect or any possible implementation of the first aspect, or the method as described in the second aspect or any possible implementation of the second aspect. Attached Figure Description
[0066] Figure 1 This application provides a schematic diagram of the architecture of a communication system.
[0067] Figure 2 This application provides a schematic diagram of a signaling interaction process as an embodiment of the present application.
[0068] Figure 3 A signaling interaction flowchart for a calling terminal failing to call a video decoder, provided in an embodiment of this application;
[0069] Figure 4 This application provides a signaling interaction flowchart for a called terminal failing to call a video decoder, as shown in an embodiment of the present application.
[0070] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;
[0071] Figure 6 A schematic diagram of the software architecture of the electronic device provided in the embodiments of this application;
[0072] Figure 7 A schematic diagram of the signaling interaction process of a communication method provided in an embodiment of this application;
[0073] Figure 8 A schematic diagram of the signaling interaction process of a more detailed communication method provided in this application embodiment;
[0074] Figure 9 A schematic diagram of the signaling interaction process of another communication method provided in the embodiments of this application;
[0075] Figure 10 A schematic diagram of the signaling interaction process of a more detailed communication method provided in this application embodiment;
[0076] Figure 11 This is a schematic diagram of the hardware structure of a network device provided in an embodiment of this application. Detailed Implementation
[0077] In this embodiment of the application, unless otherwise stated, the character " / " indicates that the preceding and following objects are in an OR relationship. For example, A / B can represent A or B. "AND / OR" describes the relationship between the associated objects, indicating that three relationships can exist. For example, A AND / OR B can represent: A existing alone, A and B existing simultaneously, and B existing alone.
[0078] It should be noted that the terms "first" and "second" used in the embodiments of this application are used only for distinguishing descriptive purposes and should not be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated, nor should they be construed as indicating or implying order.
[0079] In the embodiments of this application, "at least one" refers to one or more items, and "more than one" refers to two or more items. Furthermore, "at least one of the following" or similar expressions refer to any combination of these items, which may include any combination of a single item or a plurality of items. For example, at least one of A, B, or C can represent: A, B, C, A and B, A and C, B and C, or A, B, and C. Each of A, B, and C can be an element itself or a set containing one or more elements.
[0080] In this application, terms such as "exemplary," "in some embodiments," and "in another embodiment" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.
[0081] In the embodiments of this application, the terms "of," "corresponding (relevant)," and "corresponding" can sometimes be used interchangeably. It should be noted that when their distinction is not emphasized, their meanings are consistent. In the embodiments of this application, "communication" and "transmission" can sometimes be used interchangeably. It should be noted that when their distinction is not emphasized, their meanings are consistent. For example, transmission can include sending and / or receiving, and can be a noun or a verb. In the embodiments of this application, "equal to" can be used with "greater than" to apply to technical solutions used when "greater than," and can also be used with "less than" to apply to technical solutions used when "less than." It should be noted that when "equal to" is used with "greater than," it cannot be used with "less than"; and when "equal to" is used with "less than," it cannot be used with "greater than."
[0082] To facilitate a clear description of the technical solutions in the embodiments of this application, some terms involved in the embodiments of this application will be briefly introduced below.
[0083] 1. Calling terminal and called terminal
[0084] The calling terminal can be referred to as the calling end or the calling party. In this embodiment, it can be an electronic device that actively initiates a call, and its user can be referred to as the calling user. Correspondingly, the called terminal can also be referred to as the called end or the called party. In this embodiment, it can be an electronic device that receives a call request initiated by the calling terminal, and its user can be referred to as the called user. For example, for two electronic devices equipped with Subscriber Identity Module (SIM) cards (assuming the two electronic devices are electronic device 1 and electronic device 2, and the SIM cards they are equipped with correspond to mobile phone numbers No.1 and No.2, respectively), electronic device 1 can make a call to electronic device 2 by dialing mobile phone number No.2. In this case, electronic device 1 is the calling terminal, and electronic device 2 is the called terminal.
[0085] 2. Value-added services for phone calls
[0086] In this application embodiment, the value-added call service refers to providing media content (e.g., audio and / or video media content) to terminal devices that have subscribed to the value-added call service during a call. Exemplarily, the value-added call service includes ringback tone service and / or ringing tone service. The ringback tone service provides media content to the calling terminal device after the called terminal device rings, allowing the calling user to enjoy an audio-visual experience while waiting for the call. The ringback tone service can also be called a customized alerting tones (CAT) service. The ringing tone service provides media content to the called terminal device after the called terminal device rings, allowing the called user to enjoy an audio-visual experience. The ringing tone service can also be called a customized ringing signal (CRS) service.
[0087] Taking ringback tone service as an example, after the calling terminal initiates a call request to the called terminal in the IMS network (or IMS domain), while the calling terminal is waiting to establish a media session with the called terminal, the IMS network provides the calling terminal with audio and video resources under the ringback tone service. This allows the calling user to enjoy colorful and interesting video or audio during the call waiting process, thus ensuring that the called terminal has sufficient time to establish the necessary bearer resources for the media session before the call is answered. Therefore, the ringback tone service can increase the fun of the call waiting process and greatly improve the call connection rate.
[0088] 3. Video ringback tones and video vibration
[0089] Ringback tone services can include video ringback tone services. Video ringback tone refers to a service subscribed to by the called user through an operator. When a calling user calls a called user who has subscribed to the video ringback tone value-added service, the calling user's terminal ringback tone is replaced by a video (i.e., a video ringback tone file). For video ringback tone services, the calling terminal should support the display and playback of the video ringback tone during the audio and video call ringing phase, according to the video ringback tone media negotiation requirements, and should also support resuming the call between the calling and called parties as needed.
[0090] Color ringback service can include video color ringback service, which is a service that the called user subscribes to with the operator. The called user's terminal ringtone is replaced by a video (i.e., a video color ringback file). For video color ringback service, the called terminal should support the display and playback of video color ringback during the ringing phase of the audio and video call, according to the video color ringback media negotiation requirements, and should also support the restoration of the call between the calling and called parties as needed.
[0091] 4. Session Initialization Protocol (SIP)
[0092] The communication protocol between the calling terminal and IMS, or between IMS and the called terminal, includes SIP. It is understood that during a call, both ends need to transmit various signaling messages. In the SIP protocol, these signaling messages are IP data packets of a pre-defined format, called SIP messages. That is, there are various SIP messages during a call, and each message is an IP data packet. The SIP messages involved in the call service in this application embodiment are as follows:
[0093] (1) invite message: The invite message can be called a SIP request message, which is used to indicate that the calling user initiates a call request and invites other users to join a session. The invite message can also be understood as a call request message.
[0094] (2) 100trying message: The 100trying message is a temporary response message (a temporary response message is used to indicate that the request has been accepted but needs to be processed). It is used to respond to the invite message, indicating that the end that made the 100trying response has received the invite message and is processing some operations to complete the request. The 100trying message can also be understood as a 100 try call message or a try call message.
[0095] (3) 183 message: The 183 message is also known as the 183 session progress message. It is a temporary response message that indicates that some operations are being processed to complete the invite request; the 183 session progress message can also be understood as a session progress message.
[0096] (4) update message: The update message is a request message. The update message is used to indicate that the end sending the update has prepared the audio and video ports, encoding formats and other resources required for the session with the other end. It can also be understood as the end sending the update notifying the other end that it has prepared the session resources and requesting the other end to respond to the update message.
[0097] (5) 200 OK message: The 200 OK message is a response message that confirms completion, such as when responding to an update message. When the 200 OK message is used to respond to an update message, it indicates that the end that sent the 200 OK message has also prepared the audio and video ports, encoding formats and other resources required to have a session with the other end. In other words, both ends that are about to establish a session have prepared the session resources.
[0098] (6) 180ringing message: The 180ringing message is a response message used to indicate to the calling terminal that the called terminal has started ringing.
[0099] (7) Cancel message
[0100] The cancel message, also known as a hang-up message, may include a Reason header field. For example, the Reason header field format can be: Reason: SIP; cause = 500; text = "Calling terminal internal error". Here, the SIP field represents the protocol name, the cause field represents the exception code, and the text field provides an explanation of the exception code. For instance, a cancel message with the above Reason header field format indicates that the protocol is SIP, the exception code is 500, and the explanation is an internal error on the calling terminal's end.
[0101] 5. Resource reservation (precondition) mechanism
[0102] In the SIP protocol of the IMS network, the resource reservation mechanism uses the invite / 183 message to negotiate the Session Description Protocol (SDP). The local end can indicate that resource reservation is complete by carrying SDP information in the update message, and the remote end can indicate that resource reservation is complete by carrying SDP information in the 200 OK message following the update message. The precondition mechanism needs to extend the precondition-related attributes in the SDP information. If the SDP negotiation result supports preconditioning, the bearer plane resources will be reserved before ringing, ensuring that resources are ready when the user rings, thus improving call connection rates.
[0103] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0104] The method provided in this application can be used in various communication systems. For example, the communication system can be a long-term evolution (LTE) system, a 5G communication system, a wireless-fidelity (WiFi) system, a 3GPP-related communication system, a future evolution communication system, or a system integrating multiple systems, etc., without limitation. Among them, 5G can also be referred to as new radio (NR).
[0105] Please refer to Figure 1 , Figure 1This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application. The communication system includes: a calling terminal 10, an IMS network 20, and a called terminal 30.
[0106] The calling terminal 10 and / or the called terminal 30 are used to provide voice / data connectivity to the user. These may include handheld devices or vehicle-mounted devices with wireless connectivity, or smartphones, mobile stations (MS), mobile terminals (MT), etc., hereinafter also referred to as terminal equipment. The calling terminal and / or the called terminal can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water (such as ships); and they can also be deployed in the air (such as airplanes, balloons, and satellites). The calling terminal and / or called terminal can be a terminal device that can access a mobile network, such as a mobile phone, tablet, computer with wireless transceiver capabilities, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc.
[0107] IMS network 20 refers to the operator network that provides data transmission services to users, including the calling IMS accessed by the calling terminal 10 and the called IMS accessed by the called terminal 30. IMS network 20 specifically includes the access layer, the IMS core network, and the evolved packet core (EPC).
[0108] The access layer is used to implement wireless physical layer functions, resource scheduling and wireless resource management, wireless access control, and mobility management functions. The access layer includes devices with central control functions, such as macro base stations, micro base stations, hotspots (pico), femeto base stations, transport points (TP), relays (relay), and access points (AP). These base stations can be access network devices such as eNodeBs (eNB) in Long Term Evolution (LTE) and gNodeBs (gNB) in New Radio (NR).
[0109] The IMS core network includes: a customized alerting tones (CAT) application server (AS), a media resource function (MRF) server, a serving-call session control function (S-CSCF), an interrogating-call session control function (I-CSCF), a proxy-call session control function (P-CSCF), a home subscriber server (HSS), a session border controller (SBC), and several dedicated servers, such as a telephone application server (TAS). It should be noted that, in addition to... Figure 1 In addition to the core network equipment shown, the IMS network 20 may also include other core network equipment, which will not be described in detail in this application.
[0110] The CAT AS is used to provide audio and video media playback for the calling terminal 10. The audio and video media played by the calling terminal 10 is stored in the MRF and provided to the calling terminal 10 by the MRF. The S-CSCF can be used for user registration, authentication control, session routing, and service triggering control, and to maintain session state information. The I-CSCF can be used for assigning and querying user-registered S-CSCFs. The P-CSCF can be used for signaling and message brokering. The HSS can be used to store user subscription information and location information. The SBC can provide secure access and media processing. The TAS provides basic and supplementary multimedia telephony services. The MME is the core equipment of the EPC network. The SGW can be used to connect the IMS core network and the wireless network, and the PGW can be used to connect the IMS core network and the IP network.
[0111] For example, when the calling terminal 10 calls the called terminal 30, that is, when the calling terminal 10 initiates a call request to the called terminal device 30, the calling terminal 10 can transmit the initiated call request to the core network of the calling IMS through the access method provided by the access layer of the IMS network 20 (such as 4G access, 5G access, WiFi access, etc.). The core network of the calling IMS processes the call request initiated by the calling terminal 10 accordingly and sends the processed call request to the called terminal 30.
[0112] It is understandable that the technology by which the calling terminal 10 conducts voice and video calls with the called terminal 30 via a WiFi network device using dial-up is called Voice over WiFi (VoWiFi). The technology by which the calling terminal 10 conducts voice and video calls with the called terminal 30 via an LTE network device using dial-up is called Voice over LTE (VoLTE). The technology by which the calling terminal 10 conducts voice and video calls with the called terminal 30 via NR equipment or standalone (SA) equipment using dial-up is called Voice over NewRadio (VoNR).
[0113] It should be noted that the above description does not constitute a limitation on the system architecture diagram of the embodiments of this application. The system architecture diagram of the embodiments of this application includes, but is not limited to, those shown in the following figures. Figure 1 As shown.
[0114] The following is based on Figure 1 The communication system shown is used to illustrate the signaling interaction process during the process of the calling terminal calling the called terminal.
[0115] Please see Figure 2 , Figure 2 This is a schematic diagram of a signaling interaction process provided in an embodiment of this application. Figure 2 Taking the example of a called user subscribing to video ringback tones and video ringing services, in real-world scenarios, the called user might subscribe to only the video ringback tones service and not the video ringing service, or vice versa. Understandably, if the called user only subscribes to the video ringback tones service, the calling terminal and the IMS network will negotiate video resource reservation, but the called terminal and the IMS network will not. Conversely, if the called user only subscribes to the video ringing service, the called terminal and the IMS network will negotiate video resource reservation, but the calling terminal and the IMS network will not. Figure 2 The example provided illustrates how, during the video resource reservation negotiation process between the calling terminal and the IMS network, the calling terminal successfully invoked the video decoder, and how, during the video resource reservation negotiation process between the called terminal and the IMS network, the called terminal successfully invoked the video decoder.
[0116] like Figure 2 As shown, the signaling interaction process may include, but is not limited to, the following steps, or may include some of the following steps. The execution order of the following steps is not limited:
[0117] 201. The calling terminal sends an invite message to the IMS network.
[0118] Correspondingly, the IMS network receives the invite message and can determine whether the calling terminal supports resource reservation based on the invite message. If the first SDP information carried in the invite message includes a precondition field, it indicates that the calling terminal supports the resource reservation mechanism. The first SDP information is used to indicate to the IMS network the audio ports and encoding formats supported by the calling terminal, as well as to indicate to the IMS network the resources reserved for transmitting voice service data for the calling terminal.
[0119] 202, the IMS network sends a 100 trying message to the calling terminal.
[0120] The 100 Trying message is a temporary response message (a temporary response message is used to indicate that the request has been accepted but needs to be processed further). It is used to respond to the invite message, indicating that the IMS network has received the invite message and is processing some operations to complete the request; the 100 Trying message can also be understood as a 100 Try Call message or a Try Call message.
[0121] 203. The IMS network sends an invite (call request) message to the called terminal.
[0122] After receiving an invite message from the calling terminal, the IMS network can send the invite (call request) message to the called terminal. Correspondingly, the called terminal receives the invite message.
[0123] 204, the called terminal sends a 100 trying message to the IMS network.
[0124] The 100trying message is used in response to the invite message, indicating that the called terminal has received the invite message and is processing some operations to complete the request.
[0125] 205, the called terminal sends a 183 message to the IMS network.
[0126] Correspondingly, the IMS network receives the 183 message and can determine whether the called terminal supports the resource reservation mechanism based on the 183 message. If the second SDP information carried in the 183 message includes a precondition field, it indicates that the called terminal supports the resource reservation mechanism. The second SDP information is used to indicate to the IMS network the audio ports and encoding formats supported by the called terminal, as well as to indicate to the IMS network that resources are reserved for transmitting voice service data for the called terminal.
[0127] 206. The IMS network sends a 183 message to the calling terminal.
[0128] The 183 message carries a precondition field, which indicates that the called terminal supports the resource reservation mechanism.
[0129] 207. The calling terminal and the IMS network negotiate the reservation of audio resources.
[0130] Specifically, the calling terminal sends an update message to the IMS network to indicate that it has prepared the necessary resources for the session, such as audio ports and encoding formats. The IMS network replies with a 200 OK message, which indicates that it has completed the reservation of audio resources.
[0131] 208. The called terminal and the IMS network negotiate the reservation of audio resources.
[0132] Specifically, the IMS network sends an update message to the called terminal to indicate that the IMS network has prepared the necessary resources for the session, such as audio ports and encoding formats. The called terminal replies with a 200 OK message to the IMS network to indicate that the called terminal has completed the reservation of audio resources.
[0133] 209. The IMS network sends an update message 1 to the calling terminal.
[0134] The update message 1 carries SDP information, including content: g.3gpp.cat. This content: g.3gpp.cat indicates that a video ringback tone is required for this call, meaning the calling terminal needs to play a video ringback tone. This SDP information may also include audio and video description information for the video media, such as the encoding and decoding methods, video port number, and access address of the available video media provided by the IMS network, to facilitate negotiation with the calling terminal regarding the video media.
[0135] It's important to note that the video port number indicates the port on which the calling terminal receives the video ringback tone file. In other words, the calling terminal receives the video ringback tone file on the video port corresponding to that video port number. Correspondingly, the IMS network will send the video ringback tone file to the calling terminal via the video port corresponding to that video port number. For example, if the video port number is 39022, the calling terminal receives the video ringback tone file on the video port corresponding to 39022.
[0136] SDP information can also include QoS parameters for video media, allowing the calling terminal to reserve resources based on these QoS parameters.
[0137] 210, The calling terminal sends a 200 OK message 1 to the IMS network.
[0138] The 200 OK message 1 is used to respond to the update message 1 sent by the IMS network to the calling terminal.
[0139] 211, The calling terminal invokes the video decoder and confirms that the invocation of the video decoder was successful.
[0140] Upon receiving update message 1, the calling terminal determines, based on the content:g.3gpp.cat in update message 1, that it needs to play a video ringback tone; that is, content:g.3gpp.cat is the identifier for the video ringback tone. The fact that the calling terminal receives update message 1 including content:g.3gpp.cat indicates that it needs to switch its display interface to a video playback interface. At this time, the calling terminal will invoke a video decoder to prepare for decoding the video ringback tone file sent by the IMS network.
[0141] It should be noted that the execution order of step 211 is not restricted. For example, step 211 can be executed at any step after step 209 (i.e., receiving update message 1) and before step 222 (i.e., playing video ringback tone).
[0142] 212, The calling terminal sends an update message 2 to the IMS network.
[0143] The update message 2 includes the calling terminal's SDP information, which is used to indicate to the IMS network that the calling terminal has completed resource reservation.
[0144] 213, The IMS network sends a 200 OK message to the calling terminal.
[0145] After determining that it has completed the resource reservation for video media, the IMS network sends a 200 OK message 2 to the calling terminal in response to update message 2, indicating to the calling terminal that the IMS network has completed the resource reservation.
[0146] 214. The IMS network sends an update message to the called terminal.
[0147] The update message 3 carries SDP information, including content:g.3gpp.crs. This content:g.3gpp.crs indicates that the call requires playback of the video color filter; in other words, content:g.3gpp.crs is the identifier for the video color filter. When the called terminal receives update message 3 containing content:g.3gpp.crs, it determines that its display interface needs to be switched to a video playback interface in preparation for decoding the video color filter file sent by the IMS network.
[0148] The SDP information may also include audio and video description information of the video media, such as the encoding method, decoding method, video port number, access address, etc. of the available video media provided by the IMS network, in order to achieve negotiation with the called terminal regarding the video media.
[0149] It should be noted that the video port number indicates the port on which the called terminal receives the video replay file. In other words, the called terminal receives the video replay file on the video port corresponding to the specified video port number. Correspondingly, the IMS network will send the video replay file to the called terminal via the video port corresponding to that video port number. For example, if the video port number is 10022, the called terminal will receive the video replay file on the video port corresponding to 10022.
[0150] SDP information can also include QoS parameters for video media, allowing the called terminal to reserve resources based on these QoS parameters.
[0151] 215, The called terminal sends a 200 OK message to the IMS network.
[0152] The 200 OK message 3 is used to respond to the update message 3 sent by the IMS network to the calling terminal.
[0153] 216. The called terminal invokes the video decoder and confirms that the invocation of the video decoder was successful.
[0154] Upon receiving update message 3, the called terminal determines, based on the content:g.3gpp.crs in update message 3, that it needs to play a video color filter; that is, content:g.3gpp.crs is the identifier for the video color filter. The fact that the called terminal receives update message 3 including content:g.3gpp.crs indicates that it needs to switch its display interface to a video playback interface. At this time, the called terminal will invoke the video decoder to prepare for decoding the video color filter file sent by the IMS network.
[0155] It should be noted that the execution order of step 216 is not restricted. For example, it can be executed at any step after step 214 (i.e., receiving update message 3) and before step 220.
[0156] 217. The called terminal sends an update message 4 to the IMS network.
[0157] The update message 4 includes the called terminal's SDP information, which is used to indicate to the IMS network that the called terminal has completed resource reservation.
[0158] 218. The IMS network sends a 200 OK message to the called terminal.
[0159] After determining that it has completed the resource reservation for video media, the IMS network sends a 200 OK message 4 to the called terminal in response to update message 4, indicating to the called terminal that the IMS network has completed the resource reservation.
[0160] Steps 209, 210, 212, and 213 can be understood as video resource reservation negotiation between the IMS network and the calling terminal, while steps 214, 215, 217, and 218 can be understood as video resource reservation negotiation between the IMS network and the called terminal.
[0161] If the called user has subscribed to the video ringback tone service, the IMS network and the calling terminal will negotiate the reservation of video resources. If the called terminal has subscribed to the video ringback tone service, the IMS network and the called terminal will negotiate the reservation of video resources.
[0162] 219. The called terminal sends a 180 ringing message to the IMS network.
[0163] The 180ringing message is used to instruct the called terminal to start ringing.
[0164] 220, the called terminal plays a video in color.
[0165] Specifically, after the IMS network and the called terminal complete the negotiation of video media, and both the IMS network and the called terminal reserve network resources for the video media, the IMS network can initiate the video media playback process. In one implementation, the IMS network can send the corresponding video color display file media data to the called terminal through the video port indicated in update message 3. The called terminal receives the video color display file media data through the video port indicated in update message 3 and plays the video color display file based on the received media data. In another implementation, the called terminal can obtain the video color display file media data from the IMS network according to the access address indicated in update message 3 and play the video color display file based on the obtained media data.
[0166] 221. The IMS network sends a 180 ringing message to the calling terminal.
[0167] Specifically, after the calling terminal and the IMS network negotiate resource reservation, the IMS network sends a 180 ringing message to the calling terminal.
[0168] 222, the calling terminal plays a video ringback tone.
[0169] Specifically, after the IMS network and the calling terminal complete the negotiation of video media, and both the IMS network and the calling terminal reserve network resources for the video media, the IMS network can initiate the video media playback process. In one implementation, the IMS network can send the media data of the corresponding video ringback tone file to the calling terminal through the video port indicated in update message 1. The calling terminal receives the media data of the video ringback tone file at the video port indicated in update message 1 and plays the video ringback tone based on the received media data. In another implementation, the calling terminal can obtain the media data of the video ringback tone file from the IMS network according to the access address indicated in update message 1, and play the video ringback tone based on the obtained media data.
[0170] 223, The called terminal sends a 200 OK message (responding to the invite message) to the IMS network.
[0171] Among them, message 200OK5 is used to respond to the invite message in step 201, indicating that the called terminal has gone off-hook.
[0172] 224. The IMS network sends an update message to the calling terminal.
[0173] 225. The IMS network sends an update message to the called terminal.
[0174] After receiving a 200 OK message from the called terminal, the IMS network can send an update message 5 to the calling terminal and an update message 6 to the called terminal.
[0175] The update message 5 can be used to instruct the calling terminal to turn off video ringback tones. For example, update message 5 carries SDP information, and the video portion of the SDP information carries the parameter m = video 0, which indicates that video ringback tones should be turned off.
[0176] The update message 6 can be used to instruct the called terminal to turn off video color vibration. For example, update message 6 carries SDP information, and the video portion of the SDP information carries the parameter m = video 0, which indicates that video color vibration should be turned off.
[0177] 226. The calling terminal sends a 200 OK message to the IMS network.
[0178] Among them, 200 OK message 5 is used to respond to update message 5.
[0179] 227. The called terminal sends a 200 OK message to the IMS network.
[0180] Among them, 200 OK message 6 is used to respond to update message 6.
[0181] 228, The calling terminal stops playing the video ringback tone.
[0182] Upon receiving a 200 OK message 5, the IMS network can stop transmitting video media stream data to the calling terminal, thereby causing the calling terminal to stop playing video ringback tones.
[0183] 229. The called terminal stops playing video vibration.
[0184] Upon receiving a 200 OK message, the IMS network can stop transmitting video media stream data to the called terminal, thereby causing the called terminal to stop playing video.
[0185] 230. The IMS network sends a 200 OK message (responding to the invite message) to the calling terminal.
[0186] The 200 OK message is used in response to the invite message in step 201, indicating that the called terminal has gone off-hook.
[0187] 231. The calling terminal sends an ACK to the IMS network.
[0188] 232, the IMS network sends an ACK to the called terminal.
[0189] ACK is used to indicate to the called terminal that the calling terminal has received the called terminal's final response to the call request.
[0190] 233, the calling terminal and the called terminal establish a call.
[0191] It should be noted that when the called terminal only subscribes to the ringback tone service, the calling terminal and the IMS network negotiate resource reservation for the ringback tone service. When the called terminal only subscribes to the ringback tone service, the called terminal and the IMS network negotiate resource reservation for the ringback tone service. When the called terminal subscribes to both the ringback tone and ringback tone services, the calling terminal and the IMS network negotiate resource reservation for both services.
[0192] based on Figure 2 The flowchart shown illustrates the process if the calling terminal and IMS network fail to call the video decoder during video resource reservation negotiation. Refer to the flowchart for further instructions. Figure 3 The signaling interaction flow of the embodiment shown. Figure 3 The signaling interaction process shown may include, but is not limited to, the following steps, and the execution order of the following steps is not limited:
[0193] 301, the calling terminal sends an invite message to the IMS network.
[0194] 302, the IMS network sends a 100 trying message to the calling terminal.
[0195] 303, the IMS network sends an invite (call request) message to the called terminal.
[0196] 304, the called terminal sends a 100 trying message to the IMS network.
[0197] 305, the called terminal sends a 183 message to the IMS network.
[0198] 306. The IMS network sends a 183 message to the calling terminal.
[0199] 307. The calling terminal and the IMS network negotiate the reservation of audio resources.
[0200] 308, The called terminal and the IMS network negotiate the reservation of audio resources.
[0201] 309, The IMS network sends an update message 1 to the calling terminal.
[0202] Steps 301-309 of the embodiments of this application can be referred to. Figure 2 Steps 201-209 of the embodiment will not be repeated here.
[0203] 310, The calling terminal invoked the video decoder and determined that the invocation of the video decoder failed.
[0204] Upon receiving update message 1, the calling terminal determines, based on the content: g.3gpp.cat in update message 1, that it needs to play a video ringback tone. Therefore, the calling terminal will invoke the video decoder to prepare for decoding the video ringback tone file sent by the IMS network. If the calling terminal fails to invoke the video decoder, step 312 is executed.
[0205] It should be noted that the execution order of step 310 is not restricted. The calling terminal can invoke the video decoder in parallel with one or more of the following steps (the following one or more steps) Figure 3 (Not illustrated in the text), meaning that step 310 can be a step before or after any of the following steps: The calling terminal sends a 200 OK message 1 (see details). Figure 2 Step 210): The calling terminal sends update message 2 (see details). Figure 2 Step 212), IMS network sends 200 OK message 2 (see details) Figure 2 Step 213) The IMS network sends a 180 ringing message (see details). Figure 2 Step 221).
[0206] The failure of the calling terminal to call the video decoder may be due to the failure to initialize the video decoder when the calling terminal is powered on, which leads to the failure of the calling terminal to call the video decoder in the future. Alternatively, the failure of the calling terminal to call the video decoder may be due to the video decoder being occupied and thus unable to be called.
[0207] 311, Negotiation of video resource reservation between the IMS network and the called terminal.
[0208] If the called terminal has activated the video color vibration service, the IMS network and the called terminal negotiate the reservation of video resources, i.e., step 311 is executed. If the called terminal has not activated the video color vibration service, step 311 is not executed.
[0209] 312, The calling terminal sends a cancel message to the IMS network.
[0210] If the calling terminal fails to invoke the video decoder, it will send a cancel message to the IMS network to indicate that the call is ending. If the calling terminal successfully invokes the video decoder, please refer to the instructions below. Figure 2 The steps of the embodiment.
[0211] It should be noted that the cancel message carries an exception code, which indicates an internal error in the calling terminal.
[0212] Specifically, the cancel message may include a Reason header field. For example, the format of the Reason header field can be: Reason: SIP; cause = 500; text = "Calling terminal internal error". Here, the SIP field represents the protocol name, the cause field represents the exception code, and the text field provides an explanation of the exception code. For instance, a cancel message with the above-formatted Reason header field indicates that the protocol is SIP, the exception code is 500, and the explanation is an internal error on the calling terminal's end.
[0213] 313, IMS network disconnects the call.
[0214] Depend on Figure 3 It is evident that a failure to access the video decoder by the calling terminal will result in a failed voice call. As the above process shows, when a calling user initiates a voice call, the call is simply disconnected because the calling terminal cannot play the video ringback tone, thus reducing the probability of the voice call being connected and lowering the user experience.
[0215] Based on this, this application provides a communication method in which, when the calling terminal fails to call the video decoder, it does not send a cancel message to the IMS network (i.e., it does not execute step 312), but instead sends an instruction to the IMS network to indicate that the video ringback tone is turned off. After receiving the instruction, the IMS network does not send the media data of the video ringback tone file to the calling terminal. The IMS network can send the media data of the audio ringback tone file to the calling terminal so that the calling terminal can play the audio as a ringback tone, or the calling terminal can play a locally saved audio file to achieve the ringback tone playback, thereby avoiding hanging up the phone due to the calling terminal's failure to call the video decoder.
[0216] Similarly, based on Figure 2 The flowchart shown illustrates how, if the called terminal and the IMS network fail to call the video decoder during the video resource reservation negotiation process, the following steps can be taken: Figure 4 The signaling interaction flow of the embodiment shown. Figure 4 The signaling interaction process shown may include, but is not limited to, the following steps, and the execution order of the following steps is not limited:
[0217] 401, the calling terminal sends an invite message to the IMS network.
[0218] 402, the IMS network sends a 100 trying message to the calling terminal.
[0219] 403, the IMS network sends an invite (call request) message to the called terminal.
[0220] 404, the called terminal sends a 100 trying message to the IMS network.
[0221] 405, the called terminal sends a 183 message to the IMS network.
[0222] 406, the IMS network sends a 183 message to the calling terminal.
[0223] 407, The calling terminal and the IMS network negotiate the reservation of audio resources.
[0224] 408 indicates that the called terminal and the IMS network are negotiating the reservation of audio resources.
[0225] Please refer to steps 401-408 of the embodiments of this application. Figure 2 Steps 201-208 of the embodiment will not be repeated here.
[0226] 409. Negotiation of video resource reservation between the IMS network and the calling terminal.
[0227] If the called terminal has activated the video ringback tone service, the IMS network and the called terminal negotiate video resource reservation, i.e., step 409 is executed. If the called terminal has not activated the video ringback tone service, step 409 is not executed.
[0228] For video resource reservation negotiation between the IMS network and the calling terminal, please refer to [reference needed]. Figure 2 Examples are not described in detail here.
[0229] 410, The IMS network sends an update message to the called terminal.
[0230] Please refer to step 410 of the embodiment of this application. Figure 2 Step 217 of the embodiment.
[0231] 411, The called terminal called the video decoder and determined that the call to the video decoder failed.
[0232] Upon receiving update message 3, the called terminal determines, based on the content: g.3gpp.crs in update message 3, that it needs to play a color video stream. Therefore, the called terminal will invoke the video decoder to prepare for decoding the color video stream file sent by the IMS network. If the called terminal fails to invoke the video decoder, step 412 is executed.
[0233] It should be noted that the execution order of step 411 is not restricted; the called terminal can invoke the video decoder in parallel with one or more of the following steps (the following one or more steps...). Figure 4 (Not illustrated in the text), meaning that step 411 can be a step before or after any of the following steps: the called terminal sends a 200 OK message 3 (see details). Figure 2 Step 215), the called terminal sends update message 4 (see details). Figure 2 Step 217), IMS network sends 200 OK message 4 (see details) Figure 2 Step 218) The called terminal sends a 180 ringing message (see details). Figure 2 Step 219).
[0234] The failure of the called terminal to call the video decoder may be due to the failure to initialize the video decoder when the called terminal is powered on, which leads to the failure of the called terminal to call the video decoder subsequently. Alternatively, the failure of the called terminal to call the video decoder may be due to the video decoder being occupied, making it impossible to call.
[0235] 412, The called terminal sends a cancel message to the IMS network.
[0236] If the called terminal fails to invoke the video decoder, it will send a cancel message to the IMS network, indicating that the call should be ended. If the called terminal successfully invokes the video decoder, please refer to the instructions below. Figure 2 The steps of the embodiment.
[0237] It should be noted that the cancel message carries an exception code, which indicates an internal error in the called terminal.
[0238] Specifically, the cancel message may include a Reason header field. For example, the format of the Reason header field can be: Reason: SIP; cause = 500; text = "Called terminal internal error". Here, the SIP field represents the protocol name, the cause field represents the exception code, and the text field provides an explanation of the exception code. For instance, a cancel message with the above-formatted Reason header field indicates that the protocol is SIP, the exception code is 500, and the explanation is an internal error in the called terminal.
[0239] 413, IMS network disconnects the call.
[0240] Depend on Figure 4 As can be seen, a failure to call the video decoder by the called terminal will lead to a failure of the voice call. As can be seen from the above process, when the calling user initiates a voice call, the voice call is simply disconnected because the called terminal cannot play the video signal, which reduces the probability of the voice call being connected and provides a poor user experience.
[0241] Based on this, this application provides a communication method in which, when the called terminal fails to call the video decoder, it does not send a cancel message to the IMS network (i.e., it does not execute step 412), but instead sends an instruction message to the IMS network to indicate that the video color vibration should be turned off. After receiving the instruction message, the IMS network will not send the media data of the video color vibration file to the called terminal. The IMS network can send the media data of the audio color vibration file to the called terminal so that the called terminal can play the audio color vibration as a ringing signal, or the called terminal can play a locally saved audio file to achieve ringing playback, thereby avoiding hanging up the phone due to the called terminal's failure to call the video decoder.
[0242] In the embodiments of this application, the calling terminal and the called terminal can be electronic devices.
[0243] Electronic devices can be smart screen devices, smart TVs (TV), mobile phones, tablets, ultra-mobile personal computers (UMPC), netbooks, as well as cellular phones, personal digital assistants (PDAs), wearable devices (such as smartwatches and smart bracelets), and other devices with communication functions. This application does not impose any special restrictions on the specific form of electronic devices.
[0244] For example, taking a mobile phone as an electronic device, Figure 5 This is a schematic diagram of the structure of an electronic device 10 provided in an embodiment of this application. That is, exemplary, Figure 5The electronic device shown could be a mobile phone.
[0245] like Figure 5 As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0246] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0247] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.
[0248] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.
[0249] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0250] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0251] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.
[0252] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.
[0253] The wireless communication function of electronic device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor, and baseband processor. If electronic device 100 accesses the internet via mobile communication module 150, it can be understood as accessing the internet via a cellular network. If electronic device 100 accesses the internet via wireless local area networks (WLANs) in wireless communication module 160, it can be understood as accessing the internet via wireless fidelity (WiFi). Users can choose to access the internet via mobile communication module 150 or wireless communication module 160, and can switch between the two communication modules. For example, a user can disconnect WiFi and use cellular network communication, or vice versa.
[0254] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0255] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0256] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.
[0257] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0258] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0259] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0260] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0261] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0262] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, converting it into an image visible to the naked eye. The ISP can also perform algorithmic optimization on image noise and brightness. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0263] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0264] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.
[0265] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0266] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0267] Internal memory 121 can be used to store computer executable program code, which includes instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located in the processor.
[0268] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0269] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0270] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0271] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0272] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0273] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0274] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0275] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0276] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
[0277] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. For example, a layered architecture software system can be the Android system, the Harmony operating system (OS), or other software systems. This application embodiment uses the layered architecture Android system as an example to illustrate the software structure of electronic device 100.
[0278] Figure 6 This is a schematic diagram of the software architecture of an electronic device 100 provided in an embodiment of this application.
[0279] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In one implementation, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0280] The application layer can include a series of application packages.
[0281] like Figure 6 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS. The applications in this application can also be replaced with other software such as mini-programs or atomic services.
[0282] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0283] like Figure 6 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, video decoder, etc.
[0284] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0285] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0286] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.
[0287] A phone manager is used to provide communication functions for electronic devices. For example, it manages call status (including connection and disconnection).
[0288] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0289] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of download completion or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, causing the device to vibrate, or flashing indicator lights.
[0290] Video decoders are used to provide video decoding for applications, facilitating video display and playback on the application's interface. For example, when a calling application at the calling terminal's application layer dials a called user, if the called user has subscribed to a video ringback tone, the IMS network sends the media data of the video ringback tone file to the calling terminal. This media data can be decoded by the video decoder at the application framework layer, and the calling application's interface on the calling terminal will play the video ringback tone. If the called user has subscribed to a video ringback tone, the IMS network sends the media data of the video ringback tone file to the called terminal. This media data can be decoded by the video decoder at the called terminal's application framework layer, and the calling application's interface on the called terminal will play the video ringback tone.
[0291] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
[0292] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0293] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0294] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.
[0295] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.
[0296] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
[0297] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0298] A 2D graphics engine is a graphics engine for 2D drawing.
[0299] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0300] The following example, using a phone call scenario, illustrates the workflow of the software and hardware of an electronic device.
[0301] For an electronic device as the calling terminal, the calling terminal's call application sends the corresponding data to the mobile communication module 150. The mobile communication module 150 generates an invite message through the modulator in the modem and converts the invite message into electromagnetic waves through antenna 1. The invite message is transmitted to the network device in the IMS network, and the network device then forwards the invite message to the called terminal.
[0302] When the called terminal has activated video ringback tones, the network equipment in the IMS network sends an update message to the calling terminal to negotiate video resource reservation. The calling terminal receives electromagnetic waves through antenna 1, and the demodulator in the calling terminal's modem demodulates the electromagnetic waves to obtain the update message, which indicates that the video ringback tone needs to be played. The modem can indicate a call status change to the IMS Video Telephony (IMSVT) module in the application layer, indicating that the call has changed from a voice call to a video call. The IMSVT module in the application layer calls the video decoder in the application framework layer. If the call fails, the IMSVT module in the application layer sends a command to the modem indicating that the call to the video decoder failed. The modem then sends an update message to the network equipment in the IMS network, which indicates that the video ringback tone should be turned off. Specifically, the modulator in the modem generates an update message and radiates it as electromagnetic waves through antenna 1. Since the update message indicates that video ringback tones are disabled, the calling terminal plays audio instead of video ringback tones, avoiding call failures due to video decoder call failures.
[0303] For the called terminal, the mobile communication module 150 of the called terminal receives electromagnetic waves through an antenna. The demodulator in the modem of the called terminal demodulates the electromagnetic waves to obtain an invite message. If the called terminal has enabled video playback, the network device in the IMS network sends an update message to the called terminal to negotiate video resource reservation. The called terminal receives electromagnetic waves through antenna 1, and the demodulator in the modem demodulates the electromagnetic waves to obtain an update message indicating that video playback is required. The modem then instructs the IMSVT module at the application layer to change the call status from a voice call to a video call. The application layer IMSVT module calls the video decoder. If the call fails, the application layer IMSVT module sends a command to the modem indicating the failure. The modem then sends an update message to the network devices in the IMS network, instructing them to disable the video transilluminator. Specifically, the modulator in the modem generates the update message and radiates it as electromagnetic waves through the antenna. Because the update message disables the video transilluminator, the called terminal plays audio instead of the video transilluminator, thus avoiding call failure due to the failure to call the video decoder.
[0304] Please refer to Figure 7 This is a schematic diagram of the signaling interaction flow of a communication method provided in an embodiment of this application. It can be understood that the communication method in this embodiment may include some steps of the following steps, or may include all steps of the following steps, or may include other steps. This application does not limit the scope of the method. Figure 7 Taking the failure of the calling terminal to call the video decoder as an example:
[0305] 701, the calling terminal sends a call request message to the network device.
[0306] Correspondingly, the network device receives the call request message. After receiving the call request message, the network device can forward the call request message to the called terminal. Figure 7 (Not shown). Specifically, the call request message is used to request the establishment of an IMS session with the called terminal. In this embodiment, the called terminal may be a video ringback tone service that has been subscribed to as a value-added call service.
[0307] For example, the call request message may specifically be an invite message. The first SDP information carried in the invite message includes a precondition field, indicating that the calling terminal supports a resource reservation mechanism. The first SDP information is used to indicate to the network device the audio ports and encoding formats supported by the calling terminal, as well as to indicate to the network device the resources reserved for transmitting voice service data for the calling terminal.
[0308] For example, the network device is a network device in an IMS network, such as... Figure 1 The network devices in the IMS network of the communication system shown.
[0309] For example, after receiving a call request message, a network device can send a 100trying message to the calling terminal, as detailed in [link to documentation]. Figure 2 Description of the embodiments.
[0310] 702, the network device sends a response message to the calling terminal.
[0311] The response message can be a response to the call request message in step 701. Specifically, the response message can be a 183 message, which is generated by the called terminal in response to the call request message. The second SDP information carried in the response message includes a precondition field, indicating that the called terminal supports a resource reservation mechanism. The second SDP information is also used to indicate to the network device the audio port and encoding format supported by the called terminal, and to indicate to the network device that resources are reserved for transmitting voice service data for the called terminal.
[0312] 703, the network device sends the first update message to the calling terminal.
[0313] The first update message can be used for video resource reservation negotiation between the IMS network and the calling terminal. This first update message can instruct the calling terminal to play a video ringback tone, meaning the called terminal has subscribed to the video ringback tone service. For example, the first update message carries a first instruction information indicating a video ringback tone, which can be understood as instructing the calling terminal to play a video ringback tone.
[0314] For example, the first update message may specifically be an update message, and the first indication information may be content:g.3gpp.cat contained in the update message.
[0315] In some implementations, the update message also carries SDP information for the video media. This may include audio and video description information, such as the encoding and decoding methods of the available video media provided by the network device, the first video port number (e.g., video port = 39022), and the access address, to facilitate resource reservation negotiation with the calling terminal for the video media. The first video port number indicates the port on which the calling terminal receives the video ringback tone file.
[0316] The video media SDP The information may also include the quality of service of video media. , QoS parameters, such as the video portion of SDP information carrying the parameter a=curr:qos local none, allow the calling terminal to reserve resources based on this QoS parameter.
[0317] For example, prior to step 703, the network device and the calling terminal can negotiate audio resource reservation, as detailed in [link to relevant documentation]. Figure 2 The relevant description of step 207 in the embodiment will not be repeated here.
[0318] 704. In the event that the calling terminal fails to call the video decoder, the calling terminal sends a second update message to the network device.
[0319] When the calling terminal receives the first update message, it determines that a video decoder needs to be invoked based on the first indication information carried in the first update message. If the calling terminal fails to invoke the video decoder, it will send a second update message to the network device. The second update message indicates that the video ringback tone should be turned off. Specifically, the second update message includes a second indication information that indicates that the video ringback tone should be turned off.
[0320] For example, the second update message may specifically be an update message, and the second indication information may be a second video port number, which indicates that the video port is closed. For example, the second video port number is equal to 0, that is, videoport=0. The video port=0 indicates that the video port is closed, that is, the video ringback tone function is closed, and the video ringback tone file does not need to be played.
[0321] The reason why the calling terminal fails to call the video decoder could be that the calling terminal failed to initialize the video decoder during startup, or that the video decoder is occupied and therefore cannot be called. It is understood that other reasons may also be included, which are not limited in this application.
[0322] It should be noted that the execution order of step 704 is not restricted; for example, it can be executed after step 705.
[0323] 705, The network device sends a ringing message to the calling terminal.
[0324] Specifically, when the called terminal starts ringing, the called terminal sends a ringing message (such as a 180 ringing message) to the network device, and the network device sends a ringing message to the calling terminal to indicate to the calling terminal that the called terminal has started ringing and is waiting for the called user to answer.
[0325] The ringing message sent by the called terminal to the network device can be sent before the network device sends the first update message to the calling terminal, that is, before step 703. After receiving the ringing message, the network device can send the ringing message to the calling terminal before step 703, and then execute steps 703 and 704. Alternatively, after receiving the ringing message, the network device can send the ringing message to the calling terminal after steps 703 and 704, that is, execute step 705.
[0326] 706, the calling terminal is playing audio.
[0327] In one implementation, after receiving the second update message sent by the calling terminal, the network device can send media data of an audio ringback tone file to the calling terminal. The calling terminal then plays the audio based on the media data of the audio ringback tone file to achieve the playback of the ringback tone.
[0328] In another implementation, the calling terminal stores an audio file locally. The calling terminal plays the audio based on the locally stored audio file to play the ringback tone. For example, the ringback tone played by the calling terminal based on the locally stored audio file is a "beep beep beep beep" sound.
[0329] In this embodiment, when the calling terminal initiates a voice call, the called terminal has subscribed to the video ringback tone service. If the call to the video decoder fails, the calling terminal will not send a cancel message to the network device to indicate that the call should be ended. Instead, it will send a second instruction to the network device to disable the video ringback tone service, thereby preventing the voice call from failing due to the failure to call the video decoder.
[0330] based on Figure 7 , Figure 8 This is a schematic diagram of the signaling interaction process of a communication method provided for an embodiment of this application. It can be understood that the communication method of this embodiment may include some steps of the following steps, or may include all steps of the following steps, or may also include other steps. Figure 8The order in which the steps are executed is not limited in this application. Figure 8 Taking the calling terminal, which includes an IMS Video Telephony (IMSVT) module and a modem, as an example, the IMSVT module can be a module of the calling terminal application layer. Optionally, the modem may include an IMS protocol stack, which is used to process signaling and data related to IMS services.
[0331] 801, The modem processor sends a call request message to the network device.
[0332] Specifically, when the calling terminal's application detects a voice call operation, such as a user interacting with the voice call control, the application sends a first command to the modem processor. Specifically, the application can send the first command to the IMS protocol stack within the modem processor, instructing that a voice call be made. The first command may include the called user's identifier, such as the called user's phone number. Correspondingly, the modem processor can determine that the call is a voice call based on the first command. Similarly, if the calling terminal's application detects a video call operation, such as a user interacting with the video call control, the application can send a second command to the modem processor instructing that a video call be made. The following explanation primarily focuses on the example of the calling terminal making a voice call.
[0333] After receiving the first command, the modem processor can send a call request message to the network device. The type of the call request message can indicate that the call is a voice call. For example, the type of the call request message can be an invite message, which indicates that a voice call needs to be made.
[0334] For example, after receiving a call request message, a network device may send a 100trying message to the modem processor.
[0335] 802, The modem processor sets the initial state of the call to voice call.
[0336] The modem processor can store call type parameters, which can indicate the call status. For example, a call type parameter of 0 indicates a voice call, while a call type parameter of 1 indicates a video call.
[0337] 803, the network device sends a response message to the modem processor.
[0338] This response message is used in response to a call request message. Specifically, the response message can be a 183 message, which is generated by the called terminal in response to the call request message. Alternatively, it can be received by the IMS protocol stack in the modem processor.
[0339] 804, the network device sends the first update message to the modem processor.
[0340] The first update message may carry a first instruction message, which is used to instruct the caller terminal to play a video ringback tone and establish a video bearer.
[0341] For example, the first update message may specifically be an update message, and the first indication information may be content:g.3gpp.cat contained in the update message. This first indication information indicates that the calling terminal needs to play a video ringback tone; that is, the voice call is a voice call that requires the playback of a video ringback tone. The first update message also carries SDP information of the video media. For example, the first update message may also include a first video port number (e.g., video port = 39022), which indicates the port on which the calling terminal receives the video ringback tone file.
[0342] For a detailed description of the first update message, please refer to [link / reference]. Figure 7 The description of step 703 will not be repeated here.
[0343] 805, The modem processor indicates a call status change to the IMSVT module.
[0344] When the modem processor receives the first update message, it can determine that the calling terminal needs to play a video ringback tone based on the first indication information in the first update message. Furthermore, if the modem processor initially obtains the call status as a voice call, it can then determine that the call status has changed and indicate this change to the IMSVT module. The call status change indicates that the call status has changed from a voice call to a video call. The first indication information could be, for example, content:g.3gpp.cat.
[0345] It is understandable that if the initial state of the call is a voice call, and the first update message does not include the first instruction information, the call state will remain a voice call and no call state change will be performed.
[0346] 806, the modem processor updates the call status to video call.
[0347] The execution order of steps 805 and 806 is not restricted. Step 806 can be executed first, followed by step 805, or step 805 can be executed first, followed by step 806, or steps 805 and 806 can be executed in parallel.
[0348] When a call status changes from voice call to video call, the modem processor updates the call status to video call. Before the update, the call status was voice call. Specifically, for example, the modem processor can update the call type parameter to 1.
[0349] 807, the modem processor stores historical call states.
[0350] The execution order of steps 805, 806, and 807 is not restricted.
[0351] The modem processor stores historical call states, which are the call states before the call state update. In this embodiment, the historical call state is a voice call. Specifically, for example, the modem processor stores a historical call state (old call type) parameter, and a historical call state parameter of 0 indicates that the historical call state was a voice call.
[0352] It is understood that step 807 in the embodiments of this application can be an optional execution step. For example, if the historical call status can be determined by other means, then it is not necessary to store the historical call status.
[0353] 808, The modem processor stores the reason value for the call status change.
[0354] The execution order of steps 805, 806, 807, and 808 is not restricted.
[0355] The modem processor stores a reason value for a call status change, indicating the cause of the change. In this embodiment, the reason value for the call status change indicates the playback of a video ringback tone. For example, multiple reason values can be preset, each indicating the cause of the call status change. The reason value for a call status change from voice call to video call may include, for example, a first reason value and a second reason value, where the first reason value indicates the playback of a video ringback tone, and the second reason value indicates manual switching by the user. In this embodiment, the reason value for the call status change can be the first reason value.
[0356] It is understood that step 808 in the embodiments of this application can be an optional execution step. For example, the reason for the change in call status can be determined by other means, or it can be determined that the calling terminal has received the first indication information, so step 808 does not need to be executed.
[0357] 809, the IMSVT module calls the video decoder.
[0358] The IMSVT module may fail to call the video decoder. For example, if the calling terminal fails to initialize the video decoder during startup, the IMSVT module may fail to call the video decoder. Alternatively, if the video decoder is occupied, the IMSVT module may also fail to call the video decoder.
[0359] 810, the IMSVT module sends a command to the modem processor indicating that the call to the video decoder failed.
[0360] If the IMSVT module fails to call the video decoder, it will send an instruction to the modem processor indicating the failure. This instruction could be a video decoder error command, such as "Video codec error". Specifically, the IMSVT module might send this instruction to the IMS protocol stack within the modem processor.
[0361] 811, The modem processor obtains historical call status and the reason value for call status changes.
[0362] The historical call status can be stored by the modem processor in step 807, and the reason value for the call status change can be stored by the modem processor in step 808.
[0363] 812, when it is determined that the historical call status is a voice call and the reason value for the call status change indicates the playback of a video ringback tone, the modem processor sends a second update message to the network device.
[0364] When the modem processor receives an instruction indicating a failed call to the video decoder, determines that the historical call status was a voice call, and that the call status change was due to playing a video ringback tone, the modem processor will not send a cancel message to the network device. Instead, it will send a second update message to the network device, instructing that the video ringback tone be disabled, thereby ensuring a high success rate for voice call connection. Specifically, the second update message may include second indication information, which can be used to instruct the video ringback tone to be disabled.
[0365] For example, the second update message may specifically be an update message, which carries second indication information, such as a second video port number. This second video port number indicates that the video port is closed. For example, if the second video port number is equal to 0, that is, video port = 0, then video port = 0 indicates that the video port is closed, which means that the video ringback tone function is turned off and the video ringback tone file does not need to be played.
[0366] For a detailed description of step 812, please refer to [link / reference]. Figure 7 The description of step 704 will not be repeated here.
[0367] In some implementations, if the historical call status is not a voice call, but a video call, and the reason value for the call status change indicates that a video ringback tone will be played, the modem processor will send a cancel message to hang up the call.
[0368] In some implementations, if the historical call status is a voice call, and the reason value for the call status change does not indicate playing a video ringback tone, for example, if the reason value indicates that the user manually switches to a video call, the modem processor will send a cancel message to hang up the call.
[0369] 813, The network device sends a ringing message to the modem processor.
[0370] For a detailed description of step 813, please refer to [link / reference]. Figure 7 The description of step 705 will not be repeated here. The execution order of step 813 is not limited.
[0371] 814, The modem processor instructs the audio module to play audio.
[0372] The network device receives a second update message from the modem processor and determines, based on the second indication information in the second update message, that the video ringback tone needs to be turned off, meaning it does not need to play the video ringback tone. The network device may not send the media data of the video ringback tone file to the calling terminal. The calling terminal may play an audio ringback tone or a "beep" ringback tone. The audio ringback tone can be played by the calling terminal based on the media data of an audio ringback tone file, which may be sent to the calling terminal by the network device. The "beep" ringback tone can also be played by the calling terminal based on the media data of an audio file, which may be sent to the calling terminal by the network device or stored locally by the calling terminal.
[0373] It should be noted that after step 809, if the IMSVT module successfully invokes the video decoder, it can send an instruction to the modem processor indicating successful invocation of the video decoder. The modem processor can then send an update message to the network device, indicating that the calling terminal has completed video resource reservation. The network device can then send the media data of the video ringback tone file to the calling terminal. The calling terminal's video decoder decodes the media data of the video ringback tone file, and the call application plays the decoded media data, thus enabling the playback of the video ringback tone.
[0374] 815, the network device sends a 200 OK message to the modem processor.
[0375] 816, the modem processor sends an ACK to the network device.
[0376] 817, establish a call.
[0377] Optionally, if the called terminal answers the call, it sends a 200 OK message to the network device, which is a response to the call request message in step 801. The network device then sends a 200 OK message to the modem processor of the calling terminal, which in turn sends an ACK message to the network device. The network device then sends an ACK message to the called terminal, thereby establishing a call.
[0378] In this embodiment, the modem can store the historical call status before the call status change and the reason value for the call status change. When the IMSVT module fails to call the video decoder, it is convenient to trace back the previous historical call status and the reason for the call status change. This makes it easier to determine whether to send a hang-up message based on the historical call status and the reason for the call status change, thereby better meeting the user's call needs and improving the user experience.
[0379] Please refer to Figure 9 This is a schematic diagram of the signaling interaction flow for another communication method provided in this application embodiment. It can be understood that the communication method in this application embodiment may include some steps of the following steps, or all steps of the following steps, or may include other steps. This application does not limit this. Figure 9 Taking the failure of the called terminal to call the video decoder as an example:
[0380] 901, the network device sends a call request message to the called terminal.
[0381] Correspondingly, the called terminal receives a call request message. This call request message can be sent from the calling terminal to the network device, and the network device can forward the call request message to the called terminal. Figure 9(Not shown). Specifically, the call request message is used to request the establishment of an IMS session with the called terminal. In this embodiment, the called terminal may be a video call value-added service provider.
[0382] For example, the call request message may specifically be an invite message; a description of the invite message can be found in [reference needed]. Figure 7 The relevant description of step 701 in the embodiment will not be repeated here.
[0383] For example, after receiving a call request message, the called terminal can send a 100trying message to the network device.
[0384] 902, the called terminal sends a response message to the network device.
[0385] This response message can be a response to the call request message in step 901. Specifically, the response message can be a 183 message, which is generated by the called terminal in response to the call request message. For more information about 183 messages, please refer to [link / reference needed]. Figure 7 The description of step 702 in the embodiment will not be repeated here.
[0386] 903, the network device sends a third update message to the called terminal.
[0387] The third update message can be used for video resource reservation negotiation between the IMS network and the called terminal. This third update message can instruct the called terminal to play video montage. For example, the third update message carries third indication information indicating that the called terminal needs to play video montage.
[0388] For example, the third update message may specifically be an update message, and the third indication information may be the content:g.3gpp.crs contained in the update message.
[0389] In some implementations, the update message also carries SDP information for the video media. This SDP information may include audio and video descriptions, such as the encoding and decoding methods of the available video media provided by the network device, the third video port number (e.g., video port = 39022), and the access address, to facilitate resource reservation negotiation with the called terminal for the video media. The third video port number indicates the port on which the called terminal receives the video color file.
[0390] For example, prior to step 903, the network device and the called terminal can negotiate audio resource reservation, as detailed in [link to relevant documentation].Figure 2 The relevant descriptions of the embodiments will not be repeated here.
[0391] 904. In the event that the called terminal fails to call the video decoder, the called terminal sends a fourth update message to the network device.
[0392] When the called terminal receives the third update message, it determines that a video decoder needs to be invoked based on the third indication information carried in the third update message. If the called terminal fails to invoke the video decoder, it will send a fourth update message to the network device, which instructs that the video color vibration be turned off. Specifically, the fourth update message includes fourth indication information, which instructs that the video color vibration be turned off.
[0393] For example, the fourth update message can be an update message, and the fourth indication information can be the fourth video port number, which indicates that the video port is closed. For example, the fourth video port number is equal to 0, that is, videoport=0. The video port=0 indicates that the video port is closed, that is, the video color vibration function is closed, and the video color vibration file does not need to be played.
[0394] The reason why the called terminal fails to call the video decoder could be that the called terminal failed to initialize the video decoder during startup, or that the video decoder is occupied and therefore cannot be called. It is understood that other reasons may also be included, but this application does not limit the scope of the reasons.
[0395] It should be noted that the execution order of step 904 is not restricted; for example, it can be executed after step 905.
[0396] 905 indicates that the called terminal sends a ringing message to the network device.
[0397] Specifically, when the called terminal starts ringing, the called terminal sends a ringing message (such as a 180 ringing message) to the network device, and the network device sends a ringing message to the calling terminal to indicate to the calling terminal that the called terminal has started ringing and is waiting for the called user to answer.
[0398] 906, the called terminal plays audio.
[0399] In one implementation, after receiving the fourth update message sent by the called terminal, the network device can send media data of an audio ringback tone file to the called terminal. The called terminal then plays the audio based on the media data of the audio ringback tone file, thus providing a ringing signal notification.
[0400] In another implementation, the called terminal stores an audio file locally. The called terminal plays the audio based on the locally stored audio file to provide a ringing signal.
[0401] In this embodiment, when the calling terminal initiates a voice call, the called terminal has subscribed to the video color vibration service. When the called terminal calls the video decoder, if the call to the video decoder fails, the called terminal will not send a cancel message to the network device to indicate that the call should be ended. Instead, it will send a fourth instruction message to the network device to indicate that the video color vibration should be turned off, thereby avoiding the failure of the voice call connection due to the failure of calling the video decoder.
[0402] based on Figure 9 , Figure 10 This is a schematic diagram of the signaling interaction process of a communication method provided for an embodiment of this application. It can be understood that the communication method of this embodiment may include some steps of the following steps, or may include all steps of the following steps, or may also include other steps. Figure 10 The order in which the steps are executed is not limited in this application. Figure 10 Taking the called terminal, which includes an IMSVT module and a modem, as an example, the IMSVT module can be a module of the called terminal's application layer. Optionally, the modem may include an IMS protocol stack, which is used to process signaling and data related to IMS services.
[0403] 1001, The network device sends a call request message to the modem processor.
[0404] The call request message can be sent from the calling terminal to the network device, which then sends it to the modem processor of the called terminal. The modem processor can determine whether the call is a voice call based on the type of the call request message. For example, if the call request message type is "invite," then the call is determined to be a voice call. For more information on call request messages, please refer to [link to relevant documentation]. Figure 9 The description of step 901 will not be repeated here.
[0405] For example, after receiving a call request message, the modem processor can send a 100trying message to the network device.
[0406] 1002, The modem processor sets the initial state of the call to voice call.
[0407] For details regarding step 1002, please refer to [link / reference]. Figure 8 The relevant description of step 802 will not be repeated here.
[0408] 1003, The modem processor sends a response message to the network device.
[0409] This response message is used in response to a call request message. Specifically, the response message can be a 183 message, which is generated by the called terminal in response to the call request message. Alternatively, it can be generated by the IMS protocol stack within the modem processor.
[0410] 1004, the network device sends a third update message to the modem processor.
[0411] The third update message can carry a third instruction message, which can be used to instruct the called terminal to play video montage and establish a video bearer. For a detailed description of the third update message, please refer to [link to relevant documentation]. Figure 9 The description of step 903 will not be repeated here.
[0412] 1005, The modem processor indicates a call status change to the IMSVT module.
[0413] When the modem processor receives the third update message, it determines that the called terminal needs to play video transparencies based on the third indication information in the message. Furthermore, if the modem processor initially obtains the call status as a voice call, it can then determine that the call status has changed and indicate this change to the IMSVT module. This change signifies that the call has been changed from a voice call to a video call. The third indication information could be, for example, content:g.3gpp.crs.
[0414] Understandably, if the initial state of the call is a voice call, and the third update message does not include the third instruction information, the call state will remain a voice call and no call state change will be performed.
[0415] 1006, the modem processor updates the call status to video call.
[0416] The method by which the modem processor updates the call status can be referred to Figure 8 The relevant description of step 806 in the embodiment.
[0417] 1007, The modem processor stores historical call states.
[0418] The method by which the modem processor stores historical call states can be referred to Figure 8 The relevant description of step 807 in the embodiment.
[0419] 1008, The modem processor stores the reason value for the call status change.
[0420] The modem processor stores a reason value for a call status change, indicating the cause of the change. In this embodiment, the reason value for the call status change indicates the playback of a video feed. For example, multiple reason values can be preset, each indicating the cause of the call status change. The reason value for a call status change from voice call to video call may include a third reason value and a fourth reason value, where the third reason value indicates the playback of a video feed and the fourth reason value indicates manual switching by the user. In this embodiment, the reason value for the call status change can be the third reason value.
[0421] The execution order of steps 1005, 1006, 1007, and 1008 is not restricted.
[0422] 1009, the IMSVT module calls the video decoder.
[0423] The IMSVT module's call to the video decoder may fail. For reasons of failure, please refer to [link / reference needed]. Figure 8 The description of step 809.
[0424] 1010, the IMSVT module sends a command to the modem processor indicating that the call to the video decoder failed.
[0425] If the IMSVT module fails to call the video decoder, it will send a command to the modem processor indicating the failure. See [link to documentation] for details. Figure 8 The relevant description of step 810.
[0426] 1011, The modem processor obtains historical call status and the reason value for call status changes.
[0427] The historical call status can be stored by the modem processor in step 1007, and the reason value for the call status change can be stored by the modem processor in step 1008.
[0428] 1012, if the historical call status is determined to be a voice call and the reason value for the call status change indicates the playback of video color vibration, the modem processor sends a fourth update message to the network device.
[0429] When the modem processor receives an instruction indicating a failed call to the video decoder, determines that the historical call status was a voice call, and that the change in call status was due to the playback of video transilluminator, the modem processor will not send a cancel message to the network device. Instead, it will send a fourth update message to the network device, instructing that the video transilluminator be turned off, thereby ensuring a high success rate for voice call connection. Specifically, the fourth update message includes a fourth indication message, which instructs that the video transilluminator be turned off.
[0430] For example, the fourth update message can be an update message, which carries the fourth indication information, which can be the fourth video port number. The fourth video port number indicates that the video port is closed. For example, the fourth video port number is equal to 0, that is, video port = 0. The video port = 0 indicates that the video port is closed, that is, the video color vibration function is turned off, and the video color vibration file does not need to be played.
[0431] In some implementations, if the historical call status is not a voice call, but a video call, and the reason value for the call status change indicates that video is playing, the modem processor will send a cancel message to hang up the call.
[0432] In some implementations, if the historical call status is a voice call, and the reason value for the call status change does not indicate the playback of video, for example, if the reason value indicates that the user manually switches to a video call, the modem processor will send a cancel message to hang up the call.
[0433] 1013, The modem processor sends a ringing message to the network device.
[0434] 1014, The modem processor instructs the audio module to play audio.
[0435] The network device receives the fourth update message from the modem processor and, based on the fourth indication information in the message, determines that the video color vibrator needs to be turned off, meaning it doesn't need to play the video color vibrator. The network device can therefore not send the media data of the video color vibrator file to the calling terminal. The calling terminal can play either the audio color vibrator or a regular ringing signal. The audio color vibrator can be played by the called terminal based on the media data of the audio color vibrator file, which may be sent to the called terminal by the network device. The regular ringing signal can be played by the called terminal based on the media data of an audio file, which may be sent to the called terminal by the network device or stored locally by the called terminal.
[0436] It should be noted that after step 1009, if the IMSVT module successfully calls the video decoder, the network device can send the media data of the video color sync file to the called terminal device. The video decoder of the called terminal decodes the media data of the video color sync file, and the call application plays the decoded media data to realize the playback of the video color sync.
[0437] 1015, the modem processor sends a 200 OK message to the network device.
[0438] 1016, the network device sends an ACK to the modem processor.
[0439] 1017, establish a call.
[0440] The relevant descriptions of steps 1015-1017 can be found in [reference]. Figure 8 The relevant descriptions of steps 815-817 will not be repeated here.
[0441] The beneficial effects of the embodiments of this application can be referred to... Figure 8 Related descriptions.
[0442] The exemplary network device 1100 provided in the embodiments of this application will be described next.
[0443] Figure 11 An exemplary schematic diagram of the hardware structure of a network device 1100 is shown.
[0444] like Figure 11 As shown, network device 1100 may include one or more processors 1101, communication interfaces 1102, and memory 1103, wherein the processors 1101, communication interfaces 1102, and memory 1103 can be connected via a bus or other means. This embodiment of the application takes connection via bus 1104 as an example. Exemplarily, network device 1100 includes the IMS network described in the above embodiments, for example... Figure 1 The IMS network 200 in the communication system shown. Wherein:
[0445] Processor 1101 may consist of one or more general-purpose processors, such as CPUs. Processor 1101 can be used to run program code related to the communication method.
[0446] The communication interface 1102 can be a wired interface (e.g., an Ethernet interface) or a wireless interface (e.g., a cellular network interface or a wireless LAN interface) for communicating with other nodes. In this embodiment, the communication interface 1102 is specifically used to communicate with the terminal device 101. The memory 1103 may include volatile memory, such as RAM; the memory may also include non-volatile memory, such as ROM, flash memory, HDD, or SSD. The memory 1103 may also include combinations of the above types of memory. The memory 1103 can be used to store a set of program code so that the processor 1101 can call the program code stored in the memory 1103 to implement the implementation method of the network device in this embodiment. In this embodiment, the memory 1103 may also be a storage array, etc.
[0447] In one implementation, network device 1100 may include multiple servers, such as CAT AS, MRF, etc., and the hardware structure of these multiple servers can be referred to Figure 11 The hardware structure of the network device 1100 shown is illustrated.
[0448] It needs to be explained that, Figure 11 The network device 1100 shown is one implementation of an example embodiment of this application. In actual applications, the network device 1100 may include more or fewer components, which is not limited here.
[0449] This application also provides an electronic device that may include a memory and a processor. The memory may be used to store a computer program; the processor may be used to invoke the computer program in the memory to cause the electronic device to perform the methods in any of the above embodiments.
[0450] This application also provides a chip system, which includes at least one processor for implementing the functions involved in the methods executed by the calling terminal, the called terminal, or the network device in any of the above embodiments.
[0451] In one possible design, the chip system also includes a memory for storing program instructions and data, which may be located within or outside the processor.
[0452] The chip system can consist of chips or include chips and other discrete components.
[0453] Optionally, the chip system may contain one or more processors. These processors can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory.
[0454] Optionally, the chip system may contain one or more memories. The memory may be integrated with the processor or disposed separately from it; this application embodiment does not limit this. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or disposed separately on different chips. This application embodiment does not specifically limit the type of memory or the arrangement of the memory and processor.
[0455] For example, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0456] This application also provides a computer program product, which includes a computer program (also referred to as code or instructions) that, when run, causes a computer to execute the method executed by the calling terminal, the called terminal, or the network device in any of the above embodiments.
[0457] This application also provides a computer-readable storage medium storing a computer program (also referred to as code or instructions). When the computer program is run, it causes the computer to perform the method executed by the calling terminal, the called terminal, or the network device in any of the above embodiments.
[0458] The various embodiments of this application can be combined arbitrarily to achieve different technical effects.
[0459] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as 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, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can 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 drive).
[0460] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
[0461] In summary, the above description is merely an embodiment of the technical solution of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made according to the disclosure of the present invention should be included within the scope of protection of the present invention.
Claims
1. A communication method, characterized in that, include: In response to the user's dialing operation, the first terminal sends a first call request message to the network device, the first call request message being used to call the second terminal; When the second terminal is configured with video ringback tone service, the first terminal receives a first update message sent by the network device. The first update message includes first indication information, which indicates that the first terminal needs to play the video ringback tone file. If the first terminal receives a message indicating that the video decoder call failed, it sends a second update message to the network device. The second update message includes a second indication message indicating that the video ringback tone file does not need to be played. The first terminal receives a ringing message sent by the network device, the ringing message indicating that the second terminal has started ringing; In response to the ringing message, the first terminal plays a ringback tone.
2. The method as described in claim 1, characterized in that, The first instruction information includes content: g.3gpp.cat.
3. The method as described in claim 1, characterized in that, The first update message also includes a first video port number, which is used to indicate the port through which the first terminal receives video ringback tone files; The second indication information includes a second video port number, which is equal to 0.
4. The method according to any one of claims 1-3, characterized in that, The first terminal plays a ringback tone, including: The first terminal obtains an audio ringback tone file from the network device and plays a ringback tone according to the audio ringback tone file; or, The first terminal plays a ringback tone based on a locally saved audio file.
5. The method as described in claim 1, characterized in that, When the second terminal is configured with a video ringback tone service, the method further includes: Upon receiving a message indicating that the video decoder call was successful, the first terminal retrieves the video ringback tone file from the network device; The first terminal plays the video ringback tone file.
6. The method as described in claim 1, characterized in that, In response to the user's dialing operation, the first terminal sends a first call request message to the network device, including: The first terminal displays a dialing interface, which includes voice call controls; In response to a dialing operation on the voice call control, the first terminal sends a first call request message to the network device.
7. The method as described in claim 1, characterized in that, In response to a user's dialing action, the method further includes: The first terminal sets the call status to voice call; After the first terminal receives the first update message sent by the network device, the method further includes: The first terminal updates the call status from voice call to video call and invokes the video decoder.
8. The method as described in claim 7, characterized in that, The method further includes: The first terminal stores historical call states, which are voice calls made before the call states were updated; The first terminal stores a reason value for a call status change, and the reason value for the call status change indicates that the reason for the call status change is that a video ringback tone file needs to be played. In the event that a video decoder call fails, the first terminal sends a second update message to the network device, including: If a message indicating a video decoder call failure is received, and the historical call status is a voice call, and the reason value for the call status change indicates that the reason for the call status change is the need to play a video ringback tone file, the first terminal sends a second update message to the network device.
9. The method as described in claim 1, characterized in that, The method further includes: The first terminal receives the second call request message sent by the network device; When the first terminal is configured with video color vibration service, the first terminal receives a third update message sent by the network device. The first update message includes third indication information, which indicates that the first terminal needs to play the video color vibration file. Upon receiving a message indicating that the video decoder call failed, the first terminal sends a fourth update message to the network device. The fourth update message includes fourth indication information, which indicates that the video color file does not need to be played. The first terminal plays a ringing tone.
10. The method as described in claim 9, characterized in that, The third instruction information includes content: g.3gpp.crs.
11. The method as described in claim 9, characterized in that, The third update message also includes a third video port number, which is used to indicate the port through which the first terminal receives the video color vibration file; The fourth indication information includes a fourth video port number, which is equal to 0.
12. The method according to any one of claims 9-11, characterized in that, The first terminal plays a ringing tone, including: The first terminal obtains an audio color vibration file from the network device and plays a ringtone according to the audio color vibration file; or, The first terminal plays a ringing sound based on a locally stored audio file.
13. The method as described in claim 9, characterized in that, The method further includes: Upon receiving a message indicating successful video decoder invocation, the first terminal retrieves the video color image file from the network device; The first terminal plays the video color vibration file.
14. A terminal device, characterized in that, Includes one or more processors and memory; The memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the terminal device to perform the method as described in any one of claims 1-13.
15. A computer storage medium, characterized in that, The computer storage medium is used to store a computer program, which, when executed, performs the method as described in any one of claims 1-13.
16. A computer program product, characterized in that, When the computer program product is run on a terminal device, it performs the method as described in any one of claims 1-13.
17. A chip system, characterized in that, The chip system is applied to a terminal device, and the chip system includes one or more processors, the processors being used to invoke computer instructions to cause the terminal device to perform the method as described in any one of claims 1-13.