IMS call method, and terminal device and storage medium

WO2026218602A1PCT designated stage Publication Date: 2026-10-22HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/139430
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-04-15
Filing Date
2025-12-02
Publication Date
2026-10-22

Smart Images

  • Figure CN2025139430_22102026_PF_FP_ABST
    Figure CN2025139430_22102026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Disclosed are an IMS call method, and a terminal device and a storage medium. The IMS call method comprises: a first terminal device sending a first request message, which comprises first video configuration parameters; receiving a second message, which comprises a first bandwidth, wherein the first bandwidth is a bandwidth allocated by a network for the current call; when the first bandwidth does not match the first video configuration parameters, the first terminal device sending a first update message to the network, so as to update video configuration parameters of a second terminal device, wherein the first update message comprises second video configuration parameters matching the first bandwidth; and then, on the basis of the second video configuration parameters and the first bandwidth, making the current call. In this way, a terminal device can adapt to a video bandwidth allocated by a network, thereby preventing a situation in which video configuration parameters do not match the bandwidth, and thus improving the call experience of a user.
Need to check novelty before this filing date? Find Prior Art

Description

An IMS calling method, terminal device and storage medium

[0001] This application claims priority to Chinese Patent Application No. 202510474740.7, filed on April 15, 2025, entitled "An IMS Calling Method, Terminal Equipment and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to an IMS calling method, terminal equipment, and storage medium. Background Technology

[0003] When a terminal device initiates an IP Multimedia Subsystem (IMS) video call, it sends its supported bandwidth and video configuration parameters (profile-level-id) to the network, which then allocates bandwidth to the terminal. If the bandwidth actually allocated by the network differs significantly from the bandwidth supported by the terminal device, video calls may experience stuttering, dropped frames, blurriness, pixelation, and other abnormalities, severely impacting the user's video call experience. Summary of the Invention

[0004] This application provides an IMS calling method, terminal device, and storage medium, which can improve the user's call experience. The technical solution is as follows:

[0005] In a first aspect, embodiments of this application provide an IMS call method applied to a first terminal device. The method includes: the first terminal device sending a first request message to a network, the first request message including first video configuration parameters, the first request message being used by the first terminal device to initiate Session Description Protocol (SMAP) negotiation with the network; receiving a second message from the network, the second message including a first bandwidth, the first bandwidth being bandwidth allocated by the network for this call; if the first bandwidth does not match the first video configuration parameters, the first terminal device sending a first update message to the network, the first update message being used to update the video configuration parameters of the second terminal device, the first update message including second video configuration parameters, the first bandwidth matching the second video configuration parameters, and the level in the second video configuration parameters being different from the level in the first video configuration parameters; performing this call based on the second video configuration parameters and the first bandwidth; and performing this call based on the first video configuration parameters and the first bandwidth if the first bandwidth matches the first video configuration parameters.

[0006] Based on the above technical solution, when initiating an IMS video call, the calling terminal can initiate session description protocol negotiation via a first message. After negotiation, the network can allocate bandwidth for this call via a second message. If the first bandwidth actually allocated by the network does not match the first video configuration parameters supported by the calling terminal, the calling terminal can update its own video configuration parameters from the first to the second, and send a first update message to the network requesting an update of the second terminal device's video configuration parameters. This causes the second terminal device to update its video configuration parameters to the second. Subsequently, the first and second terminal devices conduct the call based on the second video configuration parameters and the first bandwidth. When updating the video configuration parameters, the level in the second video configuration parameters is controlled to be different from the level in the first video configuration parameters, ensuring that the first bandwidth matches the second video configuration parameters. This allows the terminal device to adapt to the video bandwidth allocated by the network, preventing mismatches between video configuration parameters and bandwidth, thereby improving the user's call experience.

[0007] In conjunction with the first aspect, in some implementations of the first aspect, after receiving the second message, the method further includes: determining whether the first bandwidth matches the first video configuration parameters. This allows for adaptive adjustment of the video configuration parameters.

[0008] In conjunction with the first aspect and the above implementation methods, in some implementation methods of the first aspect, determining whether the first bandwidth matches the first video configuration parameters includes: determining the matching level of the first bandwidth based on the first bandwidth; determining whether the difference between the matching level of the first bandwidth and the level in the first video configuration parameters is greater than a preset threshold; if the difference between the matching level of the first bandwidth and the level in the first video configuration parameters is greater than the preset threshold, the first bandwidth and the first video configuration parameters do not match; if the difference between the matching level of the first bandwidth and the level in the first video configuration parameters is less than or equal to the preset threshold, the first bandwidth and the first video configuration parameters match. Furthermore, if the first bandwidth and the first video configuration parameters do not match, the calling terminal can update the first video configuration parameters to second video configuration parameters, where the level in the second video configuration parameters is the level that matches the first bandwidth.

[0009] In combination with the first aspect and the above implementation methods, in some implementation methods of the first aspect, determining the second video configuration parameter that matches the first bandwidth includes: based on the first bandwidth, looking up a correspondence table between bandwidth and video configuration parameters to determine the level that matches the first bandwidth.

[0010] Combining the first aspect and the aforementioned implementation methods, in some implementations of the first aspect, the first request message also includes a second bandwidth. When the first bandwidth is greater than the second bandwidth, the level in the second video configuration parameters is greater than the level in the first video configuration parameters; when the first bandwidth is less than the second bandwidth, the level in the second video configuration parameters is less than the level in the first video configuration parameters. Thus, when the network-allocated first bandwidth is small, the calling terminal can lower its level to adapt to the network-allocated video bandwidth, preventing a mismatch between video configuration parameters and bandwidth, thereby avoiding abnormalities such as stuttering, dropped frames, blurriness, and pixelation, and improving the user's call experience. When the network-allocated bandwidth is large, the calling terminal can increase its level, improving parameters such as maximum video resolution, maximum video frame rate, and maximum bitrate, thereby improving the quality of the video call and providing a better user experience.

[0011] In conjunction with the first aspect and the above implementations, in some implementations of the first aspect, the first request message further includes a second bandwidth. After sending the first request message, the method further includes receiving a first response message, the first response message including a third bandwidth supported by the second terminal device, the first bandwidth being determined based on the second bandwidth and the third bandwidth. During the negotiation process, the network determines the first bandwidth based on the smaller value between the second bandwidth and the third bandwidth.

[0012] In conjunction with the first aspect and the above implementation methods, in some implementation methods of the first aspect, before sending the first request message, the above method further includes: determining whether the static video configuration parameter switch is turned on; if the static video configuration parameter switch is turned on, the first video configuration parameter is pre-configured; if the static video configuration parameter switch is not turned on, the first video configuration parameter is saved from the previous call.

[0013] In conjunction with the first aspect and the above implementation methods, in some implementations of the first aspect, the method further includes: saving the second video configuration parameters when the static video configuration parameter switch is not enabled. This way, when the calling terminal initiates an IMS video call again, it can carry the second video configuration parameters and the bandwidth matching the second video configuration parameters in the first request message.

[0014] Secondly, embodiments of this application provide an IMS call method applied to a network. The method includes: receiving a first request message, the first request message including first video configuration parameters, the first request message being used by a first terminal device to initiate Session Description Protocol (SMAP) negotiation with the network; sending a second message, the second message including a first bandwidth, the first bandwidth being the bandwidth allocated by the network for this call; and, if the first bandwidth does not match the first video configuration parameters, sending a first update message, the first update message being used to update the video configuration parameters of a second terminal device, the first update message including second video configuration parameters, the first bandwidth matching the second video configuration parameters, and the level in the second video configuration parameters being different from the level in the first video configuration parameters.

