Video polyphonic ringtone playing method and terminal equipment
By automatically identifying and switching the video ringback tone interface to the voice call interface on the calling terminal, the problem of the video ringback tone interface not switching under network abnormalities is solved, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2024-10-29
- Publication Date
- 2026-05-08
AI Technical Summary
In the event of a network malfunction, the calling terminal may still display a video ringback tone interface instead of a voice call interface after the called terminal answers the phone, causing the user to mistakenly believe that the voice call has turned into a video call, thus affecting the user experience.
If the calling terminal does not receive a message from the core network instructing it to turn off the video ringback tone, it will automatically determine that the current call is a voice call with video capability, automatically switch the video ringback tone interface to the voice call interface, and request to turn off the video ringback tone by sending a re-INVITE message.
In case of abnormal video ringback tone scenarios, the interface automatically switches to a voice call interface, improving user experience and reducing the occurrence of abnormal displays.
Smart Images

Figure CN122001978A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a method for playing video ringback tones and a terminal device. Background Technology
[0002] With the introduction of Voice over Long Term Evolution (VoLTE), voice call quality has significantly improved compared to the 2G and 3G eras, enabling voice and video calls between users. Simultaneously, services such as high-definition audio ringback tones, video ringback tones, and video ringback rings have emerged. For video ringback tones, the calling terminal can display the called terminal's subscribed video ringback interface when making a voice call, improving viewing experience.
[0003] However, if the called party has already answered the phone while the calling terminal is playing a video ringback tone, but the calling terminal is still displaying the video ringback tone interface due to network abnormalities, the user may mistakenly believe that the voice call has turned into a video call, which affects the user experience. Summary of the Invention
[0004] This application provides a method for playing video ringback tones and a terminal device that can turn off the video ringback tone and switch to the voice call interface normally in case of abnormal video ringback tone scenarios, thereby improving the user experience.
[0005] In a first aspect, this application provides a method for playing a video ringback tone, which is executed by a first terminal device and includes: during the process of the first terminal device initiating a voice call request to a second terminal device, playing the video ringback tone subscribed by the second terminal device and displaying a video ringback tone interface; before receiving the off-hook message from the second terminal device, the first terminal device has not received a message from the core network instructing to turn off the video ringback tone; after receiving the off-hook message from the second terminal device, if it is determined that a first condition is met, the first terminal device automatically switches the video ringback tone interface to a voice call interface, wherein the first condition includes the first terminal device's current call type being a voice call, but its current media capability being a video capability and the video capability corresponding to a video ringback tone media capability.
[0006] In this application, the first terminal device can be the calling terminal, and the second terminal device can be the called terminal. During the process of the first terminal device sending a voice call request (INVITE message) to the second terminal device, if the second terminal device has a video ringback tone subscription, the first terminal device can play the video ringback tone and display the video ringback tone interface. Normally, if the second terminal device answers the call, the core network will send a message to the first terminal device instructing it to disable the video ringback tone. However, in some abnormal situations, the core network may not send (or fail to send) this message, meaning the first terminal device does not receive the instruction from the core network to disable the video ringback tone. This results in the first terminal device still displaying the video ringback tone interface after the call is connected, instead of switching to the voice call interface. Therefore, after the first terminal device receives the second terminal device's answer message (200 OK message), it can determine whether the first condition is met. If it is, it indicates that a voice call is currently in progress, but the video ringback tone interface is still displayed, indicating an abnormal display. In this case, the first terminal device can automatically switch the video ringback tone interface to the voice call interface, restoring normal display. Thus, in abnormal video ringback tone scenarios, the video ringback tone can be disabled, and the system can normally switch to the voice call interface, improving the user experience.
[0007] In conjunction with the first aspect, in some implementations of the first aspect, the aforementioned first terminal device automatically switches the video ringback tone interface to the voice call interface, including: the first terminal device sending a first message to the core network and automatically switching the video ringback tone interface to the voice call interface, wherein the first message is used to request the video ringback tone to be turned off.
[0008] In the process of switching the video ringback tone interface to the voice call interface, the first terminal device may send a first message to the core network to request the video ringback tone to be turned off, and automatically switch the interface to the voice call interface.
[0009] In some implementations, the first message can be a re-INVITE message. Since session parameters can be modified using re-INVITE after the session is established, the first terminal device can send a re-INVITE message to the core network to request the disabling of video ringback tones.
[0010] In some implementations, the re-INVITE message carries the information that video=0, which means that the video ringback tone capability is turned off.
[0011] In conjunction with the first aspect, in some implementations of the first aspect, the call identifier carried in the re-INVITE message is the same as the call identifier corresponding to the voice call request, and the tag carried in the re-INVITE message is the same as the tag corresponding to the off-hook message.
[0012] Since the re-INVITE message modifies parameters in an established session, the parameter information carried in this message should be the same as the parameters corresponding to the voice call to ensure the voice call proceeds normally and successfully switches the video ringback tone interface to the voice call interface. Therefore, the call identifier (call-id) used in the re-INVITE message must be consistent with the call identifier (call-id) of the initial INVITE. The first terminal device can obtain the call identifier (call-id) from the voice call request (INVITE message) and add it to the re-INVITE message. In addition, the re-INVITE message carries a tag in the TO header field, and the value corresponding to the tag must be consistent with the tag in the TO header field of the initial INVITE 200OK message (off-hook message).
[0013] In conjunction with the first aspect, in some implementations of the first aspect, the determination that the first condition is met includes: if the first terminal device obtains the information m=audio, m=video, a=content:g.3gpp.cat through context information, then the first condition is determined to be met.
[0014] In this step, the current call type can be obtained from the context information in the aforementioned signaling interaction process. For example, the call type carried in the aforementioned voice call request (INVITE message) is exactly m=audio (without any other m-line parameters), indicating a voice call. Media capabilities can also be obtained from the context information in the aforementioned signaling interaction process. For example, the media capability m=video carried in the aforementioned context message indicates a video capability, and the carried content:g.3gpp.cat tag indicates that the video capability corresponds to a video ringback tone media capability. If the first terminal device can obtain this information, it means that the first condition is met, and the video ringback tone interface can be automatically switched to the voice call interface subsequently. This can reduce the occurrence of the aforementioned abnormal situations and improve the user experience.
[0015] In conjunction with the first aspect, in some implementations of the first aspect, the above method further includes: before receiving the off-hook message from the second terminal device, the first terminal device receives a message from the core network instructing it to turn off the video ringback tone; the first terminal device switches the video ringback tone interface to the voice call interface.
[0016] Besides the aforementioned abnormal situations, there are also normal scenarios. For example, if the first terminal device receives an instruction from the core network to disable video ringback tones (e.g., an UPDATE message containing `video=0`), it can normally switch the video ringback tone interface to the voice call interface. Then, when the first terminal device receives an off-hook message from the second terminal device, it will determine that the first condition is not met, and thus will not perform any operation, ending the process. This reduces the number of abnormal video ringback tone scenarios for the first terminal device, improving the user experience.
[0017] In conjunction with the first aspect, in some implementations of the first aspect, if it is determined that the first condition is met, the first terminal device automatically switches the video ringback tone interface to the voice call interface, including: if it is determined by the modem processor in the first terminal device that the first condition is met, then the application processor AP in the first terminal device is notified to switch the video ringback tone interface to the voice call interface.
[0018] The process of signaling interaction between the first terminal device and the core network can be executed by the Modem. The Modem can also make a first condition judgment. If the first condition is met, it notifies the AP processor to switch the video ringback tone interface to the voice call interface, so as to switch to the voice call interface normally and improve the user experience.
[0019] Secondly, this application provides an apparatus included in a terminal device, which has the function of implementing the terminal device behaviors described in the first aspect and possible implementations of the first aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions. For example, a receiving module or unit, a processing module or unit, etc.
[0020] Thirdly, this application provides a terminal device, which includes a processor, a memory, and an interface; the processor, memory, and interface cooperate with each other to enable the terminal device to execute any one of the methods in the technical solution of the first aspect.
[0021] Fourthly, this application provides a chip including a processor. The processor is used to read and execute a computer program stored in a memory to perform the methods in the first aspect and any possible implementation thereof.
[0022] Optionally, the chip may also include a memory, which is connected to the processor via a circuit or wire.
[0023] Alternatively, the chip may also include a communication interface.
[0024] Fifthly, this application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to perform any one of the methods in the first aspect of the technical solution.
[0025] Sixthly, this application provides a computer program product, which includes: computer program code, which, when run on a terminal device, causes the terminal device to execute any one of the methods in the technical solution of the first aspect. Attached Figure Description
[0026] Figure 1 This is a schematic diagram of an example voice call interface provided in an embodiment of this application;
[0027] Figure 2 This is a schematic diagram of an example voice call interface provided in an embodiment of this application;
[0028] Figure 3 This is a schematic diagram of a voice call interface under an abnormal scenario provided in an embodiment of this application;
[0029] Figure 4 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application;
[0030] Figure 5 This is a software structure block diagram of an example terminal device provided in an embodiment of this application;
[0031] Figure 6 This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;
[0032] Figure 7 This is a schematic diagram of signaling interaction for an example of a voice call process provided in an embodiment of this application;
[0033] Figure 8 This is a schematic diagram of the main flow of a voice call process provided in an embodiment of this application;
[0034] Figure 9 This is a schematic diagram of the signaling interaction process of another example of a voice call process provided in the embodiments of this application;
[0035] Figure 10 This is a schematic diagram illustrating an example of context information obtained by a calling terminal according to an embodiment of this application;
[0036] Figure 11 This is a schematic diagram of the main flow of another example of a voice call process provided in the embodiments of this application. Detailed Implementation
[0037] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this text is merely a description of the relationship between related 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. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.
[0038] In the following text, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first," "second," or "third" may explicitly or implicitly include one or more of that feature.
[0039] Currently, with the continuous development of voice communication services and electronic technology, when a calling terminal sends a call request (such as a voice call request) to a called terminal, the calling terminal can play the video ringback tone subscribed to by the called terminal, displaying a video ringback tone interface on the calling terminal. Compared to the traditional voice call interface, this offers a better viewing experience. For example, such as... Figure 1 As shown, Figure 1 Figure (a) in the diagram is a schematic diagram of the video ringback tone interface displayed on the calling terminal. Figure 1 Figure (b) is a schematic diagram of the calling terminal normally displaying the voice call interface. By comparison, it can be seen that the video ringback tone interface (i.e. Figure 1 The content displayed in Figure (a) is richer.
[0040] During the playback of the video ringback tone on the calling terminal, if the called terminal has already answered the phone, the calling terminal should normally switch to displaying the voice call interface. For example, the calling terminal should switch from the above-mentioned... Figure 1 (a) in the middle is switched to Figure 2 The interface prompts the user that the call has been connected.
[0041] However, in some abnormal scenarios, due to network anomalies or other reasons, the calling terminal may not switch from the video ringback tone interface to the voice call interface. That is, after the called terminal answers the phone, the calling terminal may still display the video ringback tone interface (without switching to the aforementioned interface). Figure 2 The interface (of the device) caused users to mistakenly believe that the calling terminal had switched from a voice call to a video call, thus affecting the user experience.
[0042] For example, in this abnormal scenario, after the called terminal answers the call, the calling terminal's display interface is as follows: Figure 3As shown, the call duration (e.g., 00:08) is displayed at the top of the calling terminal's screen, but the main interface remains the video ringback tone interface. Clearly, the calling terminal's display is malfunctioning, leading the user to mistakenly believe a video call is in progress. In this situation, the user can click... Figure 3 Use the "Switch to Voice Call" control 31 to switch to the normal voice call interface, i.e., switch to the above-mentioned... Figure 2 The interface, this additional operation process, also affects the user experience.
[0043] In view of this, this application provides a method for playing video ringback tones. In a voice call scenario, after the called terminal has answered the phone, if the calling terminal determines that the current call is a voice call but has not received an instruction to turn off the video ringback tone, it actively requests the network side to turn off the video ringback tone and switch to the normal voice call interface, thus improving the user experience. It should be noted that the video ringback tone playback method provided in this application can be applied to terminal devices with mobile calling capabilities, such as mobile phones, as well as to terminal devices that can connect to mobile phones and share the mobile calling capabilities of mobile phones, such as tablets, wearable devices, in-vehicle devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, and personal digital assistants (PDAs). This application does not impose any restrictions on the specific type of terminal device.
[0044] For example, Figure 4This is a schematic diagram of the structure of a terminal device 100 (also referred to as an electronic device or user terminal) provided in an embodiment of this application. Taking a mobile phone as an example, the terminal 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.
[0045] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0046] The controller can serve as the central nervous system and command center of the terminal device 100. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0047] 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.
[0048] 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.
[0049] The wireless communication function of the terminal device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0050] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the terminal 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.
[0051] A modem processor may include a modulator and a demodulator. The modulator modulates a low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates a received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to a baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to an application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos (e.g., video ringback tones) through a 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 housed within the same device as the mobile communication module 150 or other functional modules. In some embodiments, the modem processor may communicate with the network side (e.g., the core network, operator network) to send various communication messages.
[0052] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal device 100, including wireless local area networks (WLAN) (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.
[0053] In some embodiments, antenna 1 of terminal device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling terminal device 100 to communicate with networks and other devices via wireless communication technology. Wireless communication technologies 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. GNSS can 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).
[0054] Terminal device 100 implements display functions through a GPU, display screen 194, and 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.
[0055] 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 Miniled LED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, terminal device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0056] Internal memory 121 can be used to store computer executable program code, including instructions. Processor 110 executes various functional applications and data processing of terminal device 100 by running the instructions stored in internal memory 121. 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 terminal 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.
[0057] Terminal 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.
[0058] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of terminal device 100, in a different position than display screen 194.
[0059] 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 terminal device 100. The terminal 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 terminal device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the terminal device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
[0060] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the terminal device 100. In other embodiments of this application, the terminal 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.
[0061] The software system of terminal device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of terminal device 100.
[0062] Figure 5This is a software structure block diagram of the terminal device 100 according to an embodiment of this application. The layered architecture divides the software into several layers, each with a clear role and division of labor. Layers communicate with each other through software interfaces. In some embodiments, 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. The application layer may include a series of application packages.
[0063] like Figure 5 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.
[0064] 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.
[0065] like Figure 5 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0066] The window manager manages window programs. It can obtain screen size, determine the presence of a status bar, lock the screen, and capture screenshots. The content provider stores and retrieves data, making it accessible to applications. Data can include video, images, audio, made and received calls, browsing history and bookmarks, phone books, etc. The view system includes visual controls, such as controls for displaying text and images. The view system 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 can include views for displaying text and views for displaying images, as well as views for pop-ups that appear during application operation. The phone manager provides communication functionality for terminal devices 100. This includes managing call status (including connection and disconnection). The resource manager provides various resources to applications, such as localized strings, icons, images, layout files, video files, etc. The notification manager allows applications to display notifications in the status bar. These notifications can be used to convey informational messages and can disappear automatically after a short pause without user interaction. For example, the notification manager can be used to notify of download completion or message alerts. The notification manager can also display notifications as icons or scrolling text in the system's 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, and flashing indicator lights.
[0067] The Android runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] The Surface Manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The Media Library supports playback and recording of various common audio and video formats, as well as still image files. The Media Library supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. The 3D Graphics Processing Library implements 3D graphics drawing, image rendering, compositing, and layer processing. The 2D Graphics Engine is the drawing engine for 2D graphics.
[0072] The kernel layer is the layer between hardware and software. The kernel layer includes at least display drivers, camera drivers, audio drivers, and sensor drivers.
[0073] To facilitate understanding of the video ringback tone playback method provided in this application embodiment, the technical terms involved in this application embodiment will be briefly introduced below. For brevity, the calling terminal device during a call will be referred to as the calling terminal, and the called terminal device will be referred to as the called terminal.
[0074] (1) Media Negotiation: During session establishment, the calling and called terminals need to negotiate multimedia information to determine each other's media capabilities and exchange media data. This can be done using multimedia information such as the Session Description Protocol (SDP) request and response mechanism. Media information includes, but is not limited to, media type and encoding method. Media types include video, audio, and text. One media type can correspond to multiple encoding methods. For example, audio encoding methods include Pulse Code Modulation (PCM) and Moving Picture Experts Group Audio Layer III (MP3), while video encoding methods include Moving Picture Experts Group (MPEG), H.261, H.263, and H.264.
[0075] (2) Session Description Protocol (SDP) messages: used to create, modify, or release sessions between one or more terminals. Generally, SDP messages can be divided into two types: request messages and response messages.
[0076] Type 1: Request messages. Common request messages include: ①INVITE; ②ACK; ③PRACK; ④UPDATE.
[0077] ①INVITE: Initiates a session invitation request (also known as a call request), inviting a user to join a session. The session description is included in the message body. For a two-party call, the calling terminal indicates the media information it can accept (e.g., media type and its parameters) in the session description. The called terminal indicates the media information it wishes to accept in the message body of the successful response message, and can also indicate the media information it will send. INVITE consists of a header and a data area. The header contains the address information of the calling terminal, the address information of the called terminal, the call subject, and the call priority. The data area contains information about the session media, which can be implemented using SDP. SDP includes the media type (video, audio, or text, etc.), transport protocol (e.g., real-time transport protocol (RTP), user datagram protocol (UDP), IP or H.320, etc.), media format (MP3 audio or MPEG video, etc.), multicast or remote (unicast) address and port, etc.
[0078] ②ACK: Acknowledgment message, used to indicate the final response to the received INVITE message. This message usually corresponds to the INVITE message.
[0079] ③PRACK: A temporary acknowledgment or response to an intermediate state, similar in function to ACK.
[0080] ④UPDATE: Updates media session information, i.e., modifies the session without changing the dialog state. In SDP, sessions are typically established using an INVITE request, and after establishment, re-INVITE can be used to modify session parameters. However, before either party sends an INVITE and receives a final ACK, neither party can send a re-INVITE. In this case, if changes to the media session information are needed, UPDATE can be used to update it.
[0081] Type 2: Response Messages. Common response messages include: ① Provisional Response; ② Final Response.
[0082] ① Temporary 1XX responses indicate that the request message is being processed. For example, a 180 message can indicate that the called party is ringing, meaning that the INVITE message has been sent to the called party, notifying the calling party that the ringing has occurred, and allowing the calling party to play video ringback tones, etc. Another example is a 183 response indicating session progress, used to indicate the progress of the established conversation.
[0083] ② The final response is 2XX, 3XX, 4XX, 5XX, or 6XX, where 2XX indicates that the request has been successfully received, fully understood, and accepted. For example, 200 OK can indicate that the content portion of the SDP has been exchanged between the two parties.
[0084] (3) QCI (QoS Class Identifier): QCI is a QoS class indicator used to identify the characteristics of service data packet transmission. The range of QCI is usually from 1 to 9, corresponding to different resource types, different priorities, different delays, and different packet loss rates. For example, LTE QCI1 is VoLTE voice call, QCI2 is VoLTE video call, and QCI4 is SMS, MMS, and RCS information, etc. The smaller the QCI value, the higher the priority.
[0085] As described above, the video ringback tone playback method provided in this application embodiment is applied to a scenario where the calling terminal makes a voice call to the called terminal, the calling terminal plays a video ringback tone, and the calling terminal needs to close the video ringback tone interface after the called terminal answers the phone. The communication system between the calling terminal and the called terminal will be briefly introduced below. Figure 6An exemplary schematic diagram of the architecture of a communication system provided in an embodiment of this application is illustrated. The communication system may include a calling terminal, a called terminal, a wireless access network, and an IP multimedia subsystem (IMS). The IMS may include an evolved packet core (EPC) and an IMS domain core network.
[0086] In this context, the calling terminal and the called terminal can be devices with mobile calling capabilities, or devices capable of sharing the mobile calling capabilities of other terminal devices. Terminals can also be called by different names in different networks, such as: access terminal, user unit, user station, mobile station, remote terminal, wireless communication equipment, user agent or user device, cellular phone, cordless phone, etc.
[0087] Wireless access networks primarily consist of network equipment, also known as radio access network (RAN) equipment, which is a device that connects terminals to a wireless network. Examples include, but are not limited to: base stations, node Bs (NBs), evolved Node Bs (eNBs), transmission reception points (TRPs or TPs), radio network controllers (RNCs), base station controllers (BSCs), base transceiver stations (BTSs), home network equipment (e.g., home evolved node Bs or home node Bs, HNBs), and baseband units (BBUs).
[0088] The EPC mainly includes the Packet Data Network Gateway (PGW), Serving Gateway (SGW), and Mobility Management Entity (MME). The SGW connects to the RAN and is primarily responsible for user plane transport from terminal equipment to the core network, data buffering in terminal idle mode, initiating service requests from the network side, lawful interception, and packet data routing and forwarding. The PGW is the mobility anchor point for the 3rd Generation Partnership Project (3GPP) access network, mainly responsible for IP address allocation, charging functions, packet filtering, and policy control. The MME is mainly used for user mobility management and Evolved Packet System (EPS) bearer control.
[0089] The IMS domain core network mainly includes a Session Border Control (SBC), a Proxy Call Session Control Function (P-CSCF) network element, an Interrogating Call Session Control Function (I-CSCF) network element, an S-CSCF network element, an HSS, and at least one application server, such as a video ringback server and a video ringback tone server. The video ringback server is mainly used to provide multimedia ringback service logic and play multimedia ringback music. The video ringback tone server is used to provide multimedia ringback tone service logic and play multimedia ringback tone music.
[0090] It is understood that the above description does not constitute a limitation on the system architecture diagram of the embodiments of this application. The system architecture of the embodiments of this application may include, but is not limited to, those described above. Figure 6 The content shown.
[0091] Based on the above system architecture, the following embodiments of this application will be based on having Figure 4 and Figure 5 Taking the terminal device with the structure shown as an example, and in conjunction with the accompanying drawings and application scenarios, the video ringback tone playback method provided in this application embodiment will be specifically described.
[0092] Figure 7 This is a schematic diagram of the signaling interaction process of an example of a voice call process provided in an embodiment of this application. The voice call process includes the playback of a video ringback tone, and may include:
[0093] S11, the calling terminal sends a voice call request (INVITE message) to the core network.
[0094] The voice call request (INVITE message) may include the calling terminal's SDP information 1. This SDP information 1 may include, but is not limited to, call type, calling and called numbers, media types and encodings supported by the calling party, etc. This voice call request is used by the calling terminal and the called terminal to negotiate multimedia information. In this embodiment, if the calling terminal initiates a voice call, the call type carried in the SDP information 1 is m = audio. Simultaneously, when the calling terminal sends the voice call request, it also determines a call identifier (call_id), which will be used in all subsequent message interactions during this voice call.
[0095] S12, the core network sends a temporary response (100TRYING message) to the calling terminal.
[0096] Among them, the temporary response (100TRYING message) can indicate the core network's response to the voice call request sent by the calling terminal, indicating that the voice call request has been received.
[0097] S13, the core network sends a temporary response (Message 183) to the calling terminal.
[0098] The temporary response (Message 183, Session in progress) can be used to indicate that a call connection is in progress. It can carry detailed information to convey the call's progress and can also carry the called terminal's SDP information 2. The called terminal's SDP information 2 may include, but is not limited to, call type, media types and encodings supported by the called party, etc., to negotiate multimedia information with the calling terminal. In this embodiment, the call type carried in the SDP information 2 is m = audio.
[0099] S14, establish QCI1 bearer between the calling terminal and the core network.
[0100] QCI1 represents VoLTE voice calls. This means that a dedicated QCI1 voice bearer needs to be established during a VoLTE call. If this bearer is not established in a timely manner during the call initiation process, the call can easily fail. Therefore, the calling terminal needs to establish a QCI1 bearer with the core network to ensure subsequent call success. It's understandable that the called terminal also needs to establish a QCI1 bearer with the core network.
[0101] S15, the calling terminal sends a temporary acknowledgment (PRACK message) to the core network.
[0102] After the calling terminal receives the temporary response (183 message) from the core network, it can return a PRACK temporary acknowledgment message to the core network to indicate that the aforementioned temporary response has been received.
[0103] S16, the core network sends a final response (PRACK 200OK message) to the calling terminal.
[0104] In other words, the core network can reply with a final response (200 OK message) to the calling terminal's PRACK message, indicating that the two parties have completed the exchange of SDP information.
[0105] S17, the calling terminal sends an UPDATE message to the core network.
[0106] Typically, after the aforementioned SDP information exchange is completed, the calling terminal needs to reserve audio resources to ensure a smooth voice call, and the called terminal also reserves resources. To guarantee a normal call between the calling and called terminals, both parties can confirm the completion of audio resource reservation. That is, after completing resource reservation, the calling terminal can send an UPDATE message to the core network to update multimedia information. To distinguish it from subsequent UPDATE messages, this UPDATE message can be referred to as the first UPDATE message.
[0107] S18, the core network sends a final response (UPDATE 200 OK message) to the calling terminal.
[0108] In other words, the core network can reply with a final response (200 OK message) to the calling terminal's UPDATE message, confirming the audio resource reservation result.
[0109] S19: After confirming that the resource reservation is complete, the core network sends an UPDATE message to the calling terminal.
[0110] Here, the core network can continue to send UPDATE messages to the calling terminal to negotiate video ringback tone media information. To distinguish it from the previous UPDATE messages, this UPDATE message can be a second UPDATE message.
[0111] Since the called terminal supports video ringback tones, the core network needs to change the negotiated multimedia information to the media information corresponding to the video ringback tone. Therefore, the second UPDATE message can include SDP information 3, carrying the call type of the video ringback tone. For example, the call type might be m=audio, m=video, a=content:g.3gpp.cat. The carried content:g.3gpp.cat tag can be understood as representing the video ringback tone media, used to distinguish between ordinary video call media and video ringback tone media.
[0112] S20, the calling terminal sends a final response (UPDATE 200 OK message) to the core network.
[0113] That is, the calling terminal can reply to the UPDATE message from the core network with a final response (200 OK message), which can carry the SDP information 4, the result of the video ringback tone media negotiation between the core network and the calling terminal. For example, the final response can also carry the above information m=audio, m=video, a=content:g.3gpp.cat.
[0114] S21, a QCI2 bearer is established between the calling terminal and the core network.
[0115] QCI2 can be a dedicated bearer for VoLTE video. That is, if the calling terminal plays a video ringback tone, a dedicated QCI2 bearer for video needs to be established. Therefore, the calling terminal needs to establish a QCI2 bearer with the core network to ensure that the subsequent video ringback tone can be played successfully.
[0116] S22, the calling terminal sends an UPDATE message to the core network.
[0117] Typically, after the aforementioned update information exchange is completed, the calling terminal needs to reserve video resources to ensure smooth playback of video ringback tones. At this point, the calling terminal can confirm the completion of video resource reservation with the core network. That is, after completing video resource reservation, the calling terminal can send an UPDATE message to the core network to update multimedia information. To distinguish it from subsequent UPDATE messages, this UPDATE message can be considered a third UPDATE message.
[0118] S23, the core network sends a final response (UPDATE 200 OK message) to the calling terminal.
[0119] In other words, the core network can respond to the UPDATE message from the calling terminal with a final response (200 OK message), confirming the video resource reservation result.
[0120] S24, the core network sends a temporary response (180 message) to the calling terminal.
[0121] Among them, a 180 message (such as 180 Ringring) can indicate that the called party is ringing, meaning that the INVITE message has been sent to the called terminal. At this time, the calling terminal can start playing the video ringback tone negotiated above.
[0122] After steps S11 to S24 above, i.e., the called terminal has rang and the calling terminal has played a video ringback tone, for example, a schematic diagram of the interface for the calling terminal playing the video ringback tone can be found above. Figure 1 Figure (a) shows the voice call interface, which includes recording controls, waiting controls, add call controls, video call controls, mute controls, and contact controls, as well as a video that is currently playing.
[0123] It's understandable that if a user answers the incoming call on the called terminal (i.e., clicks the answer control, also known as going off-hook), the calling terminal should normally stop playing the video ringback tone and display the voice call interface, meaning the aforementioned voice call request has been successfully responded to. The process by which the calling terminal normally stops playing the video ringback tone is as follows:
[0124] S25, the core network sends an UPDATE message to the calling terminal.
[0125] After receiving the user's input to answer the call, the called terminal can send an UPDATE message to the core network. This message carries an instruction to the core network to stop sending video data. The core network can then send this UPDATE message to the calling terminal to instruct it to turn off the video ringback tone. For example, the UPDATE message can include an instruction to set video=0. To distinguish it from previous UPDATE messages, this UPDATE message can be considered the fourth UPDATE message.
[0126] S26, the calling terminal sends a final response (UPDATE 200 OK message) to the core network.
[0127] In other words, the calling terminal can reply to the UPDATE message of the core network with a final response (200 OK message) and stop displaying the video ringback tone interface.
[0128] S27, the core network sends a final response (INVITE 200 OK message) to the calling terminal.
[0129] Since the called terminal has already answered the incoming call and agreed to the call request (INVITE), it can reply with a final response (200 OK message). The core network then sends this final response to the calling terminal, indicating that the voice call request has been successfully established.
[0130] S28, the calling terminal sends a final acknowledgment (ACK message) to the core network.
[0131] After the calling terminal receives the INVITE 200 OK message from the core network, it can also reply with an ACK message to the core network, thus completing the final confirmation. At this point, the calling terminal can proceed from the above... Figure 1 (a) in the middle is switched to Figure 2 The interface.
[0132] The above process describes a call between the calling terminal and the called terminal. Simultaneously, the calling terminal plays a video ringback tone and then closes the video ringback tone interface normally. It can be understood that the process of sending messages between the calling terminal and the core network can be executed by the modem in the calling terminal; during the video ringback phase, the video ringback server in the core network can exchange messages with the calling terminal's modem.
[0133] Regarding the above Figure 7 The voice call process shown can be further explained on the calling terminal. Figure 8 This is a schematic diagram of the main flow of a voice call process provided in an embodiment of this application, which may include:
[0134] S101, the calling terminal initiates a voice call request.
[0135] Among them, the voice call request initiated by the calling terminal refers to a voice-only call request, which can be initiated by sending an INVITE message.
[0136] S102, the calling terminal receives an UPDATE message sent by the core network.
[0137] Here, the UPDATE message is used by the core network to negotiate video ringback tone media information with the calling terminal, which is the second UPDATE message in S19 above.
[0138] S103, the calling terminal receives a temporary response sent by the core network.
[0139] The temporary response 180 message (such as 180 Ringring) is used to indicate that the called party is ringing, and the calling terminal can start playing the negotiated video ringback tone.
[0140] S104, the calling terminal plays a video ringback tone and displays the video ringback tone interface.
[0141] That is, at this time, the calling terminal plays a video ringback tone (audio Rx) and displays the above. Figure 1 The interface shown in Figure (a) is shown in the figure.
[0142] S105, the calling terminal receives an UPDATE message sent by the core network.
[0143] The UPDATE message is used to instruct the calling terminal to turn off the video ringback tone (audio only), that is, the called terminal has answered the phone. The UPDATE message can carry the instruction of video=0.
[0144] S106, the calling terminal switches the video ringback tone interface to the voice call interface.
[0145] S107, the calling terminal receives the final response sent by the core network.
[0146] That is, at this time, the calling terminal can access the above-mentioned... Figure 1 (a) in the middle is switched to Figure 2 The interface.
[0147] From the above Figure 7 and Figure 8 As shown in the example, under normal circumstances, after the called terminal answers the phone, the core network sends an UPDATE message with video=0 to the calling terminal, so the calling terminal can stop displaying the video ringback tone interface. However, in some abnormal scenarios, due to network anomalies or other reasons (such as the core network not sending the UPDATE message or failing to send it successfully), the calling terminal does not receive the UPDATE message with video=0 and cannot switch from the video ringback tone interface to the voice call interface.
[0148] Based on this, this application provides another example of a signaling interaction flow diagram for a voice call process, which can proactively request the network side to close the video ringback tone interface and switch to the normal voice call interface under the aforementioned abnormal circumstances, such as... Figure 9 As shown, the process may include:
[0149] S31, the calling terminal sends a voice call request (INVITE message) to the core network.
[0150] S32, the core network sends a temporary response (100TRYING message) to the calling terminal.
[0151] S33, the core network sends a temporary response (Message 183) to the calling terminal.
[0152] S34, a QCI1 bearer is established between the calling terminal and the core network.
[0153] S35, the calling terminal sends a temporary acknowledgment (PRACK message) to the core network.
[0154] S36, the core network sends a final response (PRACK 200OK message) to the calling terminal.
[0155] S37, the calling terminal sends an UPDATE message to the core network.
[0156] S38, the core network sends a final response (UPDATE 200 OK message) to the calling terminal.
[0157] S39. After confirming that the resource reservation is complete, the core network sends an UPDATE message to the calling terminal.
[0158] S40, the calling terminal sends a final response (UPDATE 200 OK message) to the core network.
[0159] S41, a QCI2 bearer is established between the calling terminal and the core network.
[0160] S42, the calling terminal sends an UPDATE message to the core network.
[0161] S43, the core network sends a final response (UPDATE 200 OK message) to the calling terminal.
[0162] S44, the core network sends a temporary response (180 message) to the calling terminal.
[0163] The implementation process of steps S31 to S44 can be found in steps S11 to S24 above, and will not be repeated here.
[0164] Next, if the user answers the current call on the called terminal, i.e., clicks the answer control (also known as going off-hook), but the core network does not send an UPDATE message to the calling terminal (video=0), the following procedure can be executed:
[0165] S45, the core network sends a final response (INVITE 200 OK message) to the calling terminal.
[0166] Since the called terminal has already answered the incoming call and has agreed to the call request (INVITE), it can reply with a final response (200 OK message). The core network then sends the final response to the calling terminal, indicating that the voice call request has been successfully established.
[0167] S46, the calling terminal sends a final acknowledgment (ACK message) to the core network.
[0168] After the calling terminal receives the INVITE 200 OK message from the core network, it can also reply with an ACK message to the core network to complete the final confirmation.
[0169] S47, the calling terminal determines whether the first condition is met. If it is met, proceed to S48; otherwise, the process ends.
[0170] The first condition can include the calling terminal currently having a voice call, but its current media capability is video capability, and the video capability corresponds to a video ringback tone media capability. In other words, it's currently making a voice call, but a video ringback tone is still in progress. If this is the case, the calling terminal needs to take the following steps to actively close the video ringback tone interface to avoid displaying the aforementioned... Figure 3 The abnormal interface shown.
[0171] In this step, the current call type can be obtained from the context information in the aforementioned signaling interaction process. For example, the call type carried in the aforementioned voice call request (INVITE message) is only m=audio (without other m-line parameters), indicating a voice call. Media capabilities can also be obtained from the context information in the aforementioned signaling interaction process. For example, the media capability m=video carried in the aforementioned second UPDATE message indicates a video capability, and the carried content:g.3gpp.cat tag indicates that the video capability corresponds to a video ringback tone media capability.
[0172] For example, the context information obtained by the calling terminal can be found in [reference needed]. Figure 10 ,Depend on Figure 10 As can be seen in Figure (a), the parameters m = audio 22698RTP, m = video 13318RTP, and a = content:g.3gpp.cat are used to determine the first condition.
[0173] It is understandable that if the core network sends an UPDATE message (video=0) to the calling terminal after the called terminal answers the call, then the first condition in this step is not met (i.e., the video capability has been turned off), and the calling terminal is actually in a normal display state, so the process can end.
[0174] S48, the calling terminal sends a re-INVITE message to the core network.
[0175] Since session parameters can be modified using re-INVITE after the session is established, the calling terminal can send a re-INVITE message to the core network to request the disabling of video ringback tones. The re-INVITE message can include the information that video=0.
[0176] It is understandable that the difference between a re-INVITE message and a regular INVITE message is as follows: the call identifier (call-id) used in the re-INVITE message must be consistent with the call identifier (call-id) of the initial INVITE message. The calling terminal can obtain the call identifier (call-id) from the aforementioned INVITE message and add it to the re-INVITE message. Also, the re-INVITE message carries a tag in the TO header field, and the value corresponding to the tag must be consistent with the tag in the TO header field of the initial INVITE 200OK message.
[0177] For example, the context information obtained by the calling terminal can be further referred to Figure 10 ,Depend on Figure 10 As shown in Figure (b), it contains the parameter information call-id and tag, which are carried when sending the re-INVITE message. And, after sending the re-INVITE message, the obtained context information can be found in [reference]. Figure 10 As shown in Figure (c), m = video = 0, which means that the video ringback tone capability is turned off.
[0178] It is also understandable that the process of determining whether the first condition is met in S47 and the process of sending a re-INVITE message to the core network in S48 can be executed by the modem in the calling terminal.
[0179] S49, the calling terminal switches the video ringback tone interface to the voice call interface.
[0180] In other words, after the calling terminal sends a re-INVITE message, it can actively switch the video ringback tone interface to the voice call interface. Here, the calling terminal can instruct the AP processor to switch the video ringback tone interface to the voice call interface, i.e., from the above... Figure 1 (a) in the middle is switched to Figure 2 The interface.
[0181] S50, the core network sends a final response (INVITE 200 OK message) to the calling terminal.
[0182] After receiving the re-INVITE message, the core network can reply with a final response (200 OK message) and send the final response to the calling terminal.
[0183] S51, the calling terminal sends a final acknowledgment (ACK message) to the core network.
[0184] After the calling terminal receives the INVITE 200 OK message from the core network, it can also reply with an ACK message to the core network to complete the final confirmation.
[0185] In the above embodiments, in the scenario of a voice call, the calling terminal displays the video ringback tone signed by the called terminal. After the called terminal has answered the phone, if the calling terminal determines that the current call is a voice call but still has video capabilities and the video capabilities correspond to video ringback tone media, it will actively request the network side to turn off the video ringback tone and switch to the normal voice call interface, thereby improving the user experience.
[0186] Regarding the above Figure 9 The voice call process shown can be further explained on the calling terminal. Figure 11 This is a schematic diagram of the main flow of another voice call process provided in this application embodiment, including the playback process of video ringback tones, which may include:
[0187] S201, The calling terminal initiates a voice call request.
[0188] Among them, the voice call request initiated by the calling terminal refers to a voice-only call request, which can be initiated by sending an INVITE message.
[0189] S202, the calling terminal receives an UPDATE message sent by the core network.
[0190] Here, the UPDATE message is used by the core network to negotiate video ringback tone media information with the calling terminal, which is the second UPDATE message in S19 above, carrying information m=audio, m=video, a=content:g.3gpp.cat.
[0191] S203, the calling terminal received a temporary response from the core network.
[0192] Among them, the temporary response 180 message (such as 180 Ringring) is used to indicate that the called party is ringing, and the calling terminal can start playing the negotiated video ringback tone.
[0193] S204, the calling terminal plays a video ringback tone and displays the video ringback tone interface.
[0194] That is, at this time, the calling terminal plays a video ringback tone (audio Rx) and displays the above. Figure 1 The interface shown in Figure (a) is as follows. The calling terminal can instruct the AP processor to display the video ringback tone interface.
[0195] S205, the calling terminal receives the final response sent by the core network.
[0196] After the called terminal answers the phone, the core network can send a final response (INVITE 200 OK message) to the calling terminal. However, the core network does not send an UPDATE message to instruct the calling terminal to turn off the video ringback tone.
[0197] S206, the calling terminal determines whether the first condition is met. If it is met, then proceed to S207; otherwise, the process ends.
[0198] In this embodiment, after receiving the final response from the core network, the calling terminal can proactively determine whether the first condition is met. If it is met, it can proactively close the video ringback tone interface to avoid displaying the aforementioned condition. Figure 3 The abnormal interface shown.
[0199] S207, the calling terminal sends a re-INVITE message to the core network.
[0200] The calling terminal can send a re-INVITE message to the core network to request the disabling of video ringback tones. The re-INVITE message can carry the instruction video=0, where 0 corresponds to an invalid video port number, which means the video capability is disabled.
[0201] S208, the calling terminal switches the video ringback tone interface to the voice call interface.
[0202] In other words, after the calling terminal sends a re-INVITE message, it can actively switch the video ringback tone interface to the voice call interface.
[0203] In the above embodiments, in the scenario of a voice call, the calling terminal displays the video ringback tone signed by the called terminal. After the called terminal has answered the phone, if the calling terminal determines that the current call is a voice call but still has video capabilities and the video capabilities correspond to video ringback tone media, it will actively request the network side to turn off the video ringback tone and switch to the normal voice call interface, thereby improving the user experience.
[0204] The foregoing has detailed examples of video ringback tone playback methods provided in the embodiments of this application. It is understood that, in order to achieve the above functions, the terminal device includes hardware and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.
[0205] This application embodiment can divide the terminal device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, such as a detection unit, a processing unit, a display unit, etc., or two or more functions can be integrated into one module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0206] It should be noted that all relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0207] The terminal device provided in this embodiment is used to execute the above-described video ringback tone playback method, and therefore can achieve the same effect as the above-described implementation method.
[0208] When using integrated units, the terminal device may further include a processing module, a storage module, and a communication module. The processing module is used to control and manage the actions of the terminal device. The storage module supports the execution of stored program code and data by the terminal device. The communication module supports communication between the terminal device and other devices.
[0209] The processing module can be a processor or a controller. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a combination of digital signal processing and microprocessors, etc. The storage module can be a memory. The communication module can specifically be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, or other devices that interact with other terminal devices.
[0210] In one embodiment, when the processing module is a processor and the storage module is a memory, the terminal device involved in this embodiment can be a device having... Figure 4 The device with the structure shown.
[0211] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the video ringback tone playback method of any of the above embodiments.
[0212] This application also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the video ringback tone playback method described in the above embodiments.
[0213] In addition, embodiments of this application also provide an apparatus, which may specifically be a chip, component, or module. The apparatus may include a connected processor and a memory; wherein the memory is used to store computer execution instructions, and when the apparatus is running, the processor may execute the computer execution instructions stored in the memory to cause the chip to execute the video ringback tone playback method in the above method embodiments.
[0214] In this embodiment, the terminal device, computer-readable storage medium, computer program product or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0215] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0216] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0217] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0218] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0219] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0220] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for playing video ringback tones, characterized in that, The method is executed by a first terminal device and includes: During the process of the first terminal device initiating a voice call request to the second terminal device, the video ringback tone signed by the second terminal device is played and the video ringback tone interface is displayed. Before receiving the off-hook message from the second terminal device, the first terminal device did not receive a message from the core network instructing it to turn off the video ringback tone; After receiving the off-hook message from the second terminal device, if the first condition is met, the first terminal device automatically switches the video ringback tone interface to the voice call interface. The first condition includes that the current call type of the first terminal device is a voice call, but the current media capability is video capability, and the video capability corresponds to the video ringback tone media capability.
2. The method according to claim 1, characterized in that, The first terminal device automatically switches the video ringback tone interface to a voice call interface, including: The first terminal device sends a first message to the core network and automatically switches the video ringback tone interface to a voice call interface. The first message is used to request that the video ringback tone be turned off.
3. The method according to claim 2, characterized in that, The first message is a re-INVITE message, which carries the information that video=0.
4. The method according to claim 3, characterized in that, The call identifier carried in the re-INVITE message is the same as the call identifier corresponding to the voice call request, and the tag carried in the re-INVITE message is the same as the tag corresponding to the off-hook message.
5. The method according to any one of claims 1 to 4, characterized in that, The determination that the first condition is met includes: If the first terminal device obtains the information m=audio, m=video, a=content:g.3gpp.cat through context information, then it is determined that the first condition is met.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Before receiving the off-hook message from the second terminal device, the first terminal device receives a message from the core network instructing it to turn off the video ringback tone; The first terminal device switches the video ringback tone interface to the voice call interface.
7. The method according to any one of claims 1 to 6, characterized in that, If the first condition is determined to be met, the first terminal device automatically switches the video ringback tone interface to a voice call interface, including: If the modem processor in the first terminal device determines that the first condition is met, then the application processor (AP) in the first terminal device is notified to switch the video ringback tone interface to the voice call interface.
8. A terminal device, characterized in that, include: One or more processors; One or more memory units; The memory stores one or more programs that, when executed by the processor, cause the terminal device to perform the method as described in any one of claims 1 to 7.
9. 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 one or more processors being used to invoke computer instructions to cause the terminal device to perform the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1 to 7.