Communication method and apparatus, and system

By transmitting identification information between the two communicating terminals, application version consistency is ensured, the problem of application interaction failure in the data channel is solved, the success rate of communication services is improved, and resources are saved.

WO2025261074A1PCT designated stage Publication Date: 2025-12-26HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/096599
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-21
Filing Date
2025-05-22
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

The existing communication terminals have a high failure rate when using data channel applications, resulting in a low success rate for communication services.

Method used

By transmitting identification information between the two communicating terminals to uniquely identify the application, it ensures that both parties use the same version of the application to interact, avoiding duplicate downloads and resource waste, and supporting media negotiation and application acquisition between terminals.

Benefits of technology

It improves the success rate of data channel applications used by both communicating parties, saves resources, and enhances the success rate of communication services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025096599_26122025_PF_FP_ABST
    Figure CN2025096599_26122025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a communication method and apparatus, and a system. In the communication method provided in the present application, a first terminal receives a first request, wherein the first request comprises identification information for uniquely identifying an application, the identification information comprising network identification information of a network to which the application belongs and an application identifier of the application; if a condition for requesting the acquisition of an application is met, the first terminal sends a second request, wherein the second request is used for requesting the acquisition of the application, and the second request comprises identification information; and the first terminal receives a response to the second request, wherein the response comprises information of the application, and thus the first terminal and a second terminal are supported as two communication parties to perform service-related interaction by means of the application, thereby improving the success rate of the two communication parties using a communication service provided by the application.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods, devices and systems

[0001] This application claims priority to Chinese Patent Application No. 202410813300.5, filed on June 21, 2024, entitled "Communication Method, Apparatus and System", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communications, and more particularly to a communication method, apparatus, and system. Background Technology

[0003] The Internet Protocol (IP) Multimedia Subsystem (IMS) is a network architecture for providing multimedia communication services. Within the IMS network architecture, the Data Channel Application (DC App) can provide users with richer communication services beyond voice and video calls. However, the failure rate is relatively high when the first and second terminals, as the two parties in a communication, interact using existing DC Apps. Summary of the Invention

[0004] This application provides a communication method, apparatus, and system that improves the success rate of communication interaction using the same application by supporting both parties to communicate.

[0005] In a first aspect, this application provides a communication method applied to a first terminal. The method includes: receiving a first request, the first request including identification information for uniquely identifying an application, the identification information including network identification information of the network to which the application belongs and an application identifier of the application; if the conditions for requesting to obtain the application are met, sending a second request, the second request being used to request to obtain the application, the second request including the identification information; and receiving a response to the second request, the response including information about the application.

[0006] Based on the unique identifier of the application, the first terminal can request the application indicated by the identifier, thereby enabling the first terminal and the second terminal to interact with the service through the application as two parties in communication (e.g., two parties in IMS call service), thus improving the success rate of the communication services provided by the application for both parties.

[0007] In some implementations, the condition includes: the application does not exist on the first terminal. In other implementations, if the condition for requesting the application is met, the method further includes: determining that the application does not exist before sending the second request. The first terminal only sends the second request to request the application if the condition for requesting the application is met after determining that the application does not exist. Through conditional judgment, the first terminal can avoid repeatedly requesting the same application, thus saving resources.

[0008] In some implementations, the application information includes the application's program information. Specifically, the application's program information can be a compressed file or a program package. The application is transmitted to the first terminal via this program information, enabling communication and interaction on the first terminal.

[0009] In some implementations, sending a second request includes sending the second request to a network element in the network to which the application belongs. Receiving a response to the second request includes receiving a response from a network element in the network to which the application belongs.

[0010] In some implementations, network elements in the network to which the application belongs provide application information to at least one terminal, including a first terminal and / or a second terminal. The network elements in the network to which the application belongs provide application information to the second terminal and, upon receiving a second request, provide the same application information to the first terminal, thereby enabling the first terminal and the second terminal to interact as communicating parties using the same application.

[0011] In some implementations, the method further includes sending a response to the first request. The first terminal uses the response to the first request to indicate to the second terminal that the application indicated by the identification information already exists.

[0012] In some implementations, the first request includes information for initiating media negotiation between the first terminal and the second terminal. In some implementations, the response to the first request indicates that media negotiation has been completed. The first request includes information for initiating media negotiation between the first terminal and the second terminal, meaning that the first terminal and the second terminal can support both communicating parties caching or storing the same application during the media negotiation process, saving signaling resources.

[0013] In some implementations, the network identification information of the application's network includes the network's mobile country code (MCC) and mobile network code (MNC). The MCC and MNC of the application's network can be used globally to uniquely identify the operator's network. When the network identification information of the application's network includes the above, the identification information, combined with the application's application identifier, can uniquely identify the required application globally.

[0014] In some implementations, the first and second requests also include application version information. The condition includes: the application version indicated by the version information does not exist on the first terminal. When the first and second requests also include application version information, the application obtained by the first terminal through the second request is the application version indicated by the version information, thereby supporting the first and second terminals as communicating parties to interact using the same version of the same application, improving the success rate of communication services provided by the application.

[0015] In some implementations, the identification information includes the network identification information of the network to which the application belongs, the application identifier of the application, and the application version information; or, the identification information includes the network identification information of the network to which the application belongs and the application identifier of the application, wherein the application identifier of the application includes the application version information; or, the identification information includes the application identifier of the application, and the application identifier of the application includes the network identification information of the network to which the application belongs and the application version information. The identification information can carry the network identification information of the network to which the application belongs, the application identifier of the application, and the application version information in different ways, thereby accurately and completely transmitting the above information to the first terminal.

[0016] Secondly, this application provides a communication method applied to a first terminal, the method comprising: receiving a first request, the first request including an application identifier and version information of an application; if the conditions for requesting to obtain the application are met, sending a second request, the second request being used to request to obtain the application, the second request including an application identifier and version information of the application; and receiving a response to the second request, the response including application information.

[0017] The first terminal can request the application version indicated by the application identifier and version information, thereby enabling the first terminal and the second terminal to interact with the service-related parties (such as the two parties in the IMS call service) through the application version indicated by the application, thus improving the success rate of the communication services provided by the two parties using the application version.

[0018] In some implementations, the condition includes: the version of the application indicated by the version information does not exist on the first terminal. The first terminal uses this condition to determine if the version of the application indicated by the version information already exists on the first terminal, thus avoiding repeatedly downloading the same version of the application and saving resources.

[0019] In some implementations, the application information includes version information indicating the version of the application's program information.

[0020] In some implementations, sending the second request includes sending the second request to a network element in the network to which the application belongs. Receiving a response to the second request includes receiving a response from the network element in the network to which the application belongs. In some implementations, the network element in the network to which the application belongs is used to provide application information to at least one terminal, where the at least one terminal includes a first terminal and / or a second terminal.

[0021] In some implementations, the method also includes sending a response to the first request.

[0022] In some implementations, the first request includes information for initiating media negotiation between the first terminal and the second terminal. In some implementations, the response to the first request indicates that media negotiation has been completed.

[0023] In some implementations, the first request includes identification information for identifying the application, which includes the application identifier and version information of the application; or, the identification information includes the application identifier of the application, which includes the version information of the application.

[0024] Thirdly, this application provides a communication method applied to a second terminal, the method comprising: sending a first request, the first request including an application identifier of an application, the first request further including network identifier information of the network to which the application belongs and / or version information of the application; and receiving a response to the first request.

[0025] The second terminal sends the application identifier of the application, the network identifier information of the network to which the application belongs, and / or the version information of the application to the first terminal. This allows the first terminal to request the application indicated by the above information, thereby enabling the first terminal and the second terminal to interact with the service through the application as two parties in communication (e.g., two parties in an IMS call service), and improving the success rate of the communication services provided by the application for both parties.

[0026] In some implementations, the first request includes information for initiating media negotiation between the first terminal and the second terminal.

[0027] In some implementations, the response to the first request is used to indicate that media negotiation has been completed.

[0028] In some implementations, the network identification information of the network to which the application belongs includes the network's MCC and MNC.

[0029] In some implementations, the first request includes first identification information; the first identification information includes network identification information of the network to which the application belongs and the application identifier of the application; or, the first identification information includes the application identifier of the application, and the application identifier of the application includes network identification information of the network to which the application belongs.

[0030] In some implementations, the first request includes second identification information; the second identification information includes the application identifier and the application version information; or, the second identification information includes the application identifier, and the application identifier includes the application version information.

[0031] In some implementations, the first request includes third identification information; the third identification information includes network identification information of the network to which the application belongs, the application identifier of the application, and the version information of the application; or, the third identification information includes network identification information of the network to which the application belongs and the application identifier of the application, wherein the application identifier of the application includes the version information of the application; or, the third identification information includes the application identifier of the application and the application identifier of the application includes network identification information of the network to which the application belongs and the version information of the application.

[0032] In some implementations, the applications described in the first, second, or third aspects above are data channel applications.

[0033] Fourthly, this application provides a communication device, including modules or units for implementing the methods of the first aspect and any possible implementation thereof, or including modules for implementing the methods of the second aspect and any possible implementation thereof, or including modules for implementing the methods of the third aspect and any possible implementation thereof. Each module or unit can implement its corresponding function by executing a computer program. Exemplarily, the communication device in the fourth aspect is a terminal device or a component configured in a terminal device, such as a chip, chip system, processor, etc.

[0034] Fifthly, this application provides a communication device, including a processor. The processor is configured to execute the communication method in the first aspect and any possible implementation thereof, or to execute the communication method in the second aspect and any possible implementation thereof, or to execute the communication method in the third aspect and any possible implementation thereof. Optionally, the device may further include a memory for storing instructions and data. The memory is coupled to the processor, and when the processor executes the instructions stored in the memory, it can implement the methods described in the foregoing aspects. Optionally, the device may further include a communication interface for communicating with other communication devices. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, pin, or other type of communication interface. Exemplarily, the communication device provided in the fifth aspect is a chip or chip system.

[0035] Sixthly, this application provides a communication device, including a processor and a communication interface. The communication interface is used to receive signals from other communication devices besides the communication device described in the sixth aspect and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device described in the sixth aspect. The processor implements the communication method in the first aspect and any possible implementation thereof through logic circuits or executing code instructions, or implements the communication method in the second aspect and any possible implementation thereof, or implements the communication method in the third aspect and any possible implementation thereof. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, pin, or other type of communication interface.

[0036] Optionally, the apparatus further includes a memory for storing instructions and data. The memory is coupled to the processor, and when the processor executes the instructions stored in the memory, it can implement the communication method of the first aspect and any possible implementation thereof, or implement the communication method of the second aspect and any possible implementation thereof, or implement the communication method of the third aspect and any possible implementation thereof.