[0015] Based on the above technical solution, when initiating an IMS video call, the calling terminal can initiate session description protocol negotiation via a first message. After negotiation, the network can allocate bandwidth for this call via a second message. If the first bandwidth actually allocated by the network does not match the first video configuration parameters supported by the calling terminal, the calling terminal can update its own video configuration parameters from the first to the second, and send a first update message to the network requesting an update of the second terminal device's video configuration parameters. This causes the second terminal device to update its video configuration parameters to the second. Subsequently, the first and second terminal devices conduct the call based on the second video configuration parameters and the first bandwidth. When updating the video configuration parameters, the level in the second video configuration parameters is controlled to be different from the level in the first video configuration parameters, ensuring that the first bandwidth matches the second video configuration parameters. This allows the terminal device to adapt to the video bandwidth allocated by the network, preventing mismatches between video configuration parameters and bandwidth, thereby improving the user's call experience.

[0016] In conjunction with the second aspect, in some implementations of the first aspect, the mismatch between the first bandwidth and the first video configuration parameters is determined by the first terminal device based on the matching level of the first bandwidth and the level in the first video configuration parameters.

[0017] In combination with the second aspect and the above implementation methods, in some implementation methods of the first aspect, the level of the first bandwidth matching is determined by the first terminal device by looking up the correspondence table between the bandwidth and the video configuration parameters based on the first bandwidth.

[0018] Combining the second aspect and the above implementation methods, in some implementations of the first aspect, the first request message also includes a second bandwidth. When the first bandwidth is greater than the second bandwidth, the level in the second video configuration parameters is greater than the level in the first video configuration parameters; when the first bandwidth is less than the second bandwidth, the level in the second video configuration parameters is less than the level in the first video configuration parameters. Thus, when the network-allocated first bandwidth is small, the calling terminal can lower its level to adapt to the network-allocated video bandwidth, preventing a mismatch between video configuration parameters and bandwidth, thereby avoiding abnormalities such as stuttering, dropped frames, blurriness, and pixelation, and improving the user's call experience. When the network-allocated bandwidth is large, the calling terminal can increase its level, improving parameters such as maximum video resolution, maximum video frame rate, and maximum bitrate, thereby improving the quality of the video call and providing a better user experience.

[0019] In conjunction with the second aspect and the above implementation methods, in some implementation methods of the first aspect, the first request message further includes a second bandwidth. After receiving the first request message, the above method further includes: sending a first response message, the first response message including a third bandwidth supported by the second terminal device, the first bandwidth being determined based on the second bandwidth and the third bandwidth.

[0020] Thirdly, embodiments of this application provide a terminal device, including: one or more processors; one or more memories; the memories store one or more programs, which, when executed by the processors, cause the terminal device to perform any of the possible methods described in the first aspect.

[0021] Fourthly, embodiments of this application provide an apparatus included in an electronic device, which has the function of implementing the behaviors of the electronic device in the above aspects and possible implementations thereof. The functions 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 display module or unit, a detection module or unit, a processing module or unit, etc.

[0022] Fifthly, embodiments of this application provide a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the methods described in the first or second aspect above.

[0023] In a sixth aspect, embodiments of this application provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods described in the first or second aspect above.

[0024] The technical effects achieved by the third, fourth, fifth, and sixth aspects mentioned above are similar to those achieved by the corresponding technical means in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0025] Figure 1 shows a schematic diagram of a network architecture provided in an embodiment of this application;

[0026] Figure 2 shows a session interaction flowchart provided in an embodiment of this application;

[0027] Figure 3 illustrates a communication architecture diagram between a calling terminal and a network provided in an embodiment of this application.

[0028] Figure 4 shows a flowchart of an IMS calling method provided in an embodiment of this application;

[0029] Figure 5 shows a schematic diagram of the structure of a terminal device provided in an embodiment of this application;

[0030] Figure 6 shows a schematic diagram of the structure of a device provided in an embodiment of this application;

[0031] Figure 7 shows a schematic diagram of another device provided in an embodiment of this application. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings. Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0033] The technical solutions provided in this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5th Generation (5G) mobile communication systems, and New Radio (NR). The 5G mobile communication systems in this application include non-standalone (NSA) 5G mobile communication systems and standalone (SA) 5G mobile communication systems. The technical solutions provided in this application can also be applied to future communication systems, such as 6th Generation (6G) mobile communication systems and 7th Generation (7G) mobile communication systems. The technical solutions provided in this application can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems, or other communication systems. This application does not limit the scope of the embodiments.

[0034] The following example, with reference to Figure 1, illustrates a network architecture applicable to an embodiment of this application.

[0035] The network architecture shown in Figure 1 includes: a calling terminal, a called terminal, and an Internet-protocol multimedia subsystem (IMS) network 30. When the calling terminal 10 needs to establish a video call with the called terminal 20, the calling terminal 10 can initiate a call request message to the IMS core network based on IMS voice call technologies, such as Voice over Long-Term Evolution (VoLTE) and Voice over NR (VoNR), thereby establishing a call with the called terminal 20.

[0036] In this embodiment, the IMS network 30 is a collective term for core network equipment and access network equipment responsible for voice / video services, including the Internet-protocol multimedia subsystem (IMS) on the calling side and the IMS on the called side. The IMS network can be a collection of multiple devices capable of processing audio, video, and multimedia services, or it can be understood as a collection of multiple servers capable of processing audio, video, and multimedia services. The IMS network may include one or more network devices, such as a call session control function (CSCF) network element, an IMS access media gateway (AGW), a data channel signaling function (DCSF) network element, a data channel media function (DCMF) network element, a home subscriber server (HSS), etc.

[0037] Access network equipment can be a base station, an evolved Node B (eNodeB), a radio network controller (RNC), a node B (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (e.g., a home evolved Node B or a home node B (HNB)), a base band unit (BBU), an access point (AP) in a Wi-Fi system, a wireless relay node, a wireless backhaul node, a transmission point (TP), a transmission and reception point (TRP / TP), or a remote radio head (RRH), etc. Alternatively, the network device can also be a radio unit (RU), a centralized unit (CU), a distributed unit (DU), a CU control plane (CU-CP) node, or a CU user plane (CU-UP) node. This application does not limit the specific technology or device form used in the embodiments. It is understood that all or part of the functions of the wireless access network device in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The embodiments of this application do not limit the specific technology or device form used in the wireless access network device.

[0038] It should be understood that in this embodiment, the user who actively calls another user is called the calling user, the other user who receives the call is called the called user, the calling user's terminal device is called the calling terminal, and the called user's terminal device is called the called terminal. It is understood that the calling and called are corresponding terms, and the calling terminal and called terminal are only for ease of distinction and should not constitute any limitation on the functionality of the terminal devices themselves. This embodiment uses a first terminal device as the calling terminal and a second terminal device as the called terminal for illustration.

[0039] In this embodiment, the calling terminal or the called terminal can be any electronic device with call functionality. Exemplarily, the calling terminal or the called terminal is user equipment (UE). The UE can be any device capable of accessing a network, and can also be referred to as terminal equipment, terminal device, access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device, etc. The UE can be a device that provides voice, video, and data connectivity to the user, such as a handheld device or vehicle-mounted device with wireless connectivity. For example, terminals can be mobile phones, tablets, computers with wireless transceiver capabilities (such as laptops, PDAs, etc.), mobile internet devices (MIDs), virtual reality (VR) devices, AR devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, wearable devices, terminal devices in 4G / 5G networks, or terminal devices in future evolved public land mobile networks (PLMNs), etc.

[0040] The network architecture described above for the embodiments of this application is merely an example. The network architecture applicable to the embodiments of this application is not limited to this. Any network architecture capable of implementing the functions of the above-described network elements is applicable to the embodiments of this application. That is, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0041] To facilitate understanding of the technical solutions in the embodiments of this application, the terms involved in the embodiments of this application will be briefly explained below.

