Data channel establishment method and apparatus, communication device, storage medium, and computer program product

By receiving and comparing application information in SDP proposals, the system determines the application compatibility on the terminal side and downloads compatible applications when incompatible ones are found. This solves the problem of low efficiency in establishing data channels and achieves efficient application data channel establishment and compatibility assurance.

CN119743853BActive Publication Date: 2026-06-09CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
Filing Date
2024-12-26
Publication Date
2026-06-09

Smart Images

  • Figure CN119743853B_ABST
    Figure CN119743853B_ABST
Patent Text Reader

Abstract

This application relates to a data channel establishment method, apparatus, communication device, storage medium, and computer program product. The method includes: carrying a Session Description Protocol (SDP) proposal in a first communication request, the SDP proposal including application information of a target application on a second terminal side, the application information including one or more of an identifier, version, and compatibility information; comparing the application information in the first communication request with the application information stored on the first terminal to obtain a compatibility judgment result; if the compatibility judgment result indicates that the application on the first terminal side is incompatible, then based on the identifier and version, downloading a compatible application and establishing an application data channel. This can reduce signaling interaction and traffic consumption with the network caused by repeated application downloads, reduce the latency of ADC channel establishment, improve communication efficiency, and ensure the compatibility of applications at both ends of the ADC channel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of wireless communication and terminal technology, and in particular to a data channel establishment method, apparatus, communication equipment, storage medium, and computer program product. Background Technology

[0002] With the continuous development of wireless communication technology, richer multimedia interactions can be achieved between clients through data transmission channels. Clients can request the establishment of data transmission channels for application data from other clients; for example, a corresponding data channel can be established using the identifier of the transmitting application. However, due to user needs, applications are constantly being updated, and their functions and versions are also constantly evolving. Therefore, the same application identifier cached by clients at both ends of the channel may not be compatible, resulting in low efficiency in establishing the data channel. Summary of the Invention

[0003] Therefore, it is necessary to provide a data channel establishment method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can improve the efficiency of data channel establishment in response to the above-mentioned technical problems.

[0004] A data channel establishment method, applied to a first terminal; the method includes:

[0005] A first communication request is received, which is used to request the establishment of an application data channel; the first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side, and the application information includes one or more of the following: identifier, version, and compatibility information.

[0006] A compatibility judgment result is obtained by comparing the application information in the first communication request with the application information stored in the first terminal.

[0007] If the compatibility determination result indicates that the application on the first terminal side is incompatible, then based on the identifier and the version, a compatible application is downloaded, and after the compatible application is downloaded, the SDP proposal initiated by the second terminal is accepted and an application data channel is established.

[0008] In one embodiment, the first communication request is sent by the network device on the second terminal side after receiving the second communication request sent by the first terminal. The second communication request carries application information of the target application on the second terminal side, and the application information includes one or more of the following: identifier, version, and compatibility information.

[0009] In one embodiment, the application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal; the step of comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result includes:

[0010] The compatibility judgment result is obtained by comparing the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information.

[0011] In one embodiment, the comparison based on the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information to obtain a compatibility judgment result includes:

[0012] When the target comparison mode information is in the first mode, the version of the target application in the first communication request is compared with the version of the target application stored in the first terminal.

[0013] If the preset consistency condition is not met, a first compatibility judgment result is obtained, which indicates that the application on the first terminal side is incompatible; or,

[0014] If the preset consistency conditions are met, a second compatibility judgment result is obtained, which represents the application compatibility of the first terminal side.

[0015] In one embodiment, the application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal; the step of comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result includes:

[0016] A first comparison result is obtained based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal; a second comparison result is obtained based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request; if the first comparison result is consistent with the second comparison result, a compatibility judgment result is obtained based on the compatibility judgment result represented by the first comparison result and / or the second comparison result; or, if the first comparison result is inconsistent with the second comparison result, a compatibility judgment result is obtained based on the first comparison result, the second comparison result and the target comparison mode information.

[0017] In one embodiment, obtaining a compatibility judgment result based on the first comparison result, the second comparison result, and the target comparison pattern information includes:

[0018] If the target comparison mode information is the second mode, then the compatibility judgment result is determined based on the first comparison result;

[0019] If the target comparison mode information is the third mode, then the compatibility judgment result is determined based on the second comparison result;

[0020] If the target comparison mode information is the fourth mode, then a compatibility judgment result representing the incompatibility of the application on the first terminal side is obtained.

[0021] In one embodiment, downloading the compatible application based on the identifier and the version includes:

[0022] Based on the BDC channel, an application acquisition request is initiated. The application acquisition request carries the identifier and version of a compatible application. The compatible application is determined based on the application information in the first communication request.

[0023] The compatible application is downloaded to the network device on the second terminal side, and the application information of the compatible application is obtained.

[0024] Cache the compatible applications and their application information.

[0025] In one embodiment, the method further includes:

[0026] Before receiving the first communication request, establish the BDC channel with the network device of the second terminal; or...

[0027] After determining that the compatibility judgment result indicates that the application on the first terminal side is incompatible, the BDC channel is established with the network device of the second terminal.

[0028] In one embodiment, the method further includes:

[0029] A temporary response message is returned to the network device on the second terminal side. The temporary response message carries a cause value, which is "download application".

[0030] In one embodiment, the method further includes:

[0031] A second communication request is initiated to the network device on the first terminal side. The second communication request carries data for establishing a BDC channel. The network device on the first terminal side negotiates with the network device to establish the BDC channel. The network device includes a first network function and a second network function.

[0032] Initiate an application download request to the first network function, and download one or more specified applications based on the application list provided by the second network function, and obtain application information of the specified applications, including identification, version and compatibility information;

[0033] The specified application and its application information are stored locally.

[0034] A data channel establishment device is applied to a first terminal; the device includes:

[0035] The first receiving module is configured to receive a first communication request, the first communication request being used to request the establishment of an application data channel; the first communication request carries a Session Description Protocol (SDP) proposal, the SDP proposal including application information of the target application on the second terminal side, the application information including one or more of identifier, version and compatibility information.

[0036] The first comparison module is used to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result.

[0037] The first download module is used to download a compatible application based on the identifier and the version if the compatibility judgment result indicates that the application on the first terminal side is incompatible, and after the compatible application is downloaded, accept the SDP proposal initiated by the second terminal and establish an application data channel.

[0038] A communication device includes: a processor and a receiver;

[0039] The receiver is configured to receive a first communication request, which is used to request the establishment of an application data channel. The first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side. The application information includes one or more of the following: identifier, version, and compatibility information.

[0040] The processor is configured to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result; if the compatibility judgment result indicates that the application on the first terminal side is incompatible, then based on the identifier and the version, it downloads a compatible application, and after downloading the compatible application, it accepts the SDP proposal initiated by the second terminal and establishes an application data channel.