[0037] In a seventh aspect, this application provides a communication device, including a processor and a memory. The memory stores instructions and data. When the processor executes the instructions stored in the memory, it can implement the communication method in the first aspect and any possible implementation of the first aspect, or implement the communication method in the second aspect and any possible implementation of the second aspect, or implement the communication method in the third aspect and any possible implementation of the third aspect. Optionally, the device further includes a communication interface for communicating with other communication devices. Exemplarily, the communication interface can be a transceiver, circuit, bus, module, pin, or other type of communication interface. Exemplarily, the communication devices in the sixth and seventh aspects are terminal devices.

[0038] Eighthly, this application provides a chip system including at least one processor for supporting the functions involved in the first aspect and any possible implementation thereof, or for supporting the functions involved in the second aspect and any possible implementation thereof, or for supporting the functions involved in the third aspect and any possible implementation thereof. For example, receiving or processing data and / or information involved in the above methods. In one possible design, the chip system further includes a memory for storing program instructions and data, the memory being located within or outside the processor. The chip system may be composed of chips or may include chips and other discrete devices.

[0039] Ninthly, this application provides a computer-readable storage medium including a computer program that, when run on a computer, causes the computer to implement the methods of the first to third aspects and any possible implementation of the first to third aspects.

[0040] In a tenth aspect, this application provides a computer program product comprising: a computer program (also referred to as code or instructions) that, when executed, causes a computer to perform the methods of the first and third aspects and any possible implementation thereof.

[0041] Eleventhly, a communication system is provided, including the aforementioned first terminal and second terminal, wherein the first terminal can be used to implement the methods of the first or second aspect and any possible implementation of the first or second aspect, and the second terminal can be used to implement the methods of the third aspect and any possible implementation of the third aspect.

[0042] The third to eleventh aspects of this application correspond to the technical solutions of the first aspect of this application. The beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description

[0043] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0044] Figure 1 is a schematic diagram of an IMS network architecture;

[0045] Figure 2 is a schematic diagram of the system architecture of the IMS network used in the embodiments of this application;

[0046] Figure 3 is a schematic diagram of the process of terminal devices obtaining data through the channel;

[0047] Figure 4 is a flowchart illustrating a communication method provided in one embodiment of this application;

[0048] Figure 5 is a flowchart illustrating a communication method provided in one embodiment of this application;

[0049] Figure 6 is a flowchart illustrating a communication method provided in another embodiment of this application;

[0050] Figure 7 is a flowchart illustrating a communication method provided in another embodiment of this application;

[0051] Figure 8 is a schematic block diagram of a communication device provided in one embodiment of this application;

[0052] Figure 9 is a schematic diagram of the structure of a communication device provided in another embodiment of this application.

[0053] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0054] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0055] It should be understood that in this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates an "or" relationship between the preceding and following related objects, but does not exclude the possibility of indicating an "and" relationship; the specific meaning can be understood in context. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c; a and b; a and c; b and c; or a and b and c. Here, a, b, and c can be single or multiple.

[0056] In this application, the use of prefixes such as "first" and "second" is merely for the purpose of distinguishing and describing different things belonging to the same category, and does not constrain the order, size, or quantity of things. For example, "first parameter" and "second parameter" are simply different parameters, and there is no temporal or quantitative relationship between them.

[0057] This application will present various aspects, embodiments, or features relating to systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all the devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.

[0058] Furthermore, in the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.

[0059] 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, sidelink (SL) communication systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication systems, 5th Generation (5G) mobile communication systems, or new radio access technology (NR). Among these, 5G mobile communication systems can include non-standalone (NSA) and / or standalone (SA) networking. The technical solutions provided in this application can also be applied to future communication systems, such as 6th Generation (6G) mobile communication systems. This application does not limit these applications.

[0060] In the various embodiments of this application, a data channel application (DC App) can be used as an example to describe the application. A DC App can be an application that transmits interactive data through a data channel. For example, according to the definition in the 3rd Generation Partnership Project (3GPP) technical specification (TS) 26.114, a DC App is web content that includes Hypertext Markup Language (HTML), JavaScript, images, and cascading style sheets (CSS). A DC App describes a graphical user interface (UI) and can implement interactive business logic. A DC App is typically downloaded from the network side by a call application on a terminal device and runs during the call. It is understood that a DC App can exist in the form of a web page, or in the form of a mini-program / quick app / light app, etc., and this application does not limit this. Those skilled in the art will understand that a DC App can be a DC App within an Internet Protocol (IP) Multimedia Subsystem (IMS) network, and can also be called an IMSDC App.

[0061] The Internet Protocol (IP) Multimedia Subsystem (IMS), as a novel form of multimedia service, can meet the increasingly diverse and innovative multimedia service needs of end users. Figure 1 is a schematic diagram of an IMS network architecture. To facilitate understanding of the embodiments of this application, the relevant technical terms are explained below with reference to Figure 1.

[0062] As shown in Figure 1, an IMS call service is established between terminal device 1 and terminal device 2. The terminal device can also be referred to as user equipment (UE). The IMS call service refers to the service in which a terminal device, as the caller or the called party, participates in a voice or video call with one or more other terminal devices through network elements in IMS.

[0063] IMS call services can cover the entire process from the start of dialing to the end of the call, or they can cover a portion of the process, such as the process from when the parties participating in the IMS call enter the call state to when the call ends. IMS call services can be in a one-to-one format or a one-to-many format (such as a conference call). This application example uses a one-to-one format, but the relevant solutions can all be used in a one-to-many format.

[0064] As shown in Figure 1, the IMS network contains audio and video channels. UE 1 and UE 2 can transmit audio and video interaction content through these channels. It can be understood that the audio and video interaction content refers to the audio content transmitted in real-time between the user equipment of each participating party in the IMS call service for the purpose of achieving voice interaction, or the audio and / or video content transmitted in real-time between the user equipment of each participating party in the video call service for the purpose of achieving video interaction.

[0065] The IMS network shown in Figure 1, in addition to the audio and video channels, also has a data channel (DC), which is also known as the IMS data channel (IMSDC). UE 1 and UE 2 can also transmit additional communication information through the IMSSDC. This additional communication information, besides the audio and video interaction content, is used for communication between the participating devices in the IMS call service.

[0066] For example, additional communication information may include at least one of the following: content captured by the user's device camera, information generated by a thumbs-up, desktop shared content, marks drawn by the user on the screen, text messages entered by the user, image information entered by the user, geolocation information, or video content from a video file. This information may be produced or consumed by either the calling or called terminal device, or by a device connected to either the calling or called terminal device.

[0067] Among them, IMSDC can transmit the above-mentioned additional communication information based on the stream control transmission protocol (SCTP), thereby providing users with richer real-time interactive services in addition to audio and video calls and text.

[0068] As an example, terminal devices in the same IMS call service determine the IP addresses and ports used by both terminal devices to transmit data, the key information required to establish datagram transport layer security (DTLS) and SCTP associations, and the media information corresponding to the data channels through the IMS session initiation protocol (SIP) / session description protocol (SDP) media negotiation process. This allows them to establish one or more data channels in the IMS session that transmit audio and video in parallel.

[0069] It should be noted that terminal devices in IMS call services can process the above additional communication information through corresponding applications. Considering that the additional communication information is transmitted through IMSDC, the application that realizes the relevant functions through the additional communication information is called a data channel application, i.e., IMSDC App.

[0070] Terminal devices operating within the same IMS calling service can download various data channel applications from the network-side data channel server (DCS) via IMSDC. These applications can then be run before, during, or after audio / video calls. By transmitting various types of application data within the IMSDC, communication between the two parties can be enhanced beyond voice or video calls. This includes features such as screen sharing, simultaneous translation, location sharing, augmented reality (AR) effects, and even immersive interactions that synchronize auditory, visual, and tactile senses, thereby improving the user experience.

[0071] Figure 2 is a schematic diagram of the system architecture of the IMS network used in the embodiments of this application. Figure 2 shows a schematic diagram of a possible, non-limiting system architecture. The following is a brief introduction to each network element (or functional network element, functional entity, node, device, etc.) shown in Figure 2:

[0072] Terminal equipment: This can be any device capable of accessing a network, and can also be referred to as UE, terminal, terminal device, access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, wireless communication equipment, user agent, or user device, etc. UE can be a device that provides voice / data connectivity to users, such as a handheld device with wireless connectivity, vehicle-mounted equipment, etc. Currently, some examples of UEs include: 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, 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 wireless modems, in-vehicle devices, wearable devices, terminal devices in 4G / 5G networks, or terminal devices in future evolved public land mobile networks (PLMNs), etc.

[0073] Furthermore, UE can also refer to the UE in an Internet of Things (IoT) system. IoT is a crucial component of future information technology development, its main technical characteristic being the connection of objects to networks via communication technologies, thereby achieving intelligent networks that enable human-machine interaction and object-to-object interaction. IoT technology, for example, can achieve massive connectivity, deep coverage, and low power consumption at the terminal level through narrowband (NB) technology.

[0074] In addition, the UE may also include smart printers, train detectors, etc. Its main functions include collecting data (some terminal devices), receiving control information and downlink data from network devices, and sending electromagnetic waves to transmit uplink data to network devices.

[0075] Optionally, the UE can be used as a base station. For example, the UE can act as a scheduling entity, providing sidelink signaling between user equipment in vehicle-to-everything (V2X) or device-to-device (D2D) scenarios. For instance, cellular phones and cars communicate with each other using sidelink signals. Cellular phones and smart home devices can communicate without relaying communication signals through a base station.

[0076] In the system architecture provided in this application embodiment, different UEs can conduct IMS calls through the IMS network. For example, UE 1 and UE 2 in Figure 1 can conduct IMS calls through the IMS network. UE 2 can be referred to as the peer device for UE 1's IMS call, and similarly, UE 1 can be referred to as the peer device for UE 2's IMS call. Assuming that UE 1 is the device initiating the call, the IMS network serving UE 1 can be called the local IMS network (Local IMS) or simply the local network, and the IMS network serving UE 2 can be called the remote IMS network (Remote IMS) or simply the remote network.

[0077] It should be noted that the IMS network serving the calling UE 1 can also be called the originating network, and the IMS network serving the called UE 2 can also be called the terminating network. For UE 2, the originating network is the remote network, and the terminating network is the local network.

[0078] It is understandable that the network element architecture inside the remote IMS network is similar to that inside the local IMS network. For simplicity, the network element architecture inside the remote IMS network is not shown in the figure.