[0042] 1. IP Multimedia Subsystem (IMS): An IP-based network architecture that provides multimedia services such as voice and video calls and data transmission over a network.

[0043] 2. IMS video call: The communication device participates as the caller or the called party, and transmits audio and / or video content in real time with one or more other communication devices through the network element in IMS to achieve the purpose of video interaction.

[0044] IMS video calls can be one-to-one or one-to-many (such as conferences); this application example uses a one-to-one format, but related solutions can be used for one-to-many formats.

[0045] 3. Session Description Protocol (SDP): A text-based protocol used to describe multimedia session parameters.

[0046] During the establishment of a session, due to the differences between the calling and called terminals, their audio and video support capabilities differ. Therefore, before conducting some audio and video sessions, it is necessary to exchange information such as audio and video encoding and decoding capabilities, network bandwidth, and transmission protocols. This information that needs to be negotiated can be described using SDP.

[0047] It should be noted that although SDP has the ability to describe these capability parameters, SDP is not a transport protocol. It needs to be carried out by protocols such as Real Time Streaming Protocol (RTSP), Session Initiation Protocol (SIP), and Hypertext Transfer Protocol (HTTP) for transmission and exchange.

[0048] 4. Bandwidth: The amount of data that a link can transmit per unit of time, measured in bits per second (bit / s).

[0049] 5. Video configuration parameter (profile-level-id): A parameter in video encoding that identifies the profile and level of the H.264 video stream encoding. This field is typically found in the video negotiation SDP message.

[0050] The profile-level-id is a 3-byte integer, with all 3 bytes represented in hexadecimal. The 3 bytes of profile-level-id are: profile_idc, profile_iop, and level_idc.

[0051] The first byte of profile-level-id, profile_idc, indicates the encoding profile of the current bitstream. The profile profile can be determined based on the value of profile_idc. The profile profiles in the H.264 standard include: Baseline Profile, with a profile_idc value of 66; Main Profile, with a profile_idc value of 77; and Extended Profile, with a profile_idc value of 88.

[0052] In the new standard, the encoding levels also include High, High 10, High 4:2:2, High 4:4:4, High 10Intra, High 4:2:2Intra, High 4:4:4Intra, etc., each represented by a different profile_idc value.

[0053] The second byte of `profile-level-id`, `profile_iop`, is composed of `constraint_set0_flag`, `constraint_set1_flag`, `constraint_set2_flag`, `constraint_set3_flag`, `constraint_set4_flag`, `constraint_set5_flag`, and two reserved bits, arranged in order of bit importance (starting from the most important bit). The specific meaning of each bit is as follows:

[0054] constraint_set0_flag: 1 means that the encoded video sequence fully complies with all clauses of A.2.1, 0 means not necessarily.

[0055] constraint_set1_flag: 1 means that the encoded video sequence fully complies with all terms of A.2.2, 0 means not necessarily.

[0056] constraint_set2_flag: 1 means that the encoded video sequence fully complies with all clauses of A.2.3, 0 means not necessarily.

[0057] It should be noted that when any one of the above three bits is set to 1, it means that the video sequence fully complies with all the terms of A.2. When proifle_idc is 44, 100, 110, 122 or 244, these three bits must be 0.

[0058] constraint_set3_flag: (1) When profile_idc is 66, 77 or 88 and level_idc is 11, 1 represents conforming to Annex A for level 1b, and 0 represents conforming to Annex for level 1.1.

[0059] (2) When profile_idc is 100 or 110, 1 means conforming to Annex A for the High 10 Intra profile, and 0 does not necessarily mean conforming to Annex A for the High 10 Intra profile.

[0060] (3) When profile_idc is 122, 1 means conforming to Annex A for the High 4:2:2 Intra profile, and 0 does not necessarily mean conforming to Annex A for the High 4:2:2 Intra profile.

[0061] (4) When profile_idc is 44, this data bit should be set to 1; 0 is incorrect.

[0062] (5) When profile_idc is 244, 1 means conforming to Annex A for the High 4:4:4 Intra profile, 0 does not necessarily mean conforming to Annex A for the High 4:4:4 Intra profile.

[0063] (6) When profile_idc is 66, 77 or 88 and level_idc is not 11, 1 is reserved for future use and should be set to 0. At the same time, the decoder should ignore the value of this data bit.

[0064] constraint_set4_flag: (1) When profile_idc is 77, 88 or 100, 1 means frame_mbs_only_flag is equal to 1, and 0 means frame_mbs_only_flag may be 1 or 0. frame_mbs_only_flag is a key flag bit in the sequence parameter set (SPS), which is mainly used to indicate the video scanning method and encoding mode selection.

[0065] (2) When profile_idc is 118 or 128, 1 means that the encoded video sequence complies with all the terms of H.10.1.1, and 0 does not necessarily.

[0066] (3) When profile_idc is not one of the above two values, 1 is reserved for future use and should be set to 0. At the same time, the decoder should ignore the value of this data bit.

[0067] constraint_set5_flag: (1) When profile_idc is 77, 88 or 100, 1 means that the Bslice type does not exist in the encoded video sequence, and 0 does not necessarily.

[0068] (2) When profile_idc is 118, 1 means that all the terms of H.10.1.2 are followed, while 0 does not necessarily mean that.

[0069] (3) When profile_idc is not one of the above two values, 1 is reserved for future use and should be set to 0. At the same time, the decoder should ignore the value of this data bit.

[0070] constraint_set6_flag is reserved and set to 0. constraint_set7_flag is reserved and set to 0. For a more detailed explanation of profile_iop, please refer to existing relevant content; this application's embodiments will not elaborate further.

[0071] The third byte, `level_idc`, of `profile-level-id` indicates the encoding level of the current bitstream. The encoding level defines parameters such as maximum video resolution, maximum video frame rate, and maximum bitrate under certain conditions. For example, different levels correspond to different parameter values, as shown in Table 1 below.

[0072] The level that the bitstream follows is specified by level_idc. The level value for H.264 is the decimal value of level_idc divided by 10.

[0073] Table 1

[0074] It should be understood that Table 1 above is merely an illustrative example and does not constitute a limitation on the technical solutions provided in the embodiments of this application. There may actually be more or fewer levels, and each level may correspond to more or fewer parameter types. In different standards or regulations, the parameter types and values ​​corresponding to different levels may vary.

[0075] For example, assuming the value of profile-level-id is "42E01F", the value of profile_idc is 42 (hexadecimal), which is 66 in decimal, so the corresponding level is the base level; the value of level_idc is 1F, which is 31 in decimal, so the corresponding level is 3.1.

[0076] There are various profiles and levels for bitstreams, and not every encoder or decoder supports every profile and level. During an IMS video call, the calling and called terminals can negotiate their respective supported video configuration parameters and bandwidth based on SDP information from the SIP protocol. After SDP negotiation, the network can allocate bandwidth resources for the video call.

[0077] It's understandable that a higher encoding level corresponds to higher decoding performance in terms of resolution, bit rate, and frame rate, resulting in higher video clarity, but also requiring more network bandwidth during transmission. If the actual network bandwidth doesn't match the encoding level, it won't be sufficient to support the high bit rate of the video, and video calls will not be smooth.

[0078] Figure 2 is a flowchart illustrating a calling method. The following explanation, in conjunction with Figure 2, provides an example to illustrate the existing problems.

[0079] S201, the calling terminal sends an invite message to the IMS network. Correspondingly, the IMS network receives the invite message.

[0080] The invite message is a type of SIP message used to indicate that the caller is inviting the called party to participate in the session.

[0081] The invite message can carry SDP information used by the calling terminal to establish an IMS video call. For example, according to the settings in Table 2, the invite message sent by the calling terminal to the IMS network may include field 1, which may indicate the video configuration parameters profile-level-id and bandwidth supported by the calling terminal.

[0082] Table 2

[0083] It should be noted that in the example above, the basic attributes of the media stream in the line containing "m=video 65360RTP / AVP 114 115" include: media type (e.g., video), receiving port (e.g., 65360), transport protocol (e.g., RTP / AVP), and a list of supported codecs (e.g., 114, 115). The line containing "b=AS:960" indicates the bandwidth requested for this media, which is 960kbps in this case. The lines containing "b=RS:8000" and "b=RR:6000" both indicate the transmission frequency. "a=rtpmap:96H264 / 90000" indicates mapping a payload type of 96 to H.264 encoding at a sampling rate of 90000 Hz. "a=fmtp:114" indicates that the load type (PT) is 114, and "profile-level-id=42801E" indicates that the calling terminal supports video configuration parameters of 42801E. Here, the value of profile_idc is 42, which is 66 in decimal, so the corresponding profile is the basic profile; the value of level_idc is 1E, which is 30 in decimal, so the corresponding level is 3.

[0084] S202, the IMS network sends a 183 message to the calling terminal. Correspondingly, the calling terminal receives the 183 message.

[0085] The 183 message, also known as a session progress response message, indicates that some operations are being processed to complete the invite request.

[0086] After receiving the invite message from the calling terminal, the IMS network sends a 183 message in response to the invite message to the calling terminal. The 183 message can carry the video configuration parameters profile-level-id and maximum bandwidth supported by the peer.

[0087] For example, according to the settings in Table 3, the 183 message may include field 2, which may indicate the video configuration parameters profile-level-id and bandwidth supported by the called terminal.

[0088] Table 3

[0089] In the example above, the called terminal supports the video configuration parameter profile-level-id of 42801E. The corresponding profile and level of the called terminal are the basic level and 3, respectively. "b=AS:270" means that the bandwidth is 270kbps.

[0090] It should be understood that Field 1 and Field 2 above are merely exemplary descriptions and do not impose any limitations on the embodiments of this application.

[0091] S203, the IMS network sends a non-access-stratum (NAS) message to the calling terminal. Correspondingly, the calling terminal receives the NAS message.

[0092] The NAS message is used to allocate the maximum video bandwidth to the calling terminal. For example, according to the settings in Table 4, the NAS message may include field 3, which indicates the bandwidth allocated by the network.

[0093] Table 4

[0094] It should be noted that in the example above, the Quality of Service (QCI) identifier equal to 2 indicates that the parameter in field 3 is used for video calls. The maximum uplink and downlink bit rates are both 280kbps, indicating that the network actually allocated 280kbps of bandwidth for this IMS video call. Subsequently, the calling and called parties established a call and conducted the call based on the video configuration parameter 42801E and the bandwidth of 280kbps.

[0095] As shown in Figure 2, when the bandwidth supported by the called terminal is inconsistent with that supported by the calling terminal, the network allocates resources based on the smaller bandwidth difference. This results in a discrepancy between the actual bandwidth allocated by the network and the bandwidth requested by the calling terminal. When the difference between the actual allocated bandwidth and the requested bandwidth is significant, a mismatch occurs between the allocated bandwidth and the video configuration parameter level. The calling terminal requests a higher video configuration parameter level, requiring more network bandwidth. The actual allocated bandwidth is insufficient to support this requirement, leading to video call stuttering, frame drops, blurriness, pixelation, and other abnormalities, severely impacting the user's video call experience.

[0096] In other scenarios, even if the bandwidth supported by the called terminal is the same as that supported by the calling terminal, for example, if both the calling and called terminals support a bandwidth of 960kbps, the actual bandwidth allocated by the network may be 280kbps due to network resource constraints. This results in the actual bandwidth allocated by the network being less than the bandwidth requested by the calling terminal and the difference being significant, leading to poor video call quality.

[0097] To address the aforementioned technical problems, this application provides an IMS call method. When the bandwidth allocated by the network is less than the bandwidth requested by the calling terminal, the calling terminal can update its local video configuration parameters to adapt to the allocated video bandwidth, preventing a mismatch between video configuration parameters and bandwidth, thereby improving the quality of video calls and enhancing the user experience.

[0098] Figure 3 shows a communication architecture diagram between a calling terminal and the network.

[0099] It is understood that the layered architecture currently used in communication systems applied to calling terminals can divide the software into several layers, with communication between layers through software interfaces. These layers may include the application layer 301, the framework layer 302, the kernel layer 303, the modem 304, etc. The following description uses the layer containing the functional modules involved in the method provided in the embodiments of this application as an example.

[0100] As shown in Figure 3, the application layer 301 may include a series of application packages (APKs) 3011. APKs 3011 may include gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, SMS, and third-party applications (not shown in the figure), which are not limited here.

[0101] The framework layer 302 provides an application programming interface (API) and programming framework for the applications in the application layer 301. The framework layer 302 includes some predefined functions.

[0102] The framework layer 302 may include a telephony module 3021 and a network detection module 3022. The telephony module 3021 can establish media sessions for the calling terminal and implement voice services under a packet-switched network. That is, the telephony module 3021 can initiate calls to and receive calls from the operator's network. The operator's network can be a cellular network or a wireless LAN, etc., and is not limited here.

[0103] The network detection module 3022 can determine the network communication status of the calling terminal based on the Transmission Control Protocol / Internet Protocol (TCP / IP). TCP / IP is a communication transmission protocol and also the most basic communication protocol in a network.

[0104] It is understood that the framework layer 302 may also include system services, window manager, view system, resource manager, notification manager, display engine service, surfaceflinger, graphics system, etc. (not shown in the figure), and is not limited here.

[0105] Kernel layer 303 can include sockets and TCP / IP. A socket is a communication mechanism that abstracts away the communication details of various protocols, providing an abstraction of the TCP / IP protocol. A socket is the interface through which applications communicate using the TCP / IP protocol, allowing for unified and convenient use of TCP / IP functionality.

[0106] The modem 304 includes a SIP module 3048 and an air interface protocol stack. The SIP module 3048 can be used to establish, modify, and terminate multimedia sessions between the calling terminal and the IMS core network, such as voice, video, IP telephony, video conferencing, and instant messaging data communication applications. Furthermore, the air interface protocol stack in the modem 304 can be used to establish, configure, and release various radio bearer services. The air interface protocol stack can be divided into three layers: the first layer is the physical layer (PHY), the second layer is the data link layer, and the third layer is the network layer.

[0107] Specifically, the first-layer PHY 3041 can be used to provide wireless resources and physical layer processing for the data of the second and third layers.

[0108] Layer 2 can be used to establish and manage data link transmission between network nodes on top of the basic transmission services provided by the physical layer. Specifically, Layer 2 can include medium access control (MAC) 3042, radio link control (RLC) 3043, and packet data convergence protocol (PDCP) 3044.

[0109] The MAC 3042 can handle processes such as mapping, multiplexing and dereferencing between logical channels and transport channels, uplink and downlink scheduling, and random access.

[0110] PDCP 3044 can handle encryption / decryption and integrity protection, reordering, support out-of-order delivery, and duplicate dropping to improve the reliability of data packet transmission.

[0111] Layer 3 can be used to handle all signaling processing for the interaction between the calling terminal and the network. Specifically, Layer 3 may include NAS 3047 and Radio Resource Control (RRC) 3046.

[0112] As a non-access stratum, NAS 3047 is used to handle communication between the calling terminal and the access and mobility management function (AMF) module (not shown in the figure). The AMF is responsible for functions such as authentication, authorization, registration, mobility management, and connection management of the calling terminal.

[0113] RRC 3046, as the access layer, is used to control and configure all radio resources for lower-layer protocols, enabling communication between the calling terminal and the base station. The RRC layer can handle all messages between the calling terminal and the base station, including system messages, security management, cell reselection, measurement reporting, handover and mobility, NAS message transmission, radio resource management, etc.

[0114] It is understandable that after establishing a connection with the base station based on RRC, the calling terminal can access the evolved packet core (EPC) via the IP protocol. That is, the calling terminal's modem can obtain a unique network address (IP address) based on the IP protocol and access the EPC core network through the IP address. The EPC core network is mainly used for managing user subscription data, mobility management, and data exchange and forwarding, and supports multiple access methods, such as Long Term Evolution (LTE), 5G networks, and Wi-Fi.

[0115] In addition, after the calling terminal accesses the EPC core network, it can further access the IMS core network through the SIP module 3048.

[0116] Figure 4 is a flowchart illustrating an IMS calling method provided in an embodiment of this application.

[0117] S401, the calling terminal sends a first request message to the IMS network. Correspondingly, the IMS network receives the first request message from the calling terminal. The first request message is used to initiate SDP negotiation with the network.

[0118] The first request message could be, for example, an initial invite request message in a SIP message. For instance, the calling terminal's SIP module 3048 could send an invite message to the IMS core network to request the establishment of an IMS session with the called terminal.

[0119] The initial invite request message may also carry SDP information used by the calling terminal to establish a video call, such as the first video configuration parameters and the second bandwidth supported by the calling terminal.

[0120] Optionally, in some implementations, the calling terminal can also determine whether the static video configuration parameter switch is enabled. If the static video configuration parameter switch is not enabled, the dynamically configured video configuration parameters are used as the first video configuration parameter. If the static video configuration parameter switch is enabled, the statically configured video configuration parameters are used as the first video configuration parameter.

[0121] For statically configured video configuration parameters, in some implementations, the operator specifies the video configuration parameters and bandwidth. When the calling terminal initiates an IMS call to the network, it can configure the video configuration parameters and bandwidth specified by the operator in the first request message.

[0122] In other implementations, operators specify video configuration parameters, and when a calling terminal initiates an IMS call to the network, it can look up the bandwidth based on the video configuration parameters specified by the operator.

[0123] In other implementations, the operator specifies the bandwidth, and when the calling terminal initiates an IMS call to the network, it can look up the video configuration parameters based on the bandwidth specified by the operator.

[0124] In some other implementations, the operator does not specify video configuration parameters and bandwidth. When the calling terminal initiates an IMS call to the network, it selects the default video configuration parameters and bandwidth from the video configuration parameters it supports based on its factory settings and configures them in the first request message.

[0125] For dynamically configured video configuration parameters, in the previous call process, the calling terminal obtained video configuration parameters matching the bandwidth through the process shown in Figure 4 and saved these video configuration parameters locally. These video configuration parameters can be used during the current call.

[0126] In other words, when the static video configuration parameter switch is enabled, the first video configuration parameter is the pre-configured one. When the static video configuration parameter switch is disabled, the first video configuration parameter is the one saved from the previous call.

[0127] The video configuration parameter switch can be set at the factory of the calling terminal. Alternatively, the calling terminal may have the authority to set the video configuration parameter switch, which can be configured during the use of the calling terminal.

[0128] Optionally, in some implementations, the terminal device may use static video configuration parameters by default. Alternatively, the terminal device may use dynamic video configuration parameters by default.

[0129] For example, the invite message sent by the calling terminal to the IMS core network may include field 4. Field 4 may indicate the first video configuration parameter and the second bandwidth supported by the calling terminal.

[0130] For example, field 4 can be the same as field 1 in Table 2 above. In the example in Table 2 above, the first video configuration parameter (profile-level-id) supported by the calling terminal is 42801E, then the corresponding profile and level of the calling terminal are the basic level and 3, respectively, and the second bandwidth supported by the calling terminal is 960kbps.

[0131] S402, the network sends a 100 trying message to the calling terminal. Correspondingly, the calling terminal receives the 100 trying message.

[0132] Optionally, after receiving the first request message sent by the calling terminal, the network can reply with a 100trying message to the calling terminal as a temporary response. The 100trying message is used to indicate that the network has received the first request message sent by the calling terminal and is attempting to establish a call.

[0133] S403, the network sends a first response message to the calling terminal. Correspondingly, the calling terminal receives the first response message from the network.

[0134] The first response message is the network's response to the first request message. After receiving the invite message from the calling terminal, the network can determine that the calling terminal is requesting a video call by using the "video" tag carried in the INVITE message. Furthermore, the network can use the first response message to simulate the called terminal's SDP and conduct media negotiation with the calling terminal. The calling terminal's SIP module 3048 can receive the first response message.

[0135] The first response message could be, for example, a 183 message in SIP. The 183 message can carry the video configuration parameters supported by the called terminal and the third bandwidth.

[0136] For example, a 183 message may include field 5, which may indicate the video configuration parameters and third bandwidth supported by the called terminal.

[0137] For example, field 5 can be the same as field 2 in Table 3 above. In the example in Table 3 above, the video configuration parameter supported by the called terminal is 42801E, then the corresponding profile and level of the called terminal are the basic level and level 3, respectively, and the third bandwidth supported by the called terminal is 270kbps. It can be seen that although the calling terminal and the called terminal support different bandwidths, their video configuration parameters are the same.

[0138] In S404, after receiving the 183 message, the calling terminal sends a PRACK (Provisional Response ACK) message to the network to acknowledge the 183 message. The network then receives the PRACK message.

[0139] In S405, the network sends a PRACK 200 OK message to the calling terminal. Correspondingly, the calling terminal receives the PRACK 200 OK message. The PRACK 200 OK message is a response to the PRACK acknowledgment message in S404.

[0140] The network can further determine whether the calling terminal has initiated a resource reservation (precondition) process. If the precondition process has been initiated, a second update message and a second update response message will be added during the media negotiation process between the network and the calling terminal. The precondition process is a resource reservation mechanism that ensures sufficient bandwidth for call continuation. In some embodiments, the invite message may carry a resource reservation tag, indicating that the calling terminal has resource reservation capability and has initiated the resource reservation process.

[0141] S406, the calling terminal sends a second update message to the network. Correspondingly, the network receives the second update message from the calling terminal.

[0142] The second update message can be, for example, an update message in a SIP message. The second update message is used to confirm to the network that the calling terminal's audio and video resources have been successfully reserved, and to trigger the network to update the session state, allowing subsequent ringing and other processes.

[0143] S407, the network sends a second update response message to the calling terminal. Correspondingly, the calling terminal receives the second update response message.

[0144] The second update response message is the network's response to the second update message. For example, the second update response message can be a 200 OK message in SIP.

[0145] It is understood that steps S406-S407 are optional. If the resource reservation process is not initiated, steps S406-S407 will not be performed.

[0146] S408, the network sends a second message to the calling terminal. Correspondingly, the calling terminal receives the second message.

[0147] During session negotiation, the calling terminal supports a bandwidth of 960kbps, and the called terminal supports a bandwidth of 270kbps. When allocating resources, the network will allocate the maximum bandwidth for this video call based on the smaller bandwidth value (270kbps), which is close to the smaller bandwidth value.

[0148] For example, the second message could be a PDU session modification command in a NAS message. The IMS access network sends a PDU session modification command to the calling terminal via a NAS message, which includes quality of service parameters, such as a first bandwidth. The first bandwidth is the maximum bandwidth of the dedicated video bearer allocated by the network for this call.

[0149] For example, a NAS message may include field 6, which may indicate the first bandwidth actually allocated to the network.

[0150] For example, field 6 can be the same as field 3 in Table 4 above. In the example in Table 3 above, the first bandwidth actually allocated to the network is 280kbps.

[0151] S409, the calling terminal sends a second response message to the network. Correspondingly, the network receives the second response message.

[0152] The second response message could be, for example, a PDU Session Modification Complete message. After receiving the PDU session modification command, the calling terminal configures the local bearer resources according to the parameters therein, and confirms the completion of the modification to the IMS access network through the PDU Session Modification Complete message.

[0153] It should be noted that, except for steps S408 and S409, the network in the remaining steps of Figure 4 refers to the IMS core network.

[0154] S410, the calling terminal determines whether the first bandwidth matches the first video configuration parameters it supports.

[0155] If the first bandwidth matches the first video configuration parameters, proceed to steps S413-S415. If the first bandwidth does not match the first video configuration parameters, proceed to steps S411-S415.

[0156] In some implementations, the calling terminal can look up the correspondence between bandwidth and video configuration parameters based on the first bandwidth actually allocated by the network, thereby obtaining the level that matches the first bandwidth.

[0157] Then, it is determined whether the difference between the first bandwidth matching level and the level in the first video configuration parameters is greater than a first preset threshold. If the difference between the first bandwidth matching level and the level in the first video configuration parameters is greater than the first preset threshold, it indicates that the first bandwidth and the first video configuration parameters do not match. In this case, the calling terminal updates its own video configuration parameters and requests the network to update the called terminal's video configuration parameters through a first update message. Then, the calling and called parties conduct this call based on the updated video configuration parameters and the first bandwidth.

[0158] In this embodiment, the updated video configuration parameters are denoted as the second video configuration parameters. The level in the second video configuration parameters is the level that matches the first bandwidth.

[0159] If the difference between the first bandwidth matching level and the first video configuration parameter level is less than or equal to the first preset threshold, it means that the first bandwidth matches the first video configuration parameter. In this case, no modification is made to the video configuration parameter, and the calling and called parties make this call based on the first video configuration parameter and the first bandwidth.

[0160] For example, the correspondence between bandwidth and video configuration parameters can be Table 1, where "maximum video coding layer bit rate" in Table 1 can represent bandwidth.

[0161] The embodiments of this application do not limit the value of the first preset threshold. For example, the first preset threshold can be 2, indicating that the difference between the level of the first bandwidth matching and the level in the first video configuration parameters can be within plus or minus 2 levels.

[0162] For example, when the first bandwidth is 280kbps, the matching level is 1.2 (corresponding to 0C in hexadecimal). However, the level in the first video configuration parameter is 3. According to Table 1, there is a difference of 4 levels between level 1.2 and level 3. Therefore, the difference between the level matched by the first bandwidth and the level in the first video configuration parameter is greater than a first preset threshold. The calling terminal can update the level (e.g., 1E) in the first video configuration parameter (e.g., 42801E) to the level matched by the first bandwidth (e.g., 0C), while leaving the other two bytes, profile_idc and profile_iop, unchanged, thus obtaining the second video configuration parameter (e.g., 42800C).

[0163] In other implementations, the calling terminal can determine whether the difference between the first bandwidth and the second bandwidth initially requested by the calling terminal exceeds a second preset threshold. If the difference between the first bandwidth and the second bandwidth exceeds the second preset threshold, the first bandwidth does not match the first video configuration parameters; then, the calling terminal can query the correspondence table between bandwidth and video configuration parameters based on the first bandwidth to obtain the level that matches the first bandwidth; based on the level that matches the first bandwidth, the level in the first video configuration parameters is updated to obtain the second video configuration parameters. If the difference between the first bandwidth and the second bandwidth exceeds the second preset threshold, the first bandwidth matches the first video configuration parameters, and the first video configuration parameters are not updated. This application embodiment does not limit the value of the second preset threshold.

[0164] For example, the second preset threshold can be 500. When the first bandwidth is 280kbps and the second bandwidth is 960kbps, the difference between the first bandwidth and the second bandwidth is 680, which exceeds the second preset threshold. Therefore, the first bandwidth does not match the first video configuration parameter. Consequently, the calling terminal can determine that the matching level of the first bandwidth is 1.2, and can update the first video configuration parameter (e.g., 42801E) to the second video configuration parameter (e.g., 42800C).

[0165] S411, if the first bandwidth does not match the first video configuration parameters, the calling terminal sends a first update message to the network. Correspondingly, the network receives the first update message.

[0166] The first update message carries the second video configuration parameters to request the network to update the video configuration parameters of the called terminal. Optionally, the first update message may also carry the first bandwidth to request the network to update the bandwidth of the called terminal.

[0167] The first update message could be, for example, an update message in a SIP message. For instance, according to the settings in Table 5, the first update message could include field 7, which could indicate a second video configuration parameter (e.g., 42800C) and a first bandwidth (e.g., 280).

[0168] Table 5

[0169] It should be noted that field 7 is merely an illustrative example and does not limit the scope of this application's embodiments. The required field in field 7 is "profile-level-id=*", while the rest are optional.

[0170] S412, the network sends a first update response message to the calling terminal. Correspondingly, the calling terminal receives the first update response message. The first update response message is used to confirm to the calling terminal that the update is complete.

[0171] The first update response message is the network's response to the first update message sent. For example, the first update response message can be a 200 OK message in SIP.

[0172] S413, the network sends a ringing message to the calling terminal. Correspondingly, the calling terminal receives the ringing message.

[0173] A ringing message can be, for example, a 180 Ringing message in SIP. The ringing message indicates that the called terminal has received the call request and is ringing. After the called terminal rings, the calling terminal can play a customizable ringback tone.

[0174] S414, the network sends a call response message to the calling terminal. Correspondingly, the calling terminal receives the call response message.

[0175] For example, after the called terminal answers the phone (e.g., the called user presses the answer button), it enters a call with the calling terminal, thus establishing an IMS video call between the calling and called terminals. The called terminal then sends a call response message to the calling terminal via the network to indicate that the IMS video call between them has been successfully established. At this point, the calling and called terminals can conduct a video call through the established IMS session.

[0176] This call response message is a response to the first request message. As an example, the call response message could be an off-hook 200 OK response message.

[0177] S415: The calling terminal sends an ACK message to the network. Correspondingly, the network receives the ACK message.

[0178] After receiving the 200 OK response message, the calling terminal immediately sends an ACK message to trigger the network side to activate the media bearer channel and start media stream transmission.

[0179] Based on the above steps S401-S415, when the first bandwidth allocated by the network is relatively small, the calling terminal can reduce its level to adapt to the video bandwidth allocated by the network, preventing the video configuration parameters and bandwidth from mismatching, thereby avoiding abnormal situations such as screen stuttering, frame drops, blurring, and mosaic, and improving the user's call experience.

[0180] Optionally, if the static video configuration parameter switch is not enabled, the calling terminal can update the default value of the dynamic video configuration parameter to the second video configuration parameter. When the calling terminal initiates an IMS video call again, it can include the second video configuration parameter and the bandwidth matching the second video configuration parameter in the first request message.

[0181] When the static video configuration parameter switch is enabled, the second video configuration parameter is not saved. When the calling terminal initiates an IMS video call again, it includes the statically configured video configuration parameter and the matching bandwidth in the first request message.

[0182] It should be noted that the above embodiments describe a scenario where the first bandwidth is less than the second bandwidth. The IMS calling method provided in this application is also applicable in scenarios where the first bandwidth is greater than the second bandwidth.

[0183] For example, the first bandwidth could be 960kbps, with a matching level of 3. The second bandwidth is 280kbps, and the first video configuration parameter is 42800C, with a level of 1.2. Thus, there is a difference of four levels between level 1.2 and level 3. Therefore, the level matched by the first bandwidth differs from the level in the first video configuration parameter by more than a first preset threshold. The calling terminal can update the first video configuration parameter to the second video configuration parameter, which is 42801E. In this scenario, with a larger network bandwidth, the calling terminal can upgrade the level, increasing parameters such as maximum video resolution, maximum video frame rate, and maximum bitrate, thereby improving the quality of the video call and providing a better user experience.

[0184] In summary, in this embodiment, when the first bandwidth actually allocated by the network does not match the first video configuration parameters supported by the calling terminal, the calling terminal can update the first video configuration parameters to the second video configuration parameters and send a first update message to the network to request an update of the video configuration parameters of the second terminal device, adjusting the video configuration parameters used in this video call to match the first bandwidth. This adapts to the video bandwidth allocated by the network, preventing mismatches between video configuration parameters and bandwidth, and improving the user's call experience.

[0185] The IMS calling method provided in the embodiments of this application has been described above with reference to Figures 1 to 4. The terminal equipment and apparatus for performing the above-described IMS calling method provided in the embodiments of this application are described below.

[0186] Figure 5 shows a schematic diagram of a terminal device 100 according to some embodiments of this application. The IMS calling method mentioned in the embodiments of this application can be implemented based on the terminal device 100.

[0187] As shown in Figure 5, 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 identity module (SIM) card interface 195, etc.

[0188] 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, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU). These different processing units may be independent devices or integrated into one or more processors.

[0189] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0190] 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.

[0191] 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.

[0192] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.

[0193] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0194] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160.

[0195] 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 terminal 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.

[0196] 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.

[0197] 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.

[0198] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 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 a tuning switch.

[0199] The mobile communication module 150 can provide wireless communication solutions for use on the terminal device 100, including 2-generation wireless telephone technology (2G), 3-generation mobile communication technology (3G), 4-generation mobile communication technology (4G), and 5-generation mobile communication technology (5G).

[0200] 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.

[0201] 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 an audio device (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.

[0202] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal device 100, including wireless local area network (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.

[0203] 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. 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).

[0204] 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.

[0205] Video codecs are used to compress or decompress digital video. Terminal device 100 may support one or more video codecs. Thus, terminal device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.

[0206] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external storage 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 storage card.

[0207] 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 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. Processor 110 executes various functional applications and data processing of terminal device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located in the processor.

[0208] 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.

[0209] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Motor 191 can generate vibration feedback. Indicator 192 can be an indicator light, used to indicate charging status, battery level changes, and also to indicate messages, missed calls, notifications, etc.

[0210] 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.

[0211] It is understood that the structures illustrated in the embodiments of the present invention 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.

[0212] Referring to Figure 6, which is a schematic diagram of the IMS calling device provided in this application, the IMS calling device 600 may include a communication unit 610 and optionally a processing unit 620. The communication unit 610 can implement corresponding communication functions, which can be internal communication within the IMS calling device 600 or communication between the IMS calling device 600 and other devices. The processing unit 620 can implement corresponding processing functions. The communication unit 610 may also be referred to as a communication interface or transceiver unit. Optionally, the IMS calling device 600 may also include a storage unit, which can be used to store instructions and / or data. The processing unit 620 can read the instructions and / or data from the storage unit to enable the IMS calling device 600 to implement the aforementioned method embodiments.

[0213] In one possible design, the IMS calling device 600 can be the terminal device in the above method embodiments, or it can be a module or chip applied to the terminal device. The IMS calling device 600 can be used to execute the steps or processes performed by the terminal device in the above embodiments.

[0214] Specifically, the communication unit 610 is configured to: send a first request message, the first request message including first video configuration parameters, the first request message being used by the first terminal device to initiate session description protocol negotiation with the network; receive a second message, the second message including a first bandwidth, the first bandwidth being the bandwidth allocated by the network for this call; and, if the first bandwidth does not match the first video configuration parameters, send a first update message, the first update message being used to update the video configuration parameters of the second terminal device, the first update message including second video configuration parameters, the first bandwidth matching the second video configuration parameters, and the level in the second video configuration parameters being different from the level in the first video configuration parameters.

[0215] In one possible design, the IMS calling device 600 can be a network device in the above method embodiments, or it can be a module or chip applied to a network device. The IMS calling device 600 can be used to execute the steps or processes performed by the network device in the above embodiments.

[0216] Specifically, the communication unit 610 is configured to: receive a first request message, the first request message including first video configuration parameters, the first request message being used by the first terminal device to initiate session description protocol negotiation with the network; send a second message, the second message including a first bandwidth, the first bandwidth being the bandwidth allocated by the network for this call; and, if the first bandwidth does not match the first video configuration parameters, send a first update message, the first update message being used to update the video configuration parameters of the second terminal device, the first update message including second video configuration parameters, the first bandwidth matching the second video configuration parameters, and the level in the second video configuration parameters being different from the level in the first video configuration parameters.

[0217] For details regarding the steps or processes executed by each unit in the communication device 600, please refer to the above method embodiments; they will not be described in detail here.

[0218] It should be understood that the "unit" in the communication device 600 can be implemented in hardware, software, or by hardware executing corresponding software. For example, the "unit" can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a proprietary processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, combined logic circuitry, and / or other suitable components supporting the described functions. As another example, the communication unit 610 can be replaced by a transceiver circuit (e.g., it may include receiving and transmitting circuitry), and the processing unit 620 can be replaced by a processor or processing circuitry.

[0219] Referring to Figure 7, which is a schematic diagram of the structure of a communication device 700 applicable to an embodiment of this application. The communication device 700 can be a communication equipment, or a chip, chip system, or processor that supports the communication equipment in implementing the above methods. The communication equipment can be a terminal device or a network device. This device can be used to implement the methods described in the above method embodiments; for details, please refer to the descriptions in the above method embodiments.

[0220] The communication device 700 includes one or more processors 701, which can also be called processing units, and can perform certain control functions. The processor 701 can be a general-purpose processor or a special-purpose processor, etc.

[0221] In an alternative design, the processor 701 may also store instructions and / or data that can be executed by the processor 701 to cause the communication device 700 to perform the methods described in the above method embodiments.

[0222] Optionally, the communication device 700 may include one or more memories 702, which may store instructions that can be executed on the processor 701, causing the communication device 700 to perform the methods described in the above method embodiments. Optionally, the memories 702 may also store data. Optionally, the processor 701 may also store instructions and / or data. The processor 701 and the memories 702 may be provided separately or integrated together.

[0223] In another alternative design, the communication device 700 may include a communication interface 703 for implementing receiving and transmitting functions. For example, the communication interface 703 may be a transceiver circuit, interface, interface circuit, or transceiver. The transceiver circuit, interface, interface circuit, or transceiver for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, interface circuit, or transceiver may be used for reading and writing code / data, or it may be used for transmitting or relaying signals.

[0224] Those skilled in the art will understand that, for ease of explanation, Figure 7 only shows one memory and one processor. In actual devices, multiple processors and memories may exist. Memory may also be referred to as storage medium or storage device, etc., and the embodiments of this application do not impose such limitations.

[0225] In the above embodiments, the instructions stored in the memory for execution by the processor can be implemented in the form of a computer program product. This computer program product can be pre-written into the memory, or it can be downloaded and installed into the memory as software.

[0226] This application also provides a computer program product comprising one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may 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 (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. For example, available media may include magnetic media (e.g., floppy disks, hard disks, or magnetic tapes), optical media (e.g., digital versatile discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).

[0227] This application provides an electronic device, which includes a processor and a memory. The memory stores a computer program, and the processor executes the computer program to perform the method described above.

[0228] This application provides a chip. The chip includes a processor, which is used to call a computer program in memory to execute the technical solutions in the above embodiments. Its implementation principle and technical effects are similar to those in the related embodiments described above, and will not be repeated here.

[0229] In the embodiments provided in this application, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device 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 system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms. Additionally, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.

[0230] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above. The computer-readable storage medium stores a computer program or instructions. When executed by a processor, the computer program or instructions implement the methods described above. The methods described in the above embodiments can be implemented wholly or partially by software, hardware, firmware, or any combination thereof. If implemented in software, the functionality can be stored as one or more instructions or code on or transmitted over the computer-readable medium. The computer-readable medium can include computer storage media and communication media, and can also include any medium that can transfer a computer program from one place to another. The storage medium can be any target medium accessible by a computer.

[0231] As one possible design, computer-readable media may include compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM, or other optical disc storage; computer-readable media may include disk storage or other disk storage devices. Furthermore, any connecting cable may also be appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of media. As used herein, disks and optical discs include optical discs (CD), laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0232] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0233] In the foregoing description, specific details such as particular system architectures and techniques have been set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application can also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted to avoid unnecessary detail that could obscure the description of this application.

[0234] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0235] It should also be understood that, in the description of this application, unless otherwise stated, " / " means "or", for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, referring to any combination and all possible combinations of one or more of the related listed items, and including these combinations, for example, A and / or B can mean: A alone, A and B together, and B alone.

[0236] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0237] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0238] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. An IMS calling method, characterized in that, Applied to a first terminal device, the method includes: Send a first request message, the first request message including first video configuration parameters, the first request message being used by the first terminal device to initiate session description protocol negotiation with the network; Receive a second message, the second message including a first bandwidth, the first bandwidth being the bandwidth allocated by the network for this call; If the first bandwidth does not match the first video configuration parameters, a first update message is sent. The first update message is used to update the video configuration parameters of the second terminal device. The first update message includes the second video configuration parameters. The first bandwidth matches the second video configuration parameters. The level in the second video configuration parameters is different from the level in the first video configuration parameters. This call is made based on the second video configuration parameters and the first bandwidth. If the first bandwidth matches the first video configuration parameters, this call is made based on the first video configuration parameters and the first bandwidth.

2. The method according to claim 1, characterized in that, After receiving the second message, the method further includes: Determine whether the first bandwidth matches the first video configuration parameters.

3. The method according to claim 2, characterized in that, Determining whether the first bandwidth matches the first video configuration parameters includes: Based on the first bandwidth, determine the level of the first bandwidth matching; Determine whether the difference between the first bandwidth matching level and the level in the first video configuration parameters is greater than a preset threshold; If the difference between the first bandwidth matching level and the level in the first video configuration parameter is greater than a preset threshold, the first bandwidth does not match the first video configuration parameter. The first bandwidth is matched with the first video configuration parameter if the difference between the first bandwidth matching level and the level in the first video configuration parameter is less than or equal to a preset threshold.

4. The method according to claim 3, characterized in that, The determination of the second video configuration parameters that match the first bandwidth includes: Based on the first bandwidth, look up the correspondence table between bandwidth and video configuration parameters to determine the matching level of the first bandwidth.

5. The method according to any one of claims 1 to 4, characterized in that, The first request message also includes a second bandwidth, wherein if the first bandwidth is greater than the second bandwidth, the level in the second video configuration parameter is greater than the level in the first video configuration parameter; When the first bandwidth is less than the second bandwidth, the level in the second video configuration parameter is lower than the level in the first video configuration parameter.

6. The method according to any one of claims 1 to 5, characterized in that, The first request message also includes a second bandwidth, and after sending the first request message, the method further includes: A first response message is received, the first response message including a third bandwidth supported by the second terminal device, the first bandwidth being determined based on the second bandwidth and the third bandwidth.

7. The method according to any one of claims 1 to 6, characterized in that, Before sending the first request message, the method further includes: Determine whether the static video configuration parameter switch is turned on; When the static video configuration parameter switch is turned on, the first video configuration parameter is pre-configured; When the static video configuration parameter switch is not turned on, the first video configuration parameter is the one saved from the previous call.

8. The method according to claim 7, characterized in that, The method further includes: If the static video configuration parameter switch is not turned on, save the second video configuration parameter.

9. An IMS calling method, characterized in that, Applied to a network, the method includes: Receive a first request message, the first request message including a first video configuration parameter, the first request message being used by the first terminal device to initiate session description protocol negotiation with the network; Send a second message, the second message including a first bandwidth, the first bandwidth being the bandwidth allocated by the network for this call; If the first bandwidth does not match the first video configuration parameters, a first update message is sent. The first update message includes a second video configuration parameter, the first bandwidth matches the second video configuration parameter, and the level in the second video configuration parameter is different from the level in the first video configuration parameter.

10. The method according to claim 9, characterized in that, The mismatch between the first bandwidth and the first video configuration parameters is determined by the first terminal device based on the matching level of the first bandwidth and the level in the first video configuration parameters.

11. The method according to claim 10, characterized in that, The first bandwidth matching level is determined by the first terminal device based on the first bandwidth and the correspondence table between the bandwidth and the video configuration parameters.

12. The method according to any one of claims 9 to 11, characterized in that, The first request message also includes a second bandwidth, wherein if the first bandwidth is greater than the second bandwidth, the level in the second video configuration parameter is greater than the level in the first video configuration parameter; When the first bandwidth is less than the second bandwidth, the level in the second video configuration parameter is lower than the level in the first video configuration parameter.

13. The method according to any one of claims 9 to 12, characterized in that, The first request message also includes a second bandwidth, and after receiving the first request message, the method further includes: Send a first response message, the first response message including a third bandwidth supported by the second terminal device, the first bandwidth being determined based on the second bandwidth and the third bandwidth.

14. A terminal device, characterized in that, include: One or more processors; one or more memories; The memory stores one or more programs, which, when executed by the processor, cause the terminal device to perform the method of any one of claims 1 to 8.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 8, or the method as described in any one of claims 9 to 13.