[0041] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the embodiments of this application.

[0042] A computer program product includes a computer program that, when executed by a processor, implements the steps provided in the embodiments of this application.

[0043] The aforementioned data channel establishment method, apparatus, communication equipment, storage medium, and computer program product, wherein the method involves carrying a Session Description Protocol (SDP) proposal in a first communication request. The SDP proposal includes application information of a target application on the second terminal side, the application information including one or more of an identifier, version, and compatibility information. A compatibility judgment result can be obtained by comparing the application information in the first communication request with the application information stored on the first terminal. If the compatibility judgment result indicates that the application on the first terminal side is incompatible, a compatible application is downloaded based on the identifier and version, and an application data channel is established. This reduces signaling interaction and traffic consumption with the network caused by repeated application downloads, reduces the latency of ADC channel establishment, improves communication efficiency, and ensures the compatibility of applications at both ends of the ADC channel. Attached Figure Description

[0044] Figure 1 This is an application environment diagram of a data channel establishment method in one embodiment;

[0045] Figure 2 This is a flowchart illustrating a data channel establishment method in one embodiment;

[0046] Figure 3 This is a flowchart illustrating the steps for determining compatibility in one embodiment;

[0047] Figure 4 This is a flowchart illustrating the steps for determining compatibility based on target comparison pattern information in one embodiment.

[0048] Figure 5 This is a flowchart illustrating the application of the acquisition step in one embodiment;

[0049] Figure 6 This is a flowchart illustrating the application and application information pre-caching steps in one embodiment.

[0050] Figure 7 This is a schematic diagram illustrating the information stored between the receiving terminal, the initiating terminal, and the network device in one embodiment.

[0051] Figure 8 This is a schematic diagram of the process for pre-acquiring applications and application information in one embodiment;

[0052] Figure 9 This is a flowchart illustrating a data channel establishment method in another embodiment;

[0053] Figure 10This is a structural block diagram of a data channel establishment device in one embodiment;

[0054] Figure 11 This is an internal structural diagram of a communication device in one embodiment. Detailed Implementation

[0055] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0056] Figure 1 This is a schematic diagram illustrating an application scenario of a data channel establishment method provided in an embodiment of this application. For example... Figure 1 As shown, this scenario includes a first user terminal 100, a second user terminal 200, and a network device 300. The first user terminal 100 and the network device 300 transmit data via a network; the second user terminal 200 and the network device 300 also transmit data via a network.

[0057] Network device 300 may include a DCAR (Data Channel Application Repository). Network device 300 may include multiple network functions, such as Data Channel Signalling Function (DCSF), DSCF, etc. The first user terminal 100 and the second terminal 200 may be wireless terminals. Wireless terminals may be devices providing voice and / or other service data connectivity to users, or handheld devices with wireless connectivity, or other processing devices connected to a wireless modem. Wireless terminals may communicate with one or more core networks via a Radio Access Network (RAN). Wireless terminals may be mobile terminals, such as mobile phones (or "cellular" phones), and computers with mobile terminals, for example, portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile devices. They exchange voice and / or data with the radio access network. Wireless terminals can also be referred to as systems, subscriber units, subscriber stations, mobile stations, mobile stations, remote stations, remote terminals, access terminals, user terminals, user agents, user devices, or user equipment, and no specific terminology is used here.

[0058] In traditional technologies, such as the 3GPP standard, the attribute "a=3gpp-req-app" can be defined. This attribute contains the req-app-ID parameter, which is used by a client to transmit an application identifier when requesting to establish an application data channel with its peer. This identifier can be used to identify the application and determine the creation of a data channel that matches the application. Although the application identifier is uniquely associated with the application.

[0059] However, since applications with the same req-app-ID may generate multiple versions as their functionality evolves, compatibility between different versions cannot be guaranteed. Therefore, devices at both ends of the data channel simultaneously establish BDC channels with both their local and peer network functions and download applications from the same node. For example, the terminal can cache and re-enable the downloaded application. However, if users at both ends of the channel are on different networks (e.g., across provinces or carriers), the application list and applications are usually obtained from the local network function (stream ID=0). It cannot be guaranteed that applications cached locally with the same req-app-ID will be compatible with those on the peer. Therefore, the peer terminal receiving the SDP proposal must re-download the application from the remote network device (stream ID = 100). Since applications are not constantly updated, this process often introduces unnecessary traffic and signaling burdens to the network and increases the time required to establish the data channel.

[0060] Based on the aforementioned traditional technologies, this application provides a data channel establishment method that can reduce the signaling and traffic consumption caused by repeated application downloads, shorten channel establishment latency, and ensure the compatibility of applications at both ends of the data channel. When the responding terminal determines that the version of its application is incompatible with the peer application, it can provide a temporary response message to the network device and the peer, establish a BDC channel with the peer, quickly download compatible applications, and quickly establish an ADC channel.

[0061] It should be noted that the beneficial effects or technical problems solved by the embodiments of this application are not limited to this one, but may also be other implicit or related problems. For details, please refer to the description of the embodiments below.

[0062] Before introducing specific embodiments of the present invention, the technical terms involved in the present invention will be explained:

[0063] IMS DC (IMS Data Channel) is a technology used in 5G networks to enhance real-time communication. It enables a richer multimedia interactive experience by adding a data transmission channel on top of audio and video calls.

[0064] ADC (Application Data Channel) is a data channel used in IMS (IP Multimedia Subsystem). It is used by data channel applications for data transmission and backend business logic execution.

[0065] A Bootstrap data channel (BDC) is a data channel used in an IMS network, such as an application channel. It is used by end-user devices to establish an initial data communication channel and provide a foundation for further data communication, such as for downloading applications.

[0066] Data Channel Application is an application based on the data channel that uses IMSDC technology to provide users at both ends of the IMS data channel with a real-time interactive business experience.

[0067] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0068] In one embodiment, such as Figure 2 As shown, a data channel establishment method is provided, which can be applied to... Figure 1 Taking the first terminal 100 as an example, the explanation includes the following steps:

[0069] Step 202: Receive the first communication request.

[0070] The first communication request is used to request the establishment of an application data channel. The first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side. This application information includes one or more of the following: identifier, version, and compatibility information. The first communication request can be a Session Initiation Protocol (SIP) request, which can be a SIP INVITE request or a re-INVITE request. This session initiation protocol request carries the SDP proposal.

[0071] Optionally, the first terminal can be the communication responder, and the second terminal can be the communication initiator, such as the caller. The SDP proposal may contain application information of the caller's application, and the application on the second terminal side may be the target application. The application information may include the target application's application information, such as the target application's identifier, version, and compatibility information. There is a one-to-one correspondence between the identifier and the application. The compatibility information may include the highest and lowest version requirements.