[0079] Call Session Control Function (CSCF) Network Element: The CSCF is a functional entity within IMS and is the core of the entire IMS. It is primarily responsible for handling signaling control during multimedia call sessions. It manages IMS user authentication, IMS bearer plane quality of service (QoS), control of SIP sessions in cooperation with other network elements, as well as service negotiation and resource allocation. For ease of description, the CSCF network element in this application will be referred to as "CSCF".

[0080] The CSCF can communicate with terminal devices and gateway devices. For example, the CSCF can select the gateway device to communicate with the terminal device, and it can assign routing information, such as IP addresses or ports, to the terminal device and the gateway device.

[0081] As an example rather than a limitation, CSCFs can be categorized by function into proxy CSCFs (P-CSCF), interrogating CSCFs (I-CSCF), and serving CSCFs (S-CSCF), etc.

[0082] The P-CSCF is the entry point for users to access the IMS network, primarily responsible for forwarding SIP signaling between IMS users and their home network. The I-CSCF is the unified entry point for the IMS user's home network, responsible for allocating or querying the S-CSCF serving the user. The S-CSCF is also the unified entry point for the IMS user's home network, responsible for allocating or querying the S-CSCF serving the user.

[0083] It is understood that the above P-CSCF, S-CSCF and I-CSCF can be configured independently in different entities or integrated into the same entity, and this application does not limit this.

[0084] IMS Access Media Gateway (AGW): The IMS-AGW can provide IMS network access gateway and media gateway functions. It is understood that CSCF and IMS-AGW can be collectively referred to as the IMS core. This application does not limit the signaling interaction methods between network elements within the IMS core.

[0085] Data Channel Server: The DCS can be divided into two logical functional entities: the data channel signaling function (DCSF) network element and the media function (MF) network element. The MF network element provides data channel media resource management functions, while the DCSF network element provides data channel signaling control functions. In actual network deployment, the DCSF and MF network elements can be co-located (in this case referred to as the DCS) or separate; this application does not impose any restrictions.

[0086] Data channel application repository (DCAR): DCAR is a repository used to store data channel applications. After a developer completes the development of a DC App, it is uploaded to the operator's DCS, which then saves it to the DCAR. When needed, the DCS downloads the DC App from the DCAR to its local machine for subsequent processing.

[0087] Home subscriber server (HSS): The HSS serves as the database for storing user information within IMS, where user data is stored. As an example and not a limitation, user data may include information about the data channel services the user has subscribed to with the operator.

[0088] IMS Application Server (AS): The IMS AS is the top-level application layer device in the IMS network, providing basic and supplementary services such as multimedia conferencing, unified communications, SMS gateways, and standard operator consoles. The IMS network is an open system based on IP that provides various multimedia services to users. The IMS AS interacts with the CSCF (CSCF Service Center) to trigger and execute various network services. Furthermore, the IMS AS establishes data channels for terminal devices, enabling communication between them.

[0089] Data channel application server (DC AS): DC AS is used to provide data channel business logic.

[0090] Network Exposure Function (NEF) element: NEF elements are used to securely expose various services of the 5G core network to third parties.

[0091] It is understood that the system architecture described above for the embodiments of this application is only an example, and the system architecture applicable to the embodiments of this application is not limited thereto. Any system architecture that can realize the functions of the above-mentioned network elements is applicable to the embodiments of this application. That is, the system 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 know, with the evolution of system 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.

[0092] It is also understood that the naming of the aforementioned network elements or devices is defined solely for the purpose of distinguishing different functions and should not constitute any limitation on this application. This application does not preclude the possibility of using other names in 4G networks, 5G networks, and other future networks. For example, in 6G networks, some or all of the aforementioned network elements may use the terminology from 4G / 5G, or may use other names, etc.

[0093] The communication device in this application embodiment (e.g., the aforementioned terminal device, CSCF device, or AS device, etc.) includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Furthermore, this application embodiment does not particularly limit the specific structure of the execution subject of the method provided in this application embodiment. As long as communication can be performed according to the method provided in this application embodiment by running a program that records the code of the method provided in this application embodiment, for example, the execution subject of the method provided in this application embodiment can be a terminal device or a network device, or a module in the terminal device or network device that can call and execute a program.

[0094] It should be noted that the IMSDC in the IMS network shown in Figure 1 can be divided into two types according to their different uses: the bootstrap data channel (BDC) and the application data channel (ADC).

[0095] In this context, BDC is used by terminal devices to obtain DC App from DCS. Terminal devices supporting data channel capabilities can establish BDC with the DCS of the originating network and / or the DCS of the terminating network. The specific method depends on whether each network supports data channel capabilities and the service subscription status of the terminal devices of both parties in the call on their respective networks.

[0096] The ADC is used to transmit interactive data generated by the DC Apps running on both communicating parties. In peer-to-peer (P2P) scenarios, the ADC is established between the terminal devices of the two parties in the call, and at this time, the ADC is used to transmit interactive data generated by the DC Apps running on the terminal devices of the two parties in the call.

[0097] Based on the purpose of BDC, it can be seen that terminal devices can obtain DC App from DCS through BDC using the Hypertext Transfer Protocol (HTTP) process, and can update it automatically or interactively at any time. Then, they can communicate with the other terminal device through the DC App, except for voice or video calls.

[0098] Figure 3 is a schematic diagram of the process of a terminal device obtaining data through a channel. In the example given in Figure 3, UE 1 and UE 2 are used as the calling user equipment and the called user equipment, respectively, for illustration.

[0099] 1. Developers complete the development of the DC App through offline processes, and then upload the completed DC App to the operator's DCS.

[0100] 2. DCS stores DC App in DCAR.

[0101] 3. When needed, DCS downloads DC App from DCAR.

[0102] 4. UE 1 establishes a BDC with DCS and obtains the required DC App from DCS through the BDC.

[0103] 5. UE 2 establishes a BDC with DCS and obtains the required DC App from DCS through the BDC.

[0104] 6. An ADC is established between UE1 and UE2 to transmit interactive data of the DC App.

[0105] It is understandable that the DC App in the process shown in Figure 3 can be a first-party data channel application developed by the operator itself, or a data channel application developed by a third-party developer. After the DC App is uploaded to the operator's DCS in step 1, each DC App has a unique identity document (ID) within the operator's network. The identity document corresponding to each DC App is called the application identifier (App-ID), and the DCAR stores the application identifiers (App-ID) corresponding to each DC App.

[0106] The DC App used by UE 1 and UE 2 can be downloaded from either the calling network or the called network. As shown in steps 4 and 5 of Figure 3, when UE 1 and UE 2 obtain the required DC App from the DCS, they are actually downloading the required DC App from the calling network serving UE 1. When UE 1 and UE 2 download the required DC App from the calling network, they need to provide the application identifier (App-ID) corresponding to the DC App. Since each DC App corresponds to a unique application identifier (App-ID) within the operator's network, when UE 1 and UE 2 download the required DC App through the same network, the unique DC App within the network can be identified through the application identifier (App-ID), indicating that the DC App downloaded by UE 1 and UE 2 is the same application. In subsequent IMS call services, UE 1 and UE 2 can utilize this DC App to provide services other than audio and video content.

[0107] It should be noted that DC Apps used by the user in IMS calls are cached in the UE until the UE initiates the cache clearing mechanism or the user actively clears the cache. In the process shown in Figure 3, UE 2 downloads a DC App from the calling network serving UE 1. Assume the application identifier (App-ID) of this DC App in the calling network serving UE 1 is "application1", and this DC App and its application identifier (App-ID) are cached in UE 2's storage space. Assume this DC App is used to provide screen sharing service. Subsequently, UE 2, as the called party, establishes a new IMS call with the calling party, UE 3. Both UE 2 and UE 3 need to use the screen sharing service. Since UE 2's storage space already caches the DC App with the application identifier (App-ID) "application1", UE 2 does not need to download the same DC App again. However, UE 3 needs to download the DC App with the application identifier (App-ID) "application1" from the calling network serving UE 3.

[0108] However, the calling network serving UE 3 and the calling network serving UE 1 are different networks. The application identifier (App-ID) corresponding to the DC App is unique only within the operator's network. That is, the DC App indicated by "application1" in the calling network serving UE 3 and the DC App indicated by "application1" in the calling network serving UE 1 may be different data channel applications, which is equivalent to the application identifier (App-ID) corresponding to the two having the same name.

[0109] When UE 3 downloads a DC App with the same name, since the two are actually different data channel applications, the DC App cached by UE 3 and the DC App cached by UE 2 cannot function. As a result, UE 2 and UE 3 cannot use the screen sharing service in IMS call services, causing screen sharing between UE 2 and UE 3 to fail.

[0110] Embodiments of this application enable a first terminal and a second terminal operating within the same call service to provide the first terminal with the identification information of the required application after the second terminal determines the application's purpose. This identification information uniquely identifies the required application, and the first terminal determines whether to acquire / download the application based on this information. The unique identification of the required application avoids duplicate application names, thereby supporting both communicating parties to perform service-related interactions through the same application and improving the success rate of communication services provided by the application.

[0111] Figure 4 is a flowchart illustrating a communication method provided in one embodiment of this application. Exemplarily, as shown in Figure 4, the communication method may include steps S401 to S404.

[0112] S401, the second terminal sends a first request to the first terminal. The first request includes identification information for uniquely identifying the application. The identification information includes network identification information of the network to which the application belongs and the application identifier of the application. Accordingly, the first terminal receives the first request from the second terminal.

[0113] As an example, the second terminal and the first terminal are in the same IMS call service. When the second terminal determines the application required for communication interaction with the first terminal other than audio and video, the second terminal sends a first request to the first terminal, which includes identification information for uniquely identifying the application.

[0114] In some implementations, the first request can be a SIP re-INVITE request or a SIP UPDATE request. Specifically, when the second terminal communicates with the first terminal, if the called party has already been connected, the first request can be a SIP re-INVITE request; if the called party has not yet been connected, the first request can be a SIP UPDATE request.

[0115] It should be noted that the application's App-ID is a unique identifier for the application within the operator's network; here, "unique" is limited to the same operator's network. When the identification information includes both the network identification information of the network to which the application belongs and the application's App-ID, the identification information can uniquely identify the application across different operator networks. Here, "unique" is limited to different operator networks. When different operator networks are extended globally, it can be understood that the identification information in this step can uniquely identify the application globally.

[0116] Understandably, in this step, the second terminal can directly send the second request to the first terminal, or it can forward the second request through the network to which the application belongs.

[0117] S402, if the conditions for requesting to obtain the application are met, the first terminal sends a second request to the network to which the application belongs. The second request is used to request to obtain the application and includes identification information. Accordingly, the network to which the application belongs receives the second request from the first terminal.

[0118] In this step, the conditions for requesting the application can be preset conditions. For example, these conditions include: the application does not exist on the first terminal. It should be noted that "the application does not exist on the first terminal" can be understood as the application not being cached or stored on the first terminal, or as the application not being installed on the first terminal. The terms "not cached," "not stored," and "not installed" used in this application can all be used to indicate that the application does not exist on the terminal, while "stored" and "cached" used in this application can both be used to indicate that the application exists on the terminal.

[0119] In some implementations, based on the identification information included in the first request, the first terminal can determine that there is no application uniquely identified by the identification information, thereby determining that the conditions for requesting to obtain the application are met, and then send a second request to the network to which the application belongs to request to obtain the application. The second request uniquely identifies the required application through the identification information.

[0120] S403, the network to which the application belongs sends a response to the second request to the first terminal, the response including information about the application. Accordingly, the first terminal receives the response to the second request from the network to which the application belongs.

[0121] In this step, the network to which the application belongs sends the application information to the first terminal in response to the second request, thereby making the same application information appear in the first terminal and the second terminal.

[0122] In some implementations, the application information included in the response to the second request may include the application's program information. As one possible implementation, the application's program information could specifically be a compressed application package. After receiving the response to the second request, the first terminal can directly decompress the application's compressed package and run the application. As another possible implementation, the application's program information could also be an application package. After receiving the response to the second request, the first terminal can run the package to install and run the application, or the first terminal can directly run the application using a portable package.

[0123] As an example, if the second request is an HTTP GET request, then the response to the second request will be an HTTP response with an HTTP status code of 200 OK. The HTTP response includes the application's compressed package. After receiving the HTTP response, the first terminal device can directly decompress and run it.

[0124] Optionally, the first terminal may also send a response to the first request to the second terminal, as shown in step S404 of FIG4, in which the first terminal sends a response to the first request to the second terminal. Accordingly, the second terminal receives the response to the first request from the first terminal.

[0125] As an example, if the first request is a SIP re-INVITE request or a SIP UPDATE request, then the response to the first request will be a SIP re-INVITE response or a SIP UPDATE response.

[0126] In this embodiment, based on the unique identifier of the application, the first terminal can determine whether the application exists locally and further request the application indicated by the identifier. This enables the first and second terminals in the same IMS call service to perform interactions related to the service through the same application, improving the success rate of communication services provided by the application for both parties. Furthermore, it avoids the waste of air interface bandwidth and terminal data traffic caused by the same application being downloaded repeatedly.

[0127] It is understood that the communication method provided in this application is applied to the IMS network architecture shown in Figure 2. When the first terminal and the second terminal in the same IMS service obtain the required application through the above communication method, the operator networks of both parties serving the communication need to participate. The specific application acquisition process is described below.

[0128] Figure 5 is a flowchart illustrating a communication method provided in one embodiment of this application. Exemplarily, this method is applied to the system architecture of the IMS network shown in Figure 2, using a DC App as an example of the application. The method may include steps S501 to S506.

[0129] S501, the second terminal device sends a first request to the originating network. The first request includes identification information for uniquely identifying the application. The identification information includes the network identification information of the network to which the application belongs and the application identifier of the application. Accordingly, the originating network receives the first request from the second terminal.

[0130] In the process shown in Figure 5, the second terminal and the first terminal are in the same IMS call service. Assuming that the second terminal is the calling user equipment and the first terminal is the called user equipment, for the second terminal, IMS B, which provides services to the second terminal, is the originating network, and IMS A, which provides services to the first terminal, is the terminating network.

[0131] Before step S501, the originating network IMS B provides a bootstrap application to the second terminal. The bootstrap application is a list of all DC Apps available to the second terminal. The second terminal can select, download, and run an application from the bootstrap application according to the needs of the IMS call service with the first terminal.

[0132] The application is used to transmit additional communication information between the second terminal and the first terminal via the ADC. Referring to step 6 in Figure 3, after the second terminal, as the calling user equipment, determines the application, it needs to establish an ADC with the first terminal, thereby triggering the process shown in Figure 5.

[0133] It is understandable that the second terminal device and the first terminal device conducting an IMS call can obtain the media information used to establish the ADC between the second terminal device and the first terminal device through media negotiation. Here, media negotiation refers to the second terminal device and the first terminal device negotiating the media description information used by the other party to conduct the IMS call. That is, the second terminal device and the first terminal device need to know the media information used by the other party to send and receive media.

[0134] In some implementations, the first request includes information for initiating media negotiation between the first terminal and the second terminal. For example, the first request may be a SIP re-INVITE request or a SIP UPDATE request, which includes "SDP offer" information. The "SDP offer" information includes specific media negotiation parameters used to initiate media negotiation between the first terminal and the second terminal.

[0135] The first request includes identification information for uniquely identifying the application. This identification information includes the network identification information of the network to which the application belongs and the application identifier. In some implementations, the network identification information of the network to which the application belongs includes the mobile country code (MCC) and mobile network code (MNC) of the network to which the application belongs.

[0136] The Mobile Country Code (MCC) consists of three decimal digits and indicates the country of origin of a mobile user. After the MCC identifies a specific country, the Mobile Network Code (MNC), as a set of decimal codes, can be used to indicate a PLMN within a specific Global System for Mobile Communications (GSM) network within that country. The MCC, MNC, and application identifier (App-ID) of the application, included in the identification information, can uniquely identify an application within the global IMS network.

[0137] As an example, the first request message is a SIP re-INVITE request. The SIP re-INVITE request includes "SDP offer" information, which includes the MCC, MNC of the network to which the application belongs, and the application identifier (App-ID). According to 3GPP TS26.114, the "SDP offer" information includes the attribute line "a=3gpp-req-app", and the parameter "req-app-id" in this attribute line is the application identifier (App-ID) corresponding to the DC App.

[0138] As one possible implementation, the identification information includes the network identification information of the network to which the application belongs and the application's identification information; alternatively, the identification information includes the application's application identifier, and the application's application identifier includes the network identification information of the network to which the application belongs. Assuming that in this embodiment, the application identifier (App-ID) of the application required by the first terminal and the second terminal is "application1", the network to which the application belongs is IMS B, the MCC of IMS B is "460", and the MNC is "00", then as another possible implementation, the "a=3gpp-req-app" attribute line of the "SDP offer" information is equivalent to the identification information in the first request, and its specific content can be found in Table 1 below.

[0139] Table 1

[0140] As shown in Example 1.1 of Table 1, the parameters "mcc" and "mnc" are added to the attribute line "a=3gpp-req-app". "application1" is the application identifier (App-ID) corresponding to the application, the value "460" for "mcc" is the mobile country code, and the value "00" for "mnc" is the mobile network code. In Example 1.1, the parameter "mcc" is listed before the parameter "mnc". Alternatively, "mcc" can be listed after "mnc". This application does not restrict the order of the newly added parameters "mcc" and "mnc" in the attribute line.

[0141] As one possible implementation, MCC and MNC actually indicate the network identification information of the network to which the application belongs. Therefore, MCC and MNC can be combined into a new parameter using symbols, as shown in Examples 1.2 and 1.3 of Table 1. A new parameter "network-id" is added to the attribute line "a = 3gpp-req-app". "Network-id" indicates the network to which the application belongs, and this parameter is composed of MCC and MNC. In Example 1.2, MCC and MNC are combined using a period ".", and in Example 1.3, they are combined using a hyphen "-". This application does not limit the symbols used for combination. It is understood that the MCC value "460" in Examples 1.2 and 1.3 can also be placed after the MNC value "00". This application does not limit the order of the combined parameters.

[0142] The content in the "a=3gpp-req-app" attribute row in Examples 1.1, 1.2 and 1.3 of Table 1 above is equivalent to the identification information including the network identification information of the network to which the application belongs and the application identification of the application.

[0143] As another possible implementation, the parameter "req-app-id" in the attribute line "a=3gpp-req-app" can include the MCC and MNC of the network to which the application belongs. As shown in Example 2 of Table 1, the content of the parameter "req-app-id" is "460-00-application1". This parameter separates the contents corresponding to the MCC, MNC and App-ID into three segments with a symbol (a hyphen "-" in Example 2 of Table 1). "460" is the MCC of the network to which the application belongs, "00" is the MNC of the network to which the application belongs, and "application1" is the application identifier (APP-ID) of the application. It can be understood that the parameter "req-app-id" in Example 2 of Table 1 can also be represented as "application1-460-00". This application does not limit the order of the three parameters included in "req-app-id".

[0144] The content in the "a=3gpp-req-app" attribute row in Example 2 of Table 1 above is equivalent to the identification information including the application's application identifier. The application's application identifier also includes the network identifier information of the network to which the application belongs. At this time, the network identifier information of the network to which the application belongs is equivalent to part of the application identifier's constituent information.

[0145] It should be understood that the examples in Table 1 above are merely illustrative and should not be construed as limiting the embodiments of this application. Any new examples obtained by reasonable modifications or additions to the content of the examples in Table 1 are within the protection scope of the embodiments of this application.

[0146] S502, the originating network sends a first request to the terminating network, and the terminating network sends a first request to the first terminal. Accordingly, the first terminal receives the first request from the terminating network.

[0147] For example, in this step, network elements such as IMS AS and DCS in the originating network IMS B and the terminating network IMS A process and forward the SIP re-INVITE request message, routing it to the first terminal. In this embodiment, the processing of the first request message by the originating network and the terminating network will not be described in detail.

[0148] It is understood that the above steps S501 and S502 correspond to step S401 in the embodiment shown in Figure 4.

[0149] S503, the first terminal determines whether an application exists based on the first request.

[0150] As described above, all DC Apps used by the first terminal in the IMS call service are cached in its storage space. In this step, the first terminal can determine whether the application identified by the identification information exists locally based on the identification information used to uniquely identify the application in the first request.

[0151] If the application is not stored or cached in the first terminal, it means that the application indicated by the identification information does not exist in the first terminal, which satisfies the condition for requesting to obtain the application in the embodiment shown in Figure 4, and the process jumps to step S504. If the application is stored or cached in the first terminal, it means that the application indicated by the identification information exists in the first terminal, and the process jumps directly to step S506.

[0152] S504, the first terminal sends a second request to the network to which the application belongs. The second request is used to request the application and includes identification information. Accordingly, the network to which the application belongs receives the second request from the first terminal.

[0153] The applications required by the first terminal and the second terminal in the IMS call service may belong to the originating network IMS B or the terminating network IMS A. In this embodiment, it is assumed that the second terminal downloads the required application from the originating network IMS B. When the first terminal does not have the application, the first terminal needs to download the application from the same network. Therefore, in this step, the first terminal sends a second request to the originating network IMS B. The second request is used to request to obtain the application. The first terminal uniquely identifies the required application to the originating network IMS B through the identification information included in the second request.

[0154] Understandably, in this step, the first terminal can directly send the second request to the originating network IMS B, or it can forward the second request to the originating network IMS B through the terminating network IMS A.

[0155] As an example, the first terminal sends an HTTP GET Request to the originating network IMS B. The HTTP GET Request includes the MCC, MNC of the network to which the application belongs, and the application identifier (App-ID) of the application.

[0156] It is understood that the above steps S503 and S504 correspond to step S402 in the embodiment shown in Figure 4.

[0157] S505, the network to which the application belongs sends a response to the second request to the first terminal, the response including information about the application. Accordingly, the first terminal receives the response to the second request from the network to which the application belongs.

[0158] In this step, after receiving the second request, the originating network IMS B, which is assumed to belong to the application, can identify a unique application based on the identification information in the second request. The originating network IMS B can then transmit the application to the first terminal by carrying the application information in the body of the response to the second request.

[0159] Understandably, the originating network IMS B can directly send the response to the second request to the first terminal, or it can forward the response to the second request to the first terminal through the terminating network IMS A.

[0160] As one possible implementation, the application information may include the application's program information. Specifically, the application's program information could be a compressed application package. After receiving the response to the second request from the originating network IMS B, the first terminal can directly decompress the application's compressed package and run the application. Alternatively, the application's program information could also be an application package. After receiving the response to the second request from the originating network IMS B, the first terminal can run the package to install and run the application. Alternatively, the first terminal can also run the application directly using a portable package. In these implementations, it's equivalent to the first terminal downloading the application identified by the identification information from the originating network IMS B, caching the application, and then running it.

[0161] As an example, the originating network IMS B sends an HTTP response with an HTTP status code of 200 OK, and the HTTP response includes application program information.

[0162] It is understood that step S505 above corresponds to step S403 in the embodiment shown in Figure 4.

[0163] As shown in Figure 2, the IMS network system architecture has different functions. Therefore, the operations performed by the network to which the application belongs in steps S504 and S505 are actually performed by the network elements in the network to which the application belongs.

[0164] In some implementations, step S504, where the first terminal sends a second request to the network to which the application belongs, includes: the first terminal sending the second request to a network element in the network to which the application belongs. Correspondingly, the network element in the network to which the application belongs receives the second request from the first terminal. Step S505, where the network to which the application belongs sends a response to the second request to the first terminal, includes: the network element in the network to which the application belongs sends a response to the second request to the first terminal. Correspondingly, the first terminal receives the response to the second request from the network element in the network to which the application belongs.

[0165] Since this embodiment assumes that the originating network IMS B is the network to which the application belongs, in the above steps S504 and S505, the network element of the originating network IMS B receives the second request from the first terminal and sends a response to the second request to the first terminal.

[0166] As one possible implementation, network elements in the application's network are used to provide application information to at least one terminal, which includes a first terminal and / or a second terminal. It should be noted that in the embodiment shown in Figure 5, the originating network IMS B is the application's network. The originating network IMS B provides application guidance to the second terminal and sends a response to the second request to the first terminal. This is equivalent to the originating network providing application information to both the first and second terminals, with the at least one terminal including both the first and second terminals.

[0167] For example, the DCS of the originating network IMS B receives a second request from the first terminal and sends a response to the second request to the first terminal. It is understood that in the IMS network architecture, the DCAR is used to store data channel applications. Therefore, when the DCS receives the second request from the first terminal, the DCS downloads the application identified by the identification information included in the second request from the DCAR, and transmits the application to the first terminal through the response to the second request.

[0168] S506, the first terminal sends a response to the first request to the terminating network, the terminating network sends a response to the first request to the originating network, and the originating network sends a response to the first request to the second terminal. Accordingly, the second terminal receives the response to the first request from the originating network.

[0169] It is understandable that whether it is determining in step S503 that there is an application identified by the identification information in the first terminal, or downloading the application from the network to which the application belongs through steps S504 and S505, when the process shown in Figure 5 proceeds to step S506, there is an application identified by the identification information in the first terminal. This step, through the response to the first request, indicates to the second terminal that the two communicating parties in the same IMS call service have the required DC App.

[0170] It is understood that step S506 corresponds to step S404 in the embodiment shown in FIG4.

[0171] In some implementations, the first request in step S501 includes information for initiating media negotiation between the first terminal and the second terminal. Correspondingly, the response to the first request in step S506 indicates that media negotiation has been completed. As an example, the response to the first request is a SIP re-INVITE response or a SIP UPDATE response, with an HTTP status code of 200 OK. The response to the first request includes "SDP answer" information in response to the "SDP offer" information.

[0172] It should be noted that as applications are enhanced or bugs are fixed, operators need to continuously update them. In some scenarios, operators may upload new versions of the application obtained from each upgrade to the DCS. As mentioned above, terminal devices have locally cached previously used applications. If a terminal device uses the communication service provided by a certain application again, due to the unknown version information, the terminal device may repeatedly download the same version of the application, resulting in wasted resources. In other scenarios, two communicating parties in the same call service may use the same application, but due to different versions, they may be incompatible. When the application versions used by the two communicating parties are different, it may also cause the inability to use the services provided by the application. The following description addresses how embodiments of the present invention can further solve the above problems.

[0173] Figure 6 is a flowchart illustrating a communication method provided in another embodiment of this application. Exemplarily, this method, referring to the embodiments shown in Figures 4 and 5, uses a DC App as an example of an application and may specifically include steps S601 to S606.

[0174] S601, the second terminal sends a first request to the originating network, the first request including the application identifier and version information of the application. Accordingly, the originating network receives the first request from the second terminal.

[0175] Assuming that the second terminal and the first terminal are the calling user equipment and the called user equipment respectively in the same IMS call service, for the second terminal, IMS B, which provides services to the second terminal, is the originating network, and IMS A, which provides services to the first terminal, is the terminating network.

[0176] Similar to the embodiment shown in Figure 5, before step S601, the second terminal selects and downloads the required application from the boot application, thereby triggering the application acquisition process shown in Figure 6. Since the second terminal has already determined the application version information when downloading the application from the boot application, the first request in this step includes the application identifier and version information.

[0177] In some implementations, the first request includes information for initiating media negotiation between the first terminal and the second terminal. As an example, the first request is a SIP re-INVITE request, which includes "SDP offer" information, including the application's application identifier (App-ID) and version information.

[0178] As one possible implementation, the first request includes identification information for identifying the application. This identification information includes the application's application identifier and version information; alternatively, the identification information includes the application's application identifier, and the application identifier includes the application's version information. Assuming that in this embodiment, the application identifier (App-ID) of the application required by the first terminal and the second terminal is "application1", and the application's version information is "V200R003C10", exemplarily, the "a=3gpp-req-app" attribute line of the "SDP offer" information is equivalent to the identification information in the first request, and its specific content can be found in Table 2 below.

[0179] Table 2

[0180] As shown in Examples 1.1 and 1.2 in Table 2, a new parameter “app-version” is added to the “a=3gpp-req-app” attribute line. “application1” is the application identifier (App-ID) of the application, and the string “V200R003C10” corresponding to “app-version” is the application version information. Since “app-version” and “application1” are located in the “a=3gpp-req-app” attribute line, it is equivalent to the identification information including the application identifier and version information of the application.

[0181] Understandably, developers can decide on the naming convention for version information when developing DC Apps. Version information can be a string of numbers and / or letters, such as "V200R003C10" in Example 1.1 of Table 2. In some implementations, version information can also be a string of multiple segments of numbers and / or letters separated by symbols (such as periods "." and hyphens "-"), such as "200.003.1a" in Example 1.2 of Table 2. This application does not impose any restrictions on the naming convention for version information.

[0182] As one possible implementation, the parameter "req-app-id" in the "a-3gpp-req-app" attribute line can include the application's version information. That is, the identification information "a-3gpp-req-app" includes the application's application identifier "req-app-id," and the application identifier "req-app-id" also includes the application's version information. As shown in Examples 2.1 and 2.2 of Table 2, the content of the parameter "reg-app-id" is "application1-V200R003C10" and "application1-200.003.la". This parameter separates the application's application identifier (App-ID) and version information into two segments using a symbol (a hyphen "-" in Examples 2.1 and 2.2 of Table 2). "V200R003C10" and "200.003.la" correspond to the application's version information, and "application1" is the application identifier (App-ID) corresponding to the application.

[0183] It is understandable that the parameter “req-app-id” in Example 2.1 of Table 2 can also be represented as “V200R003C10-application1”, and the parameter “req-app-id” in Example 2.2 of Table 2 can also be represented as “200.003.1a-application1”. This application does not restrict the order of the application identifier (App-ID) and version information included in “req-app-id”.

[0184] The content in the "a=3gpp-req-app" attribute row in Examples 2.1 and 2.2 of Table 2 above is equivalent to the identification information including the application's application identifier, which also includes the application's version information. In this case, the application's version information is equivalent to a part of the application identifier's constituent information.

[0185] It should be understood that the examples in Table 2 above are merely illustrative and should not be construed as limiting the embodiments of this application. Any new examples obtained by reasonable modifications or additions to the content of the examples in Table 2 are within the protection scope of the embodiments of this application.

[0186] S602, the originating network sends a first request to the terminating network, and the terminating network sends a first request to the first terminal. Accordingly, the first terminal receives the first request from the terminating network.

[0187] This step is the same as step S502 in the embodiment shown in Figure 5, and will not be repeated here.

[0188] It is understandable that the above steps S601 and S602 are equivalent to the second terminal sending a first request to the first terminal, and correspondingly, the second terminal receiving the first request from the first terminal.

[0189] S603, the first terminal determines whether there is an application with the version indicated by the version information based on the first request.

[0190] It should be noted that all DC Apps used by the first terminal device in the IMS call service are cached in its storage space, and the storage space records the version information corresponding to each DC App. In this step, the first terminal can determine whether the application of the version indicated by the version information exists locally based on the application identifier and version information included in the first request.

[0191] If the application version indicated by the version information is not stored or cached in the first terminal, it is equivalent to the application version indicated by the version information not existing in the first terminal, thus meeting the condition for requesting to obtain the application, and proceeding to step S604. If the application version indicated by the version information is stored or cached in the first terminal, then proceeding to step S606.

[0192] It is understandable that there are two possibilities for the absence of an application version indicated by the version information in the first terminal: either the application with the application identifier (App-ID) is not present in the first terminal, or the application with the application identifier (App-ID) is stored or cached in the first terminal, but the version information of the locally stored or cached application is inconsistent with the version information of the application included in the first request. Both of these possibilities are equivalent to the absence of an application version indicated by the version information in the first terminal device, thus satisfying the condition for requesting to obtain the application.

[0193] S604, the first terminal sends a second request to the network to which the application belongs. The second request is used to request the application and includes the application's application identifier and version information. Accordingly, the network to which the application belongs receives the second request from the first terminal.

[0194] In this embodiment, it is assumed that the second terminal downloads the required application from the originating network IMS B, and the second terminal stores or caches the version information of the application. When the first terminal does not have the version of the application indicated by the version information, the first terminal needs to download the version of the application indicated by the version information from the same network. Therefore, in this step, the first terminal sends a second request to the originating network IMS B. The second request is used to request to obtain the application. The first terminal identifies the version of the application indicated by the version information to the originating network IMS B through the application identifier and version information of the application included in the second request.

[0195] Understandably, in this step, the first terminal can directly send the second request to the originating network IMS B, or it can forward the second request to the originating network IMS B through the terminating network IMS A.

[0196] As an example, the first terminal sends an HTTP GET request to the originating network IMS B, which includes the application's application identifier (App-ID) and version information.

[0197] It is understood that steps S603 and S604 above correspond to the first terminal sending a second request to the network to which the application belongs when the conditions for requesting to obtain the application are met. The second request is used to request to obtain the application and includes the application identifier and version information of the application. Accordingly, the network to which the application belongs receives the second request from the first terminal.

[0198] S605, the network to which the application belongs sends a response to the second request to the first terminal, the response including information about the application. Accordingly, the first terminal receives the response to the second request from the network to which the application belongs.

[0199] In this step, after receiving the second request, the originating network IMS B, which is assumed to belong to the application, can determine the version of the application indicated by the version information based on the application identifier and version information of the application in the second request. The originating network IMS B can directly transmit the version of the application indicated by the version information to the first terminal by carrying the application information in the body of the response to the second request.

[0200] Understandably, the originating network IMS B can directly send the response to the second request to the first terminal, or it can forward the response to the second request to the first terminal through the terminating network IMS A.

[0201] Referring to step S505 in the embodiment shown in FIG5, the application information may include the application's program information, specifically the application's compressed package or program package, which will not be elaborated here.

[0202] As an example, the originating network IMS B sends an HTTP response with an HTTP status code of 200 OK. The HTTP response includes version information indicating the version of the application program.

[0203] It should be noted that, similar to the embodiment shown in Figure 5, in some implementations, the sending or receiving operations of the network to which the application belongs in steps S604 and S605 above are actually executed by the network elements in the network to which the application belongs, and the network elements in the network to which the application belongs are used to provide application information to at least one terminal, and at least one terminal includes a first terminal and / or a second terminal.

[0204] The network elements in the network to which the application belongs in the embodiment shown in Figure 6 have the same function as the network elements in the network to which the application belongs in the embodiment shown in Figure 5. Therefore, the network elements in the network to which the application belongs in the embodiment shown in Figure 6 can also be used to implement the operations performed by the network elements in the network to which the application belongs in the embodiment shown in Figure 5. This will not be elaborated further here.

[0205] S606, the first terminal sends a response to the first request to the terminating network, the terminating network sends a response to the first request to the originating network, and the originating network sends a response to the first request to the second terminal. Accordingly, the second terminal receives the response to the first request from the originating network.

[0206] This step is consistent with step S506 in the embodiment shown in Figure 5. When the process shown in Figure 6 proceeds to step S606, the first terminal has an application with the version information indicated by the version information. This step, through the response to the first request, indicates to the second terminal that the two communicating parties in the same IMS call service have the same version of the required application.

[0207] It is understandable that step S606 above is equivalent to the first terminal sending a response to the first request to the second terminal, and correspondingly, the second terminal receives the first request from the first terminal.

[0208] Consistent with the embodiment shown in Figure 5, if the first request in step S601 includes information for initiating media negotiation between the first terminal and the second terminal, then the response to the first request in step S606 is used to indicate that the media negotiation has been completed.

[0209] In this embodiment, the first terminal can determine whether the application version indicated by the version information exists locally based on the application's application identifier and version information, thereby avoiding repeated downloads of the same version of the application and saving resources. When the application version indicated by the version information does not exist locally, the corresponding version of the application is downloaded from the IMS network to which the application belongs, thereby supporting communication between two parties in the same IMS call service to have the same version of the application, improving the success rate of communication between the two parties using the communication service provided by this version of the application.

[0210] As can be seen from the embodiments shown in Figures 5 and 6 above, when two parties in the same IMS call service conduct communication other than voice or video calls, it is necessary not only to determine that the DC App used by both parties is the same application, but also to determine that the DC App corresponds to the same version.

[0211] Figure 7 is a flowchart illustrating a communication method provided in another embodiment of this application. Exemplarily, this method, referring to the embodiments shown in Figures 5 and 6, uses a DC App as an example of an application and specifically includes steps S701 to S706.

[0212] S701, the second terminal sends a first request to the originating network. The first request includes the network identifier information of the network to which the application belongs, the application identifier of the application, and the version information. Accordingly, the originating network receives the first request from the second terminal.

[0213] Consistent with the embodiments shown in Figures 5 and 6, this embodiment assumes that the second terminal and the first terminal are in the same IMS call service, the second terminal is the calling party user equipment, the first terminal is the called party user equipment, IMS B is the originating network, and IMS A is the terminating network.

[0214] Before step S701, the second terminal selects and downloads the required application from the boot application. The first request may include the network identification information of the network to which the application belongs, the application identifier and version information of the application. For a detailed explanation of the network identification information of the network to which the application belongs and the version information of the application, please refer to the foregoing embodiments, which will not be repeated here.

[0215] As can be seen from the embodiment shown in Figure 5, the identification information, including the network identification information of the network to which the application belongs and the application identification information of the application, can be used to uniquely identify the required application. In this step, the first request, in addition to the above identification information, also includes the application version information.

[0216] As one possible implementation, the identification information may include the network identification information of the network to which the application belongs, the application identification of the application, and the application version information; or, the identification information may include the network identification information of the network to which the application belongs and the application identification of the application, wherein the application identification of the application includes the application version information; or, the identification information may include the application identification of the application, wherein the application identification of the application includes the network identification information of the network to which the application belongs and the application version information.

[0217] For example, the first request includes information for initiating media negotiation between the first terminal and the second terminal. The first request is a SIP re-INVITE request, which includes "SDP offer" information. The "SDP offer" information includes the MCC and MNC of the network to which the application belongs, the application identifier (App-ID), and the application version information. Assuming the application identifier (App-ID) is "application1", the MCC of the network to which the application belongs is "460", the MNC is "00", and the application version information is "V200R003C10", then the "a=3gpp-req-app" attribute line of the "SDP offer" information is equivalent to the identifier information included in the first request in the above implementation. The specific content can be referred to Table 3 below:

[0218] Table 3

[0219] As shown in Example 1.1 of Table 3, the parameters "mcc", "mnc", and "app-version" are added to the attribute line "a=3gpp-req-app". Here, "application1" is the application identifier (App-ID), the value "460" corresponding to "mcc" is the mobile country code, the value "00" corresponding to "mnc" is the mobile network code, and "V200R003C10" is the application version information. This application does not impose any restrictions on the order of the newly added parameters "mcc", "mnc", and "app-version" in the attribute line.

[0220] As shown in Tables 1 and 2, in some implementations, MCC and MNC can be combined into a new parameter using symbols. Version information can also consist of a string of multiple segments of numbers and / or letters separated by symbols (such as periods "." and hyphens "-"). As shown in Example 1.2 of Table 3, the parameter "network-id" corresponding to "460.00" is a new parameter formed by combining MCC and MNC using periods ".", and the parameter "app-version" is a string of multiple segments of numbers and letters separated by periods ".". For a detailed description of the parameter "network-id", please refer to Table 1 above, and for a detailed description of the parameter "app-version", please refer to Table 2 above. This application will not elaborate further on these parameters. The order of the parameters "network-id" and "app-version" can be interchanged; this application does not impose any restrictions on their order in the attribute row.

[0221] The content in the "a=3gpp-req-app" attribute row in Examples 1.1 and 1.2 of Table 3 above is equivalent to the identification information including the network identification information of the network to which the application belongs, the application identification information of the application, and the version information of the application.

[0222] As one possible implementation, the parameter "req-app-id" in the "a=3gpp-req-app" attribute line can include the MCC and MNC of the network to which the application belongs, and the parameter "app-version" is added to the "a=3gpp-req-app" attribute line.

[0223] It is understandable that the parameter "req-app-id" includes the MCC and MNC of the network to which the application belongs, which is equivalent to adding the parameters "mcc" and "mnc" to the parameter "req-app-id". As shown in Examples 2.1 and 2.2 in Table 3, the attribute line "a=3gpp-req-app" includes the parameter "req-app-id" and the newly added parameter "app-version". The content "460-00-application1" corresponding to the parameter "req-app-id" separates the content corresponding to the MCC, MNC and App-ID into three segments separated by hyphens "-". "460" is the MCC of the network to which the application belongs, "00" is the MNC of the network to which the application belongs, and "application1" is the application identifier (APP-ID) of the application. Referring to the content of Table 1, this application does not restrict the order of the MCC, MNC and APP-ID included in "req-app-id".

[0224] The content of the "a=3gpp-req-app" attribute row in Examples 2.1 and 2.2 of Table 3 above is equivalent to the identification information including the application identifier and the application version information. The application identifier also includes the network identifier information of the network to which the application belongs. In this case, the network identifier information of the network to which the application belongs is equivalent to part of the application identifier.

[0225] As another possible implementation, the parameter "req-app-id" in the "a=3gpp-req-app" attribute line can include the application version information. Alternatively, the "mcc" and "mnc" parameters can be added to the "a=3gpp-req-app" attribute line, or a new parameter "network-id" can be added by combining MCC and MNC.

[0226] As shown in Example 3.1 of Table 3, the attribute line “a=3gpp-req-app” includes the parameter “req-app-id” and the newly added parameters “mcc” and “mnc”. In Example 3.2 of Table 3, the attribute line “a=3gpp-req-app” includes the parameter “req-app-id” and the newly added parameter “network-id”. Among them, the content “application1-V200R003C10” and “application1-200.003.1a” corresponding to the parameter “req-app-id” separates the application identifier (APP-ID) and the application version information into two segments with a hyphen “-”. “V200R003C10” and “200.003.la” correspond to the application version information, and “application1” is the application identifier (APP-ID). This application does not restrict the order of the application identifier (APP-ID) and version information included in “req-app-id”. The newly added parameters “mcc”, “mnc”, and “network-id” are consistent with those in Examples 1.1 and 1.2 in Table 3, and will not be repeated here.

[0227] The content of the "a=3gpp-req-app" attribute row in Examples 3.1 and 3.2 of Table 3 above is equivalent to the identification information including the network identification information of the network to which the application belongs and the application identification of the application. The application identification of the application also includes the application version information. At this time, the application version information is equivalent to part of the application identification information.

[0228] As another possible implementation, the parameter "req-app-id" in the "a-3gpp-req-app" attribute line, besides "application1", can also include the MCC and MNC of the network to which the application belongs, as well as the application's version information. As shown in examples 4.1 and 4.2 in Table 3, the content of the parameter "reg-app-id" is "460-00-application1-V200R003C10" and "460-00-application1-200.003.1a". This parameter separates the MCC and MNC of the network to which the application belongs, the application identifier (APP-ID), and the application version information with a hyphen "-". It is understood that this application does not restrict the order of the above information included in "req-app-id".

[0229] The content in the "a=3gpp-req-app" attribute row in Examples 4.1 and 4.2 of Table 3 above is equivalent to the identification information including the application identifier of the application. The application identifier of the application also includes the network identifier information of the network to which the application belongs and the version information of the application. At this time, the network identifier information of the network to which the application belongs and the version information of the application are equivalent to part of the composition information of the application identifier.

[0230] It is understandable that the content in the "a=3gpp-req-app" attribute row in Tables 1 and 2 can be interpreted as the identification information in the first request. The example in Table 1 can be regarded as the first identification information, the example in Table 2 can be regarded as the second identification information, and the example in Table 3 can be regarded as the third identification information.

[0231] Referring to Tables 1 and 2, by adding the application version information and the MCC and MNC of the network to which the application belongs to the "a=3gpp-req-app" attribute row, various types of information can be freely arranged and combined. The examples in Table 3 above illustrate some possible implementation methods. The examples in Table 3 are only illustrative examples and should not be used to limit the embodiments of this application. Any new examples obtained by reasonable modification or supplementation of the content of the examples in Table 3 are all within the protection scope of the embodiments of this application.

[0232] S702, the originating network sends a first request to the terminating network, and the terminating network sends a first request to the first terminal. Accordingly, the first terminal receives the first request from the terminating network.

[0233] This step is the same as step S502 in the embodiment shown in Figure 5 and step S602 in the embodiment shown in Figure 6, and will not be repeated here.

[0234] S703, the first terminal determines, based on the first request message, whether there is an application indicating the network identifier of the network to which the application belongs, the application identifier of the application, and the version information.

[0235] In this step, the first terminal can determine whether there is an application with a unique identifier in the local area based on the network identifier information of the network to which the application belongs and the application identifier of the application included in the identifier information in the first request. If the first terminal does not store or cache the application, it is equivalent to the application indicated by the network identifier information of the network to which the application belongs and the application identifier of the application not existing in the first terminal, thus meeting the condition for requesting to obtain the application, and jump to step S704.

[0236] Furthermore, if the application is stored or cached in the first terminal, since the first request also includes the application version information, the first terminal determines whether the application version indicated by the version information is stored or cached locally based on the application version information. If the application version information stored or cached in the first terminal is inconsistent with the application version information in the first request, it is equivalent to the application version indicated by the version information not existing in the first terminal, thus satisfying the condition for requesting to obtain the application, and proceeding to step S704.

[0237] Regardless of whether the application with a unique identifier is not stored or cached in the first terminal, or whether the version information of the application stored or cached in the first terminal is inconsistent with the version information of the application in the first request, when the first terminal does not store or cache an application whose network identifier, application identifier, and version information are all consistent, it can be understood that there is no application in the first terminal that indicates the network identifier, application identifier, and version information of the application's network, thus satisfying the conditions for requesting to obtain the application, and therefore proceeding to step S704.

[0238] If the first terminal stores or caches an application with unique identification information, and the version information of the application is consistent with the version information of the application in the first request, that is, if the first terminal stores or caches an application whose network identification information of the network to which the application belongs, the application identification information of the application, and the version information are all consistent, it can be understood that the first terminal contains an application indicated by the network identification information of the network to which the application belongs, the application identification information of the application, and the version information, and then proceed to step S706.

[0239] S704, the first terminal sends a second request to the network to which the application belongs. The second request is used to request the application and includes the network identification information of the network to which the application belongs, the application identifier, and the version information of the application. Accordingly, the network to which the application belongs receives the second request from the first terminal.

[0240] Similar to the embodiments shown in Figures 5 and 6, assuming the second terminal downloads the required application from the originating network IMS B, and the second terminal stores or caches the version information of the application, when the first terminal does not have the network identifier information of the network to which the application belongs, the application identifier of the application, and the application indicated by the version information, the first terminal needs to download the network identifier information of the network to which the application belongs, the application identifier of the application, and the application indicated by the version information from the same network. In this step, the first terminal sends a second request to the originating network IMS B. The second request is used to request the application. The first terminal uses the network identifier information of the network to which the application belongs, the application identifier of the application, and the version information included in the second request to uniquely identify the version of the application indicated by the version information to the originating network IMS B.

[0241] Understandably, in this step, the first terminal can directly send the second request to the originating network IMS B, or it can forward the second request to the originating network IMS B through the terminating network IMS A.

[0242] For example, the first terminal sends an HTTP GET Request to the originating network IMS B. The HTTP GET Request includes the MCC and MNC of the network to which the application belongs, the application identifier (App-ID) of the application, and the version information of the application.

[0243] S705, the network to which the application belongs sends a response to the second request to the first terminal, the response including information about the application. Accordingly, the first terminal receives the response to the second request from the network to which the application belongs.

[0244] In this step, based on the assumed network to which the application belongs, i.e. the originating network IMS B, the network identifier of the network to which the application belongs, the application identifier, and the version information included in the second request can determine the version of the application indicated by the unique version information. The body of the response to the second request can carry the application information. The originating network IMS B transmits the version of the application indicated by the unique version information to the first terminal through the response to the second request.

[0245] Understandably, the originating network IMS B can directly send the response to the second request to the first terminal, or it can forward the response to the second request to the first terminal through the terminating network IMS A.

[0246] Consistent with the embodiments shown in Figures 5 and 6, the information applied in step S705 may include the application's program information, specifically the application's compressed package or program package, which will not be elaborated here.

[0247] In addition, similar to the embodiments shown in Figures 5 and 6, the sending or receiving operations of the application's network involved in steps S704 and S705 above are actually executed by network elements in the application's network. Moreover, the network elements in the application's network have the same functions as those in the embodiments shown in Figures 5 and 6. Therefore, the network elements in the application's network in the embodiment shown in Figure 7 can also be used to implement the operations performed by the network elements in the application's network in the embodiments shown in Figures 5 and 6. This will not be elaborated further here.

[0248] S706, the first terminal sends a response to the first request to the terminating network, the terminating network sends a response to the first request to the originating network, and the originating network sends a response to the first request to the second terminal. Accordingly, the second terminal receives the response to the first request from the originating network.

[0249] This step is consistent with step S506 in the embodiment shown in Figure 5 and step S606 in the embodiment shown in Figure 6. When the process shown in Figure 7 proceeds to step S706, there is a unique version information indicating the version of the application in the first terminal. This step, through the response to the first request, indicates to the second terminal that the two communicating parties in the same IMS call service have the required DC App and the versions are consistent.

[0250] For example, the response to the first request is a SIP re-INVITE response or a SIP UPDATE response, with an HTTP status code of 200 OK. When the first request includes information for initiating media negotiation between the first terminal and the second terminal, the response to the first request in step S706 is used to indicate that the media negotiation has been completed. The response to the first request includes "SDP answer" information in response to the "SDP offer" information.

[0251] In this embodiment, the first terminal, based on the network identifier information of the network to which the application belongs, the application identifier and version information of the application, can not only avoid downloading the same version of the application repeatedly, thus avoiding resource waste, but also support communication parties in the same call service to have the same application and the same version of the application, thereby improving the success rate of communication services provided by the application for both parties.

[0252] Figures 8 and 9 are schematic diagrams of possible communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of the terminal devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In the embodiments of this application, the communication device can be the first terminal or the second terminal in the method embodiments shown in Figures 4 to 7, or it can be a component (such as a chip, chip system, processor, etc.) configured in the first terminal or the second terminal, or it can be a logic module or software capable of implementing some or all of the functions of the first terminal or the second terminal.

[0253] Figure 8 is a schematic block diagram of a communication device 800 provided in one embodiment of this application. As shown in Figure 8, the communication device 800 includes a processing module 810 and a transceiver module 820.

[0254] The transceiver module 820 can implement corresponding communication functions and can also be referred to as an input / output interface or communication unit. The processing module 810 can be used to perform processing operations. It should be understood that if the device 800 is a component configured in a terminal device, such as a chip, the transceiver module 820 can be an input / output interface.

[0255] Optionally, the transceiver module 820 may include a sending module and a receiving module. The sending module is used to perform the sending operation of the first terminal or the second terminal in Figures 4 to 7, and the receiving module is used to perform the receiving operation of the first terminal or the second terminal in Figures 4 to 7.

[0256] It should be understood that when the device 800 is a component configured in a terminal device, such as a chip, the transmitting module can be an output interface, and the transmitting operation involved in the embodiments of this application can be performed by the output interface; the receiving module can be an input interface, and the receiving operation involved in the embodiments of this application can be performed by the input interface.

[0257] Optionally, the device 800 may further include a storage module for storing instructions and / or data, and the processing module 810 may read the instructions and / or data from the storage module to enable the device to implement the method embodiments shown in Figures 4 to 7.

[0258] In one possible design, the device 800 can be used to implement the function of the first terminal in the method embodiments shown in Figures 4 to 7. Alternatively, the device 800 can include a unit for implementing any function or operation of the first terminal in the method embodiments shown in Figures 4 to 7. This unit can be implemented wholly or partially by software, hardware, firmware, or any combination thereof.

[0259] When device 800 is used to implement the function of the first terminal in the method embodiments shown in Figures 4 to 7, transceiver module 820 (specifically, receiving module) can be used to execute step S401 in Figure 4 to receive a first request from the second terminal; processing module 810 can be used to execute step S402 in Figure 4 to determine the application that does not store a unique identifier based on the identification information included in the first request; transceiver module 820 (specifically, sending module) can also be used to execute step S402 in Figure 4 to send a second request to the network to which the application belongs if the conditions for requesting to obtain the application are met.

[0260] In another possible design, the device 800 can be used to implement the function of the second terminal in the method embodiments shown in Figures 4 to 7. Alternatively, the device 800 can include a unit for implementing any function or operation of the second terminal in the method embodiments shown in Figures 4 to 7. This unit can be implemented wholly or partially by software, hardware, firmware, or any combination thereof.

[0261] When device 800 is used to implement the function of the second terminal in the method embodiments shown in Figures 4 to 7, transceiver module 820 (specifically, a sending module) can be used to execute step S401 in Figure 4 to send a first request to the first terminal; transceiver module 820 (specifically, a receiving module) can be used to execute step S404 in Figure 4 to receive a response from the first terminal to the first request.

[0262] A more detailed description of the above-mentioned processing module 810 and transceiver module 820 can be obtained directly from the relevant descriptions in the method embodiments shown in Figures 4 to 7, and will not be repeated here.

[0263] It should be noted that the transceiver module can also be called a transceiver unit, transceiver, transceiver machine, or transceiver device, etc. The processing module can also be called a processor, processing board, processing unit, or processing device, etc. Optionally, the transceiver module is used to perform the sending and receiving operations of the terminal device in the above method. The device in the communication module that implements the receiving function can be considered as the receiving module, and the device in the communication module that implements the sending function can be considered as the sending module; that is, the transceiver module includes both a receiving module and a sending module.

[0264] In another possible design, the aforementioned transceiver module and / or processing module can be implemented using virtual modules. For example, the processing module can be implemented using software functional modules or virtual devices, and the transceiver module can also be implemented using software functional modules or virtual devices. In another possible design, the processing module or transceiver module can also be implemented using physical devices. For example, if the device is implemented using a chip / chip circuit, the transceiver module can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing module is an integrated processor, microprocessor, or integrated circuit.

[0265] It should be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0266] Figure 9 is a schematic diagram of a communication device provided in another embodiment of this application. The device 900 shown in Figure 9 can be used to execute any of the methods described above that are performed by the communication device.

[0267] As shown in Figure 9, the device 900 of this embodiment includes a memory 901, a processor 902, a communication interface 903, and a bus 904. The memory 901, processor 902, and communication interface 903 are interconnected via the bus 904.

[0268] The memory 901 can be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 901 can store programs, and when the program stored in the memory 901 is executed by the processor 902, the processor 902 performs any of the aforementioned methods.

[0269] The processor 902 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for executing relevant programs.

[0270] The processor 902 can also be an integrated circuit chip with signal processing capabilities. In implementation, the various related steps in the embodiments of this application can be completed through the integrated logic circuitry in the processor 902 or through software instructions.

[0271] The processor 902 described above can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor.

[0272] The steps of the method disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 901, and processor 902 reads the information in memory 901 and, in conjunction with its hardware, completes the functions required by the units included in the device of this application.

[0273] The communication interface 903 can use, but is not limited to, transceivers to enable communication between the device 900 and other devices or apparatuses.

[0274] Bus 904 may include a pathway for transmitting information between various components of device 900 (e.g., memory 901, processor 902, communication interface 903).

[0275] This application also provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, implement the steps of the methods described above.

[0276] This application also provides a computer program product, including computer instructions that, when executed by a processor, implement the various steps in the methods described above.

[0277] This application also provides a communication system, which includes the aforementioned first terminal and second terminal.

[0278] It should be noted that the modules or components shown in the above embodiments can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more microprocessors, or one or more field-programmable gate arrays (FPGAs). Furthermore, when a module is implemented by a processing element calling program code, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling program code, such as a controller. Additionally, these modules can be integrated together and implemented as a System-on-a-Chip (SoC).

[0279] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, software modules, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0280] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0281] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A communication method applied to a first terminal, characterized in that, The method includes: Receive a first request, the first request including identification information for uniquely identifying the application, the identification information including network identification information of the network to which the application belongs and the application identifier of the application; If the conditions for requesting to obtain the application are met, a second request is sent. The second request is used to request to obtain the application, and the second request includes the identification information. Receive a response to the second request, the response including information about the application.

2. The method according to claim 1, characterized in that, The condition includes: the application does not exist in the first terminal.

3. The method according to claim 1 or 2, characterized in that, The information of the application includes the application's program information.

4. The method according to any one of claims 1 to 3, characterized in that, The network identification information of the network to which the application belongs includes the network's Mobile Country Code (MCC) and Mobile Network Code (MNC).

5. The method according to any one of claims 1 to 4, characterized in that, The first request and the second request also include the version information of the application; The conditions include: the application of the version indicated by the version information does not exist in the first terminal.

6. The method according to claim 5, characterized in that, The identification information includes the network identification information of the network to which the application belongs, the application identifier of the application, and the version information of the application; or, The identification information includes the network identification information of the network to which the application belongs and the application identifier of the application, wherein the application identifier of the application includes the version information of the application; or, The identification information includes the application identifier and the application version information, wherein the application identifier includes the network identifier information of the network to which the application belongs; or, The identification information includes the application identifier of the application, which includes the network identifier information of the network to which the application belongs and the version information of the application.

7. A communication method applied to a first terminal, characterized in that, The method includes: Receive a first request, the first request including the application identifier and version information of the application; If the conditions for requesting to obtain the application are met, a second request is sent. The second request is used to request to obtain the application, and the second request includes the application identifier and version information of the application. Receive a response to the second request, the response including information about the application.

8. The method according to claim 7, characterized in that, The conditions include: the application of the version indicated by the version information does not exist in the first terminal.

9. The method according to claim 7 or 8, characterized in that, The application information includes program information for the version of the application indicated by the version information.

10. The method according to any one of claims 7 to 9, characterized in that, The first request includes identification information for identifying the application, the identification information including the application identifier and version information of the application, or the identification information including the application identifier of the application, the application identifier including the version information of the application.

11. The method according to any one of claims 1 to 6 or 7 to 10, characterized in that, Sending the second request includes: Send the second request to a network element in the network to which the application belongs; The receiving of a response to the second request includes: Receive responses from network elements in the network to which the application belongs.

12. The method according to claim 11, characterized in that, The network element in the network to which the application belongs is used to provide information about the application to at least one terminal, the at least one terminal including the first terminal and / or the second terminal.

13. The method according to any one of claims 1 to 6 or 7 to 10, characterized in that, The method further includes: Send a response to the first request.

14. The method according to claim 13, characterized in that, The first request includes information for initiating media negotiation between the first terminal and the second terminal.

15. The method according to claim 14, characterized in that, The response to the first request is used to indicate that media negotiation has been completed.

16. A communication method applied to a second terminal, characterized in that, The method includes: Send a first request, the first request including the application identifier of the application, the first request also including the network identifier information of the network to which the application belongs and / or the version information of the application; Receive the response to the first request.

17. The method according to claim 16, characterized in that, The first request includes information for initiating media negotiation between the first terminal and the second terminal.

18. The method according to claim 17, characterized in that, The response to the first request is used to indicate that media negotiation has been completed.

19. The method according to any one of claims 16 to 18, characterized in that, The network identification information of the network to which the application belongs includes the network's MCC and MNC.

20. The method according to any one of claims 16 to 19, characterized in that, The first request includes first identification information; The first identification information includes the network identification information of the network to which the application belongs and the application identification of the application; or, The first identification information includes the application identifier of the application, and the application identifier of the application includes the network identification information of the network to which the application belongs.

21. The method according to any one of claims 16 to 19, characterized in that, The first request includes second identification information; The second identification information includes the application identifier and the application version information; or, The second identification information includes the application identifier of the application, and the application identifier of the application includes the version information of the application.

22. The method according to any one of claims 16 to 19, characterized in that, The first request includes third identification information; The third identification information includes the network identification information of the network to which the application belongs, the application identifier of the application, and the version information of the application; or, The third identification information includes the network identification information of the network to which the application belongs and the application identifier of the application, wherein the application identifier includes the version information of the application; or, The third identification information includes the application identifier and the application version information, wherein the application identifier includes the network identifier information of the network to which the application belongs; or, The third identification information includes the application identifier of the application, which includes the network identifier information of the network to which the application belongs and the version information of the application.

23. The method according to any one of claims 1 to 22, characterized in that, The application in question is a data channel application.

24. A communication device, characterized in that, The communication device includes a module for implementing the communication method as described in any one of claims 1 to 23.

25. A communication device, characterized in that, include: Processor and memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the communication device to perform the communication method as described in any one of claims 1 to 23.

26. A chip, characterized in that, include: processor; The processor executes a computer program or instruction in the memory, causing the chip to perform the communication method as described in any one of claims 1 to 23.

27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the communication method as described in any one of claims 1 to 23.

28. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the communication method as described in any one of claims 1 to 23.

29. A communication system, characterized in that, Including the first terminal and the second terminal; Wherein, the first terminal is used to execute the communication method as described in any one of claims 1 to 15, and the second terminal is used to execute the communication method as described in any one of claims 16 to 23.

30. A communication method, characterized in that, The method includes: The second terminal sends a first request to the first terminal. The first request includes identification information for uniquely identifying the application. The identification information includes network identification information of the network to which the application belongs and the application identifier of the application. The first terminal receives the first request; if the conditions for requesting to obtain the application are met, the first terminal sends a second request, the second request being used to request to obtain the application, the second request including the identification information; the first terminal receives a response to the second request, the response including information about the application; the first terminal sends a response to the first request to the second terminal; or, The second terminal sends a first request to the first terminal, the first request including the application identifier and version information of the application; the first terminal receives the first request; if the conditions for requesting to obtain the application are met, the first terminal sends a second request, the second request being used to request to obtain the application, the second request including the application identifier and version information of the application; the first terminal receives a response to the second request, the response including information about the application; the first terminal sends a response to the first request to the second terminal.

Citation Information

Patent Citations

  • Application management method and device

    CN113992632A

  • Communication method and device, terminal, network side equipment and medium

    CN117062083A

  • Communication method, device and system

    CN117692437A

  • Extension of a data channel application id with a data channel tag

    WO2024067381A1