[0072] Specifically, the second terminal (the calling party) can initiate a communication request to the network device on its side. This communication request can be a Session Initiation Protocol (SIP) request, which can be a SIP INVITE request or a re-INVITE request. The SIP request carries an SDP proposal. The network device can then send a first communication request to the first terminal (the responding party).

[0073] Step 204: Compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result.

[0074] The compatibility judgment result can characterize whether the application cached on the first terminal is compatible with the target application carried in the first communication request. For example, it can include compatibility judgment result and incompatibility judgment result.

[0075] Specifically, the first terminal can compare the application information of the target application stored on the first terminal with one or more of the identifier, version and compatibility information in the application information carried in the first communication request to obtain a compatibility judgment result.

[0076] Step 206: If the compatibility judgment result indicates that the application on the first terminal side is incompatible, then based on the identifier and version, download the compatible application, and after the compatible application is downloaded, accept the SDP proposal initiated by the second terminal and establish an application data channel.

[0077] Specifically, if the compatibility determination result of the first terminal indicates that the application on the first terminal side is compatible, then the first terminal can download the compatible application based on the identifier and version. Optionally, if the first terminal compares the application information in the first communication request with the application information stored in the first terminal and determines that the application cached on the first terminal side is incompatible with the application on the second terminal side, then the first terminal can download the compatible application from the network device on the first terminal side based on the identifier and version carried in the first communication request. After downloading the compatible application, it can accept the SDP proposal initiated by the second terminal and establish an ADC data channel, i.e., an application data channel, with the first terminal.

[0078] In the above data channel establishment method, by carrying a Session Description Protocol (SDP) proposal in the first communication request, the SDP proposal includes application information of the target application on the second terminal side. The application information includes one or more of the following: identifier, version, and compatibility information. A compatibility judgment result can be obtained by comparing the application information in the first communication request with the application information stored in the first terminal. If the compatibility judgment result indicates that the application on the first terminal side is incompatible, a compatible application is downloaded based on the identifier and version, and an application data channel is established. This can reduce the signaling interaction and traffic consumption with the network caused by repeatedly downloading applications, reduce the latency of ADC channel establishment, improve communication efficiency, and ensure the compatibility of applications at both ends of the ADC channel.

[0079] In one embodiment, the first communication request is sent by the network device on the second terminal side after receiving the second communication request sent by the first terminal. The second communication request carries application information of the target application on the second terminal side, and the application information includes one or more of the following: identifier, version, and compatibility information.

[0080] Specifically, the second terminal (the calling party) can initiate a communication request to the network device on its side. This communication request can be a Session Initiation Protocol (SIP) request, which can be a SIP INVITE request or a re-INVITE request. The SIP request carries an SDP proposal. The network device can then send a first communication request to the first terminal (the responding party).

[0081] In this embodiment, a network device is used to implement the communication request between the communication initiator and the communication receiver. In the communication request sent by the communication initiator to the network device, the version and compatibility information of the target application are added to ensure the integrity of the information carried, better distinguish applications with different versions, and ensure the compatibility of applications between the terminal and the peer terminal.

[0082] In one embodiment, the application information stored on the first terminal is the application information corresponding to the target application stored locally on the first terminal. The first terminal may cache multiple applications and their respective application information locally.

[0083] The specific implementation process of the step "comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result" includes:

[0084] The compatibility judgment result is obtained by comparing the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information.

[0085] Specifically, after receiving the first communication request, the first terminal can filter the application information of the target application that matches the identifier from the application information of various applications stored locally on the first terminal, based on the identifier carried in the first communication request. In this way, the first terminal can obtain a compatibility judgment result based on the application information carried in the first communication request, the application information of the target application stored on the first terminal, and the target comparison pattern information.

[0086] In one example, the target comparison mode information may be pre-configured by the first terminal.

[0087] In another example, the first communication request carries a target comparison mode. After receiving the first communication request, the first terminal can configure the target comparison mode information locally based on the target comparison mode information carried in the first communication request.

[0088] In this embodiment, the compatibility is determined by the identifier, version, and compatibility information carried in the first communication request and the application information stored on the first terminal, ensuring the efficiency and accuracy of the determination.

[0089] In one embodiment, such as Figure 3 As shown, the specific implementation process of the step "compare the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information to obtain a compatibility judgment result" may include:

[0090] Step 302: If the target comparison mode information is the first mode, compare the version of the target application in the first communication request with the version of the target application stored in the first terminal.

[0091] Among them, the target comparison mode information is the first mode, which can represent that the comparison mode of the first terminal is the first mode. The current target comparison mode information can be the first target value, which can be 0. That is to say, if the terminal determines that the target comparison mode information is the first target value, then it determines that the current target comparison mode information is the first mode.

[0092] Specifically, when the first terminal determines that the current target comparison mode information is the first mode, the first terminal can compare whether the version of the target application carried in the first communication request is consistent with the version of the target application stored locally on the first terminal.

[0093] Step 304: If the preset consistency condition is not met, the first compatibility judgment result is obtained. The first compatibility judgment result indicates that the application on the first terminal side is incompatible.

[0094] Step 306: If the preset consistency condition is met, the second compatibility judgment result is obtained. The second compatibility judgment result represents the application compatibility of the first terminal side.

[0095] The preset consistency condition can be whether the versions are consistent. If the versions are consistent, it can be determined that the preset consistency condition is met. If the versions are inconsistent, it can be determined that the preset consistency condition is not met.

[0096] Specifically, the first terminal compares whether the version of the target application carried in the first communication request is consistent with the version of the target application stored locally on the first terminal. If the first terminal determines that the version of the target application carried in the first communication request is inconsistent with the version of the target application stored locally on the first terminal, the first terminal can determine that the preset consistency condition is not met. In this way, the first terminal can determine that the target application on the first terminal side is incompatible with the target application on the second terminal side, and obtain a first compatibility judgment result, that is, obtain a compatibility judgment result that represents the incompatibility of the application on the first terminal side.

[0097] Optionally, if the first terminal determines that the target comparison mode information indicates it is currently in a first mode, then the first terminal can compare the version of the target application carried in the first communication request with the version of the target application stored locally on the first terminal. If they are inconsistent, the first terminal can determine that the target application on the first terminal side is incompatible with the target application on the second terminal side, thus obtaining a first compatibility judgment result. Alternatively, if they are consistent, the first terminal determines that the target application on the first terminal side is compatible with the target application on the second terminal side, thus obtaining a second compatibility judgment result. The second compatibility judgment result indicates that the target application cached on the first terminal side is compatible with the target application on the second terminal side. That is, if the first mode indicates a different version, the first terminal needs to download the application again from the network device.

[0098] It should be noted that this embodiment does not limit the execution order or execution content of steps 304 and 306. One or more of steps 304 and 306 can be executed based on the specific needs of the actual application scenario.

[0099] In this embodiment, compatibility is determined by compatibility information and target comparison mode information, which further improves the speed and accuracy of compatibility determination and reduces the establishment latency of application data channels.

[0100] In one embodiment, the application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal. The specific implementation process of the step "comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result" may include:

[0101] A first comparison result is obtained based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal. A second comparison result is obtained based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request. If the first comparison result and the second comparison result are consistent, a compatibility judgment result is obtained based on the compatibility judgment result represented by the first comparison result and / or the second comparison result. Alternatively, if the first comparison result and the second comparison result are inconsistent, a compatibility judgment result is obtained based on the first comparison result, the second comparison result, and the target comparison mode information.

[0102] The application information of the target application carried in the first communication request may include an identifier, version, and compatibility information. The compatibility information represents the highest and lowest version requirements of the application that is compatible with the target application on the second terminal side. The application information of the target application stored locally on the first terminal may also include an identifier, version, and compatibility information. The compatibility information can represent the highest and lowest version requirements of the application that is compatible with the target application on the first terminal side.

[0103] Specifically, the first terminal can compare the version of the target application carried in the first communication request with the compatibility information of the target application stored locally on the first terminal to obtain a first comparison result. The specific comparison process can be that the first terminal can determine whether the version of the target application carried in the first communication request can meet the highest version requirement / lowest version requirement in the compatibility information of the target application stored locally on the first terminal to obtain a first comparison result. For example, if the first terminal determines that the version of the target application carried in the first communication request can meet the version requirement in the compatibility information of the target application stored locally on the first terminal, then a first comparison result indicating that the target application cached on the first terminal side is compatible with the target application on the second terminal side is obtained. Correspondingly, if it is determined that the version of the target application carried in the first communication request cannot meet the version requirement in the compatibility information of the target application stored locally on the first terminal, then a first comparison result indicating that the target application cached on the first terminal side is incompatible with the target application on the second terminal side is obtained.

[0104] Similarly, the first terminal can compare the version of the target application stored on the first terminal with the compatibility information carried in the first communication request to obtain a second comparison result. Specifically, the comparison process can be as follows: the first terminal can determine whether the version of the target application stored on the first terminal can meet the highest / lowest version requirement in the compatibility information of the target application carried in the first communication request to obtain a second comparison result. For example, if the first terminal determines that the version of the target application stored locally on the first terminal can meet the version requirement in the compatibility information of the target application carried in the first communication request, then a second comparison result indicating that the target application cached on the first terminal side is compatible with the target application on the second terminal side is obtained. Correspondingly, if it is determined that the version of the target application stored locally on the first terminal cannot meet the version requirement in the compatibility information of the target application carried in the first communication request, then a second comparison result indicating that the target application cached on the first terminal side is incompatible with the target application on the second terminal side is obtained.

[0105] Thus, if the first comparison result matches the second comparison result, the first terminal can obtain a compatibility judgment result from the compatibility judgment result represented by the first comparison result. If the second comparison result does not match the first comparison result, the first terminal can make a judgment based on the first comparison result, the second comparison result, and the target comparison mode information to obtain a compatibility judgment result.

[0106] In this embodiment, compatibility is determined by compatibility information and target comparison mode information, which further improves the speed and accuracy of compatibility determination, improves the efficiency of application data channel establishment, and reduces additional signaling consumption between network devices and terminals.

[0107] In one embodiment, such as Figure 4 As shown, the specific implementation process of the step "obtaining a compatibility judgment result based on the first comparison result, the second comparison result, and the target comparison pattern information" may include:

[0108] Step 402: If the target comparison mode information is the second mode, then determine the compatibility judgment result based on the first comparison result.

[0109] The target comparison mode information being the second mode can indicate that the comparison mode of the first terminal is in the second mode. The current target comparison mode information can be the second target value, which can be 1. In other words, if the terminal determines that the target comparison mode information is the second target value, then it determines that the current target comparison mode information is in the second mode.

[0110] Specifically, when the first terminal determines that the current target comparison mode information is the second mode, the first terminal can determine whether the target application cached on the first terminal side, as represented by the first comparison result, is compatible with the target application on the second terminal side, and obtain a compatibility judgment result.

[0111] For example, if the first terminal is in the second mode, and the first comparison result indicates compatibility, then the compatibility judgment result determined by the first terminal based on the first comparison result is also compatible, that is, the target application cached on the first terminal side is compatible with the target application on the second terminal side.

[0112] For example, if the first terminal is in the second mode, and the first comparison result indicates incompatibility, then the compatibility judgment result determined by the first terminal based on the first comparison result is also incompatibility, that is, the target application cached on the first terminal side is incompatible with the target application on the second terminal side.

[0113] Step 404: If the target comparison mode information is the third mode, then determine the compatibility judgment result based on the second comparison result.

[0114] Among them, the target comparison mode information being the third mode can indicate that the comparison mode of the first terminal is in the third mode, and the current target comparison mode information can be the second target value, which can be 1; that is, if the terminal determines that the target comparison mode information is the second target value, then it determines that the current target comparison mode information is in the third mode.

[0115] Specifically, when the first terminal determines that the current target comparison mode information is the third mode, the first terminal can determine whether the target application cached on the first terminal side, as represented by the second comparison result, is compatible with the target application on the second terminal side, and obtain a compatibility judgment result.

[0116] For example, if the first terminal is in the third mode and the second comparison result indicates compatibility, then the compatibility judgment result determined by the first terminal based on the second comparison result is also compatible, that is, the target application cached on the first terminal side is compatible with the target application on the second terminal side.

[0117] For example, if the first terminal is in the third mode and the second comparison result indicates incompatibility, then the compatibility judgment result determined by the first terminal based on the second comparison result is also incompatible, that is, the target application cached on the first terminal side is incompatible with the target application on the second terminal side.

[0118] Step 406: If the target comparison mode information is the fourth mode, then a compatibility judgment result representing the incompatibility of the application on the first terminal side is obtained.

[0119] Among them, the target comparison mode information being the fourth mode can indicate that the comparison mode of the first terminal is in the fourth mode. The current target comparison mode information can be the fourth target value, which can be 3. That is to say, if the terminal determines that the target comparison mode information is the fourth target value, then it determines that the current target comparison mode information is in the fourth mode.

[0120] Specifically, if the first terminal determines that the target comparison mode information indicates that it is currently in the fourth mode, then the first terminal can determine that the target application on the first terminal side is incompatible with the target application on the second terminal side. In other words, if the first comparison result is inconsistent with the second comparison result, and the first terminal determines that the current comparison mode is in the fourth mode, then the first terminal can determine that the target application on the first terminal side is incompatible with the target application on the second terminal side, thus obtaining a compatibility judgment result indicating that the application on the first terminal side is incompatible.

[0121] In this embodiment, the flexibility of configuring compatibility information and target comparison mode information in application information is enhanced, the efficiency of determining compatibility is improved, and the efficiency of establishing ADC channels is increased.

[0122] In one embodiment, such as Figure 5 As shown, the specific implementation process of step "Download compatible applications based on identifier and version" may include:

[0123] Step 502: Initiate an application acquisition request based on the BDC channel.

[0124] The application retrieval request carries the identifier and version of a compatible application, which is determined based on the application information in the first communication request. The application retrieval request can be initiated to the network device on the second terminal side, for example, it can be an application retrieval request initiated to the DSCF within the network device on the second terminal side. This application retrieval request carries the identifier and version of the application to be retrieved. The application to be retrieved is the application that the first terminal needs to obtain, that is, an application that is compatible with the target application on the second terminal side.

[0125] Specifically, if the first terminal determines that the target application cached on the first terminal side is incompatible with the target application on the second terminal side, the first terminal can determine the compatible application based on the application information carried in the first communication request, that is, based on the identifier and version carried in the first communication request. In this way, the first terminal can initiate an application acquisition request to the DSCF in the network device on the second terminal side through the established BDC channel.

[0126] Step 504: Download the compatible application to the network device on the second terminal side and obtain the application information of the compatible application. Cache the compatible application and its application information.

[0127] Specifically, the first terminal can download the compatible application from the DSCF in the network device on the second terminal side and obtain the application's unique identifier, version, and compatibility information. In this way, the first terminal can locally cache the compatible application, as well as the identifier, version, and compatibility information. Based on this, the first terminal can return a response message corresponding to the first communication request to the second terminal, which is a SIP request response message, such as a SIP200 response message. This response message indicates that the first terminal has accepted the SDP proposal initiated by the second terminal and has established an ADC application data channel with the second terminal. After the ADC channel is established, the first terminal can enter an ADC session with the second terminal.

[0128] In this embodiment, the compatible application is downloaded to the network device of the communication initiator in a timely manner based on the compatibility judgment result, thereby reducing the latency of ADC channel establishment and improving the efficiency of channel establishment.

[0129] In one embodiment, the data channel establishment method further includes:

[0130] Before receiving the first communication request, a BDC channel is established with the network device of the second terminal. Alternatively, after determining that the compatibility judgment result indicates that the application on the first terminal side is incompatible, a BDC channel is established with the network device of the second terminal.

[0131] In one example, the first terminal and the second terminal can establish a BDC channel based on a preset BDC channel establishment process; alternatively, if the first terminal determines that the current compatibility judgment result indicates that the target application cached on the first terminal side is incompatible with the target application cached on the second terminal side, and the BDC channel has not been established, the first terminal can establish a BDC channel based on a preset BDC channel establishment process.

[0132] In this embodiment, the flexibility of establishing a BDC channel between the first terminal and the second terminal is ensured.

[0133] In one embodiment, the data channel establishment method further includes:

[0134] A temporary response message is returned to the network device on the second terminal side. The temporary response message carries a reason value, which is "download application".

[0135] Specifically, if the first terminal determines that the current compatibility judgment result indicates that the target application cached on the first terminal side is incompatible with the target application on the second terminal side, the first terminal can send a temporary response message to the network device on the second terminal side. The temporary response message can be a SIP18x temporary response message, and the corresponding temporary response message carries a reason value, which can be "re-download compatible application".

[0136] In this embodiment, the compatibility judgment result is fed back to the network device in a timely manner, avoiding network device waiting and improving communication efficiency and the utilization rate of communication signaling.

[0137] In one embodiment, such as Figure 6 As shown, the data channel establishment method also includes:

[0138] Step 602: Initiate a second communication request to the network device on the first terminal side.

[0139] The second communication request carries data for establishing a BDC channel. This data can be an SDP Offer for establishing the BDC channel. The network device on the first terminal side includes an IMS AS network and multiple network functions, such as a first network function and a second network function. The first network function can be a DCSF, and the second network function can be a DSCF. The network device on the first terminal side may also include a Media Function (MF), etc.

[0140] Specifically, the first terminal can initiate a second communication request to the IMS AS network in the network device on the first terminal side. This second communication request can be a Session Initiation Protocol (SIP) request, which can be a SIP INVITE request or a re-INVITE request. The session initiation protocol request carries an SDPOffer used to establish a BDC channel.

[0141] Step 604: Negotiate with the network device on the first terminal side to establish a BDC channel based on data.

[0142] Specifically, the first terminal can negotiate with the network device on the first terminal side based on a preset BDC channel establishment process, and after the negotiation is completed, establish a BDC channel (StreamID = 0) between the first terminal and the network device on the first terminal side.

[0143] Step 606: Initiate an application download request to the first network function, and download one or more specified applications based on the application list provided by the second network function, and obtain application information of the specified applications.

[0144] The application information includes an identifier, version, and compatibility information. The identifier corresponds one-to-one with the application; the version can be the current version of the application; and the compatibility information can be the highest and / or lowest version requirements that the application can be compatible with. The specified application can be an application that the first terminal needs or wants to download based on the actual application scenario. This disclosure does not specifically limit the process for determining the specified application or the specific application it refers to; those skilled in the art can determine it specifically based on the actual application scenario.

[0145] Specifically, the first terminal can initiate an application download request to the DCSF in the network device on the first terminal side. This application download request is used to enable the first terminal to download applications from the network device on the first terminal side. In this way, the second network function DSCF can provide the first terminal with a list of downloadable applications, or a download list of specific applications specified by the first terminal. Thus, the first terminal can download each pre-specified application from the second network function, and obtain the unique identifier, version, and compatibility information corresponding to each specified application.

[0146] Step 608: Store the specified application and its application information locally.

[0147] Specifically, after downloading each designated application and obtaining its corresponding identifier, version, and compatibility information, the first terminal can locally cache the designated application and its unique identifier, version, and compatibility information. This allows the first terminal to complete the current call with the network device on its side. The cached applications can then be used for subsequent calls.

[0148] Optionally, the terminal corresponding to the receiving end, or the terminal of the communication responder, can also download and cache the application; optionally, the terminal can also obtain the application, application version, and compatibility information from the communication peer of the terminal.

[0149] In this embodiment, the first terminal can download multiple applications in advance and cache the application information corresponding to each application through interaction with the network device on the first terminal side, so as to provide a reliable data foundation for subsequent communication between terminals.

[0150] In one embodiment, the execution process of the above-described data channel establishment method is described in detail with reference to a specific embodiment. This embodiment provides a data channel establishment method that avoids the consumption of signaling and bandwidth associated with repeated application downloads, reduces channel establishment latency, and ensures the compatibility of applications at both ends of the data channel. The method provided in this embodiment further defines the application information, including not only the application identifier but also version and compatibility information. That is, after downloading the application, the terminal caches the application and stores version and compatibility information. The terminal initiating the data channel connection (e.g., the calling terminal) adds the application's version and / or compatibility information to the SDP proposal, in addition to the application's app-ID. The responding terminal compares the received version and / or compatibility information with its own version and / or compatibility information to determine whether its application is compatible with the peer's application, i.e., whether the responding terminal's application is compatible with the calling terminal's application. When the responding party determines that the version of its application is incompatible with the peer application, it can provide a temporary response message to the network device and the peer terminal, establish a BDC channel to the peer network, download a compatible application, and then receive a request to establish a data channel.

[0151] In one example, on the network device side: an application compatibility management module is added. This module and its functionality can be provided by DCSF / DCAR. The compatibility management module stores the application's unique identifier (APP-ID), version, and compatibility information, such as... Figure 7 As shown: The application information contained in the network device (DCAR) can include the application's unique identifier APP-ID, version (Version), and compatibility information. This compatibility information can include the minimum version requirement (Min_cmp_Ver), the maximum version requirement (Max_Cmp_Ver), and the comparison mode (Mode). Both the initiating and receiving terminals can download applications from the network device (DCAR) and obtain the corresponding application information for each application. For example, the initiating terminal can be configured with a compatibility processing module, which can store the application identifier APP-ID, the current version (Cur_Ver), and the minimum version requirement (Min_cmp_Ver). The initiating terminal can initiate a data channel establishment request to the receiving terminal, and can provide application information to the receiving terminal. The receiving terminal can be configured with a compatibility processing module, which can include the application identifier APP-ID, the current version (Cur_Ver), the minimum version requirement (Min_cmp_Ver), the maximum version requirement (Max_Cmp_Ver), and the comparison mode (Mode).

[0152] When an application is uploaded to a network device, the application developer also uploads and stores this information. The network device stores the application, its unique identifier, version, and compatibility information. The APP-ID is the application's unique identifier, and the Version is the application's version. Additionally, application compatibility information can be provided. For example, application information may include the minimum compatible version (Min_Cmp_Ver), the maximum compatible version (Max_Cmp_Ver), and the judgment mode (Mode). Examples of judgment modes can be used to specify how the receiving side judges the version and compatibility information. For instance: If in Mode 1 (comparison mode value 0), it is determined that the local and remote versions are different, indicating incompatibility and requiring a re-download of the application; if in Mode 2 (comparison mode value 1), the local compatibility information judgment result is the final compatibility judgment result; if in Mode 3 (comparison mode value 2), the remote compatibility information judgment result is the final compatibility judgment result; if in Mode 4 (comparison mode value 3), if the local compatibility information judgment result differs from the remote compatibility information judgment result, incompatibility is determined, and a re-download of the application is required.

[0153] When a terminal requests and downloads an application from a network device, the network device simultaneously provides a unique identifier, version, and compatibility information. The terminal can be newly configured with an application compatibility processing module, which stores the application's unique identifier, current version, minimum compatible version, maximum compatible version, and judgment mode. When a terminal downloads and caches an application from a network device, the network device simultaneously provides a unique identifier, the downloaded application version, and compatibility information. The terminal stores this information in the application compatibility processing module. The initiating terminal carries its application version and compatibility information in the data channel establishment request. The receiving terminal obtains the peer's version and compatibility information from the request, compares its own application version with the peer's compatibility information, or compares the peer's application version with its own compatibility information, and uses the comparison result to determine whether the versions on both sides are compatible, referring to the requirements of the judgment mode. If the receiving terminal's judgment result is inconsistent, it establishes a BDC connection to the initiating network device, re-downloads the application, and then accepts the channel establishment request again.

[0154] Figure 8 A signaling interaction flowchart for a data channel establishment method is provided. (For example...) Figure 8 As shown, this includes the terminal UE, MF, IMS AS, and DSCF / DCAR; the method includes the following steps:

[0155] Step 1: The UE initiates a SIP INVITE / re-INVITE request, which carries the SDP Offer for establishing BDC, i.e., includes the SDP Offer for BDC.

[0156] Step 2: The UE establishes a BDC channel with the local network device based on the preset BDC channel establishment procedure, and the DSCF, IMS AS, MF and other network devices. The preset BDC channel establishment procedure can be the procedure in TS 23.228. Based on this procedure, the UE completes negotiation with the local network device and establishes a BDC channel (Stream ID = 0) between the UE-A and the local network device.

[0157] Step 3: The UE downloads the DC application list from the local network element. That is, the UE initiates a request to download applications to the local DCSF, and the DSCF provides the application list.

[0158] Step 4: The UE downloads a specific application from the local DSCF and obtains the application's unique identifier, version, and compatibility information.

[0159] Step 5: The UE caches the application, and also caches the unique identifier, version and compatibility information. Specifically, the UE caches the downloaded application on its local device, and also caches the unique identifier, version and compatibility information corresponding to the application.

[0160] Step 6: Based on the TS 23.228 procedure, the UE continues to complete the call, thus concluding the current call.

[0161] In one embodiment, Figure 9 A signaling interaction flowchart for a data channel establishment method is provided. (For example...) Figure 9 As shown, this includes UE-A, DCSF, IMS AS, and UE-B; the method includes the following steps:

[0162] Step 1: Complete the BDC channel establishment process according to TS 23.228 / Do not establish the BDC channel. Specifically, if the evolving business requirements can support a standalone ADC for independent application data channels, then the BDC establishment process is not required.

[0163] Step 2: UE-A initiates a SIP INVITE / re-INVITE request to establish an ADC channel. The SDP proposal contains the identifier, version, and compatibility information of the application on the UE-A side.

[0164] Step 3: Complete the signaling of the ADC channel between IMS AS / DSCF and MF and the media negotiation (between the calling and called parties) according to TS 23.228, and reserve media resources.

[0165] Step 4: Send SIP INVITE / re-INVITE to UE-B. The SDP proposal contains the identifier, version, and compatibility information of the application from the UE-A side.

[0166] Step 5: UE-B compares the UE-A identifier in the SDP proposal with its local compatibility information, and compares the compatibility information in the SDP proposal with its local application version to determine whether UE-B's application is compatible with the peer's application. Specifically, UE-B obtains the application version compatibility information of UE-A in the SDP proposal and compares it with the application version compatibility information stored locally to determine whether its local application is compatible.

[0167] 1) For example, if the comparison mode Mode=0 in the compatibility information indicates that the versions are different, then if it is determined that the application is incompatible and needs to be downloaded again, then if UE-B determines that the application versions on both ends are different, it is judged as incompatible and the application needs to be downloaded again.

[0168] 2) Compare the application version provided by UE-A with the compatibility information of this device. If the UE-A version meets the minimum / maximum version requirements in the compatibility information of this device, then it is determined to be compatible.

[0169] 3) Compare the compatibility information provided by UE-A with the application version of the local device. If the application version of the local device (UE-B) meets the minimum / maximum version requirements in the compatibility information of UE-A, then it is determined that it is compatible.

[0170] 4) If the results of steps 2) and 3) are inconsistent, the comparison mode setting can be used as the standard. For example, if Mode=1, the result of step 2) will prevail; if Mode=2, the result of step 3) will prevail. If Mode=3, the application is considered incompatible and needs to be downloaded again.

[0171] Step 6: If UE-B determines that the local application is incompatible, it sends an 18x temporary response message, which may carry a reason value, such as "Download application".

[0172] Step 7: If the BDC channel was not established in the above steps, a BDC channel (StreamID=100) can be established with the peer network.

[0173] Step 8: Initiate an application retrieval request to the peer network DSCF, providing the unique identifier and version of the application to be obtained.

[0174] Step 9: UE-B downloads a specific application (compatible application) from the peer network DSCF, and obtains the application's unique identifier, version, and compatibility information.

[0175] Step 10: UE-B caches the application, and also caches the application's unique identifier, version, and compatibility information.

[0176] Step 11: UE-B responds to the SIP 200 response message, receives the SDP proposal, and establishes the ADC. Specifically, this can be forwarded to user UE-A via IMS-AS.

[0177] Step 12: ADC channel established, UE-A and UE-B enter ADC session.

[0178] It should be understood that, although Figure 1-9 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1-9 At least some of the steps in the process may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but may be executed at different times. The execution order of these steps or stages is not necessarily sequential, but may be executed in turn or alternately with other steps or at least some of the steps or stages in other steps.

[0179] In one embodiment, such as Figure 10 As shown, a data channel establishment device 1000 is provided, applied to a first terminal; comprising:

[0180] The first receiving module 1002 is used to receive a first communication request, which is used to request the establishment of an application data channel. The first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side. The application information includes one or more of the following: identifier, version, and compatibility information.

[0181] The first comparison module 1004 is used to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility judgment result.

[0182] The first download module 1006 is used to download a compatible application based on its identifier and version if the compatibility judgment result indicates that the application on the first terminal side is incompatible. After downloading the compatible application, it accepts the SDP proposal initiated by the second terminal and establishes an application data channel.

[0183] In one embodiment, the first communication request is sent by the network device on the second terminal side after receiving the second communication request sent by the first terminal. The second communication request carries application information of the target application on the second terminal side, and the application information includes one or more of the following: identifier, version, and compatibility information.

[0184] In one embodiment, the application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal; the first comparison module is specifically used to: compare the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information to obtain a compatibility judgment result.

[0185] In one embodiment, the first comparison module is further specifically used for:

[0186] When the target comparison mode information is in the first mode, the version of the target application in the first communication request is compared with the version of the target application stored in the first terminal; if the preset consistency condition is met, a first compatibility judgment result is obtained, which indicates that the application on the first terminal side is incompatible; or, if the preset consistency condition is not met, a second compatibility judgment result is obtained, which indicates that the application on the first terminal side is compatible.

[0187] In one embodiment, the application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal; the first comparison module is specifically used for:

[0188] A first comparison result is obtained based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal; a second comparison result is obtained based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request; if the first comparison result is inconsistent with the second comparison result, a compatibility judgment result is obtained based on the compatibility judgment result represented by the first comparison result and / or the second comparison result; or, if the first comparison result is consistent with the second comparison result, a compatibility judgment result is obtained based on the first comparison result, the second comparison result and the target comparison mode information.

[0189] In one embodiment, the first comparison module is further specifically used for:

[0190] If the target comparison mode information is the second mode, the compatibility judgment result is determined based on the first comparison result; if the target comparison mode information is the third mode, the compatibility judgment result is determined based on the second comparison result; if the target comparison mode information is the fourth mode, a compatibility judgment result representing application incompatibility on the first terminal side is obtained.

[0191] In one embodiment, the first download module is specifically used for:

[0192] Based on the BDC channel, an application acquisition request is initiated, which carries the identifier and version of the compatible application. The compatible application is determined based on the application information in the first communication request. The network device on the second terminal side downloads the compatible application and obtains the application information of the compatible application. The compatible application and its application information are cached.

[0193] In one embodiment, the data channel establishment apparatus further includes:

[0194] The first establishment module is used to establish a BDC channel with the network device of the second terminal before receiving the first communication request; or,

[0195] The second establishment module is used to establish a BDC channel with the network device of the second terminal after determining that the compatibility judgment result indicates that the application on the first terminal side is incompatible.

[0196] In one embodiment, the data channel establishment apparatus further includes:

[0197] The first return module is used to return a temporary response message to the network device on the second terminal side. The temporary response message carries a cause value, which is the application download.

[0198] In one embodiment, the data channel establishment apparatus further includes:

[0199] The first initiation module is used to initiate a second communication request to the network device on the first terminal side. The second communication request carries data for establishing a BDC channel and negotiates with the network device on the first terminal side to establish a BDC channel. The network device includes a first network function and a second network function.

[0200] The second initiation module is used to initiate an application download request to the first network function, and download one or more specified applications based on the application list provided by the second network function, and obtain application information of the specified applications, including identification, version and compatibility information.

[0201] The storage module is used to store a specified application and its application information locally.

[0202] Specific limitations regarding the data channel establishment device can be found in the limitations of the data channel establishment method described above, and will not be repeated here. Each module in the aforementioned data channel establishment device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0203] In one embodiment, a communication device is provided, see [link to previous document]. Figure 11 . Figure 11 This is a schematic diagram of the structure of the terminal device provided in an embodiment of the present invention. Figure 11 The terminal device 1100 shown includes at least one processor 1101, a memory 1102, at least one network interface 1104, and a user interface 1103. The various components in the terminal device 1100 are coupled together via a bus system 1105. It is understood that the bus system 1105 is used to implement communication between these components. In addition to a data bus, the bus system 1105 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 11 Various buses are designated as bus system 1105. Additionally, this embodiment of the invention includes a transceiver 1106, which may consist of multiple components, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium.

[0204] The user interface 1103 may include a display, keyboard, or clicking device (e.g., mouse, trackball, touchpad, or touchscreen).

[0205] It is understood that the memory 1102 in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 1102 of the systems and methods described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.

[0206] In some implementations, memory 1102 stores elements, executable modules or data structures, or subsets thereof, or extended sets thereof: operating system 11021 and application program 11022.

[0207] The operating system 11021 includes various system programs, such as the framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks. The application program 11022 includes various applications, such as a media player and a browser, used to implement various application functions. The program implementing the method of this embodiment can be included in the application program 11022.

[0208] In this embodiment of the invention, by calling the program or instructions stored in memory 1102, specifically the program or instructions stored in application program 11022, the receiver is used to receive a first communication request, which is used to request the establishment of an application data channel; the first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side, including one or more of an identifier, version, and compatibility information; the processor is used to compare the application information in the first communication request with the application information stored on the first terminal to obtain a compatibility judgment result; if the compatibility judgment result indicates that the application on the first terminal side is incompatible, then based on the identifier and version, a compatible application is downloaded, and after the compatible application is downloaded, the SDP proposal initiated by the second terminal is accepted and the application data channel is established.

[0209] In one embodiment, the first communication request is sent by the network device on the second terminal side after receiving the second communication request sent by the first terminal.

[0210] The methods disclosed in the above embodiments of the present invention, in part or in all of them, can also be applied to processor 1101, implemented by processor 1101, or implemented by processor 1101 in conjunction with other components (e.g., a transceiver). Processor 1101 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above methods can be completed by the integrated logic circuit of the hardware in processor 1101 or by instructions in the form of software. The processor 1101 may 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 the present invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present invention can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1102. Processor 1101 reads the information in memory 1102 and, in conjunction with its hardware, completes the steps of the above method.

[0211] It is understood that the embodiments described in this invention can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof.

[0212] For software implementation, the technology described in the embodiments of the present invention can be implemented by modules (e.g., procedures, functions, etc.) that perform the functions described in the embodiments of the present invention. The software code can be stored in memory and executed by processor 1101. The memory can be implemented in processor 1101 or external to processor 1101.

[0213] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the embodiments of this application.

[0214] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps described in this application.

[0215] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0216] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0217] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A method for establishing a data channel, characterized in that, Applied to a first terminal; the method includes: A first communication request is received, which is used to request the establishment of an application data channel; the first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side, including identification, version and compatibility information; A first comparison result is obtained based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal; a second comparison result is obtained based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request. If the first comparison result is consistent with the second comparison result, then a compatibility judgment result is obtained based on the compatibility judgment result represented by the first comparison result and / or the second comparison result; or, If the first comparison result is inconsistent with the second comparison result, then if the target comparison mode information is the second mode, then a compatibility judgment result is determined based on the first comparison result; if the target comparison mode information is the third mode, then a compatibility judgment result is determined based on the second comparison result; if the target comparison mode information is the fourth mode, then a compatibility judgment result representing application incompatibility on the first terminal side is obtained. If the compatibility determination result indicates that the application on the first terminal side is incompatible, then based on the identifier and the version, a compatible application is downloaded, and after the compatible application is downloaded, the SDP proposal initiated by the second terminal is accepted and an application data channel is established.

2. The method according to claim 1, characterized in that, The application information stored in the first terminal is the application information corresponding to the target application stored locally on the first terminal; The process of obtaining the compatibility comparison result also includes: The compatibility judgment result is obtained by comparing the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information.

3. The method according to claim 2, characterized in that, The process of comparing the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information to obtain a compatibility judgment result includes: When the target comparison mode information is in the first mode, the version of the target application in the first communication request is compared with the version of the target application stored in the first terminal. If the preset consistency condition is not met, a first compatibility judgment result is obtained, which indicates that the application on the first terminal side is incompatible; or, If the preset consistency conditions are met, a second compatibility judgment result is obtained, which represents the application compatibility of the first terminal side.

4. The method according to claim 1, characterized in that, The downloading of compatible applications based on the identifier and the version includes: Based on the BDC channel, an application acquisition request is initiated. The application acquisition request carries the identifier and version of a compatible application. The compatible application is determined based on the application information in the first communication request. The compatible application is downloaded to the network device on the second terminal side, and the application information of the compatible application is obtained. Cache the compatible applications and their application information.

5. The method according to claim 4, characterized in that, The method further includes: Before receiving the first communication request, establish the BDC channel with the network device of the second terminal; or... After determining that the compatibility judgment result indicates that the application on the first terminal side is incompatible, the BDC channel is established with the network device of the second terminal.

6. The method according to claim 1, characterized in that, The method further includes: A temporary response message is returned to the network device on the second terminal side. The temporary response message carries a cause value, which is "download application".

7. The method according to claim 1, characterized in that, The method further includes: A second communication request is initiated to the network device on the first terminal side, the second communication request carrying data for establishing a BDC channel; Negotiate with the network device on the first terminal side to establish the BDC channel based on the data. The network device includes a first network function and a second network function. Initiate an application download request to the first network function, and download one or more specified applications based on the application list provided by the second network function, and obtain application information of the specified applications, including identification, version and compatibility information; The specified application and its application information are stored locally.

8. A data channel establishment device, characterized in that, Applied to a first terminal; the device includes: The first receiving module is configured to receive a first communication request, which is used to request the establishment of an application data channel. The first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side, including identification, version, and compatibility information. The first comparison module is configured to obtain a first comparison result based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal; and to obtain a second comparison result based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request. If the first comparison result is consistent with the second comparison result, a compatibility judgment result is obtained based on the compatibility judgment result represented by the first comparison result and / or the second comparison result. Alternatively, if the first comparison result is inconsistent with the second comparison result, if the target comparison mode information is a second mode, a compatibility judgment result is determined based on the first comparison result; if the target comparison mode information is a third mode, a compatibility judgment result is determined based on the second comparison result; and if the target comparison mode information is a fourth mode, a compatibility judgment result representing application incompatibility on the first terminal side is obtained. The first download module is used to download a compatible application based on the identifier and the version if the compatibility judgment result indicates that the application on the first terminal side is incompatible, and after the compatible application is downloaded, accept the SDP proposal initiated by the second terminal and establish an application data channel.

9. A communication device, characterized in that, Applied to the first terminal, it includes: a processor and a receiver; The receiver is configured to receive a first communication request, which is used to request the establishment of an application data channel. The first communication request carries a Session Description Protocol (SDP) proposal, which includes application information of the target application on the second terminal side. The application information includes an identifier, version, and compatibility information. The processor is configured to: obtain a first comparison result based on whether the version of the target application in the first communication request meets the version requirements of the compatibility information stored in the first terminal; obtain a second comparison result based on whether the version of the target application stored in the first terminal meets the version requirements of the compatibility information in the first communication request; if the first comparison result is consistent with the second comparison result, obtain a compatibility judgment result based on the compatibility judgment result represented by the first comparison result and / or the second comparison result; or, if the first comparison result is inconsistent with the second comparison result, if the target comparison mode information is a second mode, determine a compatibility judgment result based on the first comparison result; if the target comparison mode information is a third mode, determine a compatibility judgment result based on the second comparison result; if the target comparison mode information is a fourth mode, obtain a compatibility judgment result representing incompatibility of the application on the first terminal side; if the compatibility judgment result represents incompatibility of the application on the first terminal side, download a compatible application based on the identifier and the version, and after downloading the compatible application, accept the SDP proposal initiated by the second terminal and establish an application data channel.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.