Data channel establishment method and device, communication equipment, storage medium and computer program product
By comparing the identification, version and compatibility information in the application information, and downloading compatible applications when incompatible, the problem of low data channel establishment efficiency caused by application version update is solved, and efficient communication and compatibility guarantee is achieved.
Patent Information
- Application Number
- CN202411934263.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-12-26
AI Technical Summary
Due to the update of the application's functions and versions, the same application identifier cached by the client at both ends of the channel may not be compatible, resulting in low data channel establishment efficiency.
By receiving a communication request proposed by the carrying session description protocol SDP, the identification, version and compatibility information in the application information are compared to determine compatibility. If incompatible, download compatible applications and establish application data channels.
It reduces signaling interaction and traffic consumption caused by repeated download applications, shortens the delay in establishing data channels, improves communication efficiency, and ensures compatibility of applications at both ends of data channels.
Smart Images

Figure CN119743853A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communications and terminal technologies, and in particular to a method, apparatus, communication equipment, storage medium and computer program product for establishing a data channel. Background Art
[0002] With the continuous development of wireless communication technology, richer multimedia interactions can be achieved between clients through data transmission channels. A client can request other clients to establish a data transmission channel for transmitting application data. For example, a corresponding data channel can be established by transmitting the identification indication of the application. However, due to user needs, applications are constantly updated, and the functions and versions of applications are also constantly updated. Therefore, the same application identification cached by the 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] Based on this, 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 technical problems.
[0004] A data channel establishment method, applied to a first terminal; the method comprises:
[0005] receiving a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information;
[0006] Obtaining a compatibility determination result based on comparing the application information in the first communication request with the application information stored in the first terminal;
[0007] 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 the version, 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 of the embodiments, the first communication request is sent by a network device on the second terminal side after receiving a second communication request sent by the first terminal, and the second communication request carries application information of a target application on the second terminal side, and the application information includes one or more of an identification, a version, and compatibility information.
[0009] In one embodiment, the application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal; and 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 determination result includes:
[0010] A compatibility determination result is obtained based on a comparison of 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 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 the compatibility determination result includes:
[0012] When the target comparison mode information is the first mode, comparing the version of the target application in the first communication request with the version of the target application stored in the first terminal;
[0013] If the preset consistency condition is not met, a first compatibility determination result is obtained, and the first compatibility determination result indicates that the application on the first terminal side is incompatible; or,
[0014] If the preset consistency condition is met, a second compatibility judgment result is obtained, and the second compatibility judgment result indicates that the application on the first terminal side is compatible.
[0015] In one embodiment, the application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal; and 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 determination result includes:
[0016] A first comparison result is obtained based on whether the version of the target application in the first communication request can meet the version requirement 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 can meet the version requirement 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 determination result based on the first comparison result, the second comparison result and the target comparison mode information includes:
[0018] If the target comparison mode information is the second mode, determining a compatibility judgment result based on the first comparison result;
[0019] If the target comparison mode information is the third mode, determining a compatibility judgment result based on the second comparison result;
[0020] If the target comparison mode information is the fourth mode, a compatibility determination result indicating that the application on the first terminal side is incompatible is obtained.
[0021] In one embodiment, the downloading of the compatible application based on the identifier and the version includes:
[0022] Initiating an application acquisition request based on the BDC channel, the application acquisition request carries an identifier and a version of a compatible application, and the compatible application is determined based on the application information in the first communication request;
[0023] Downloading the compatible application on the network device at the second terminal side, and acquiring application information of the compatible application;
[0024] The compatible application and application information of the compatible application are cached.
[0025] In one embodiment, the method further comprises:
[0026] Before receiving the first communication request, establishing the BDC channel with the network device of the second terminal; or,
[0027] After determining that the compatibility determination 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 comprises:
[0029] A temporary response message is returned to the network device on the second terminal side, where the temporary response message carries a reason value, and the reason value is downloading an application.
[0030] In one embodiment, the method further comprises:
[0031] 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, negotiate with the network device on the first terminal side 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 based on the application list provided by the second network function, download one or more specified applications, and obtain application information of the specified applications, the application information including identification, version, and compatibility information;
[0033] The designated application and application information of the designated application are stored locally.
[0034] A data channel establishment device, applied to a first terminal; the device comprises:
[0035] A first receiving module is used to receive a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information;
[0036] A first comparison module, configured to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility determination 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 downloading the compatible application, accept the SDP proposal initiated by the second terminal and establish an application data channel.
[0038] A communication device, comprising: a processor and a receiver;
[0039] The receiver is configured to receive a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information;
[0040] The processor 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; if the compatibility judgment result indicates that the application on the first terminal side is incompatible, download a compatible application based on the identifier and the version, and after the compatible application is downloaded, accept the SDP proposal initiated by the second terminal and establish an application data channel.
[0041] A computer-readable storage medium stores a computer program, which implements the steps in the embodiments of the present application when executed by a processor.
[0042] A computer program product includes a computer program, which implements the steps provided in the embodiments of the present application when executed by a processor.
[0043] The above-mentioned data channel establishment method, device, communication equipment, storage medium and computer program product, wherein the method carries a session description protocol SDP proposal in the first communication request, and the SDP proposal includes application information of the target application on the second terminal side, and the application information includes one or more of an identifier, a version and compatibility information; the application information in the first communication request can be compared 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, a compatible application is downloaded and an application data channel is established, which can reduce the signaling interaction and traffic consumption with the network caused by repeated downloading of applications, can reduce the delay in establishing the ADC channel, improve communication efficiency, and ensure the compatibility of applications at both ends of the ADC channel. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 An application environment diagram of a data channel establishment method in one embodiment;
[0045] Figure 2 A schematic diagram of a flow chart of a method for establishing a data channel in one embodiment;
[0046] Figure 3 A flowchart of a step of determining whether the compatibility is achieved in one embodiment;
[0047] Figure 4 A schematic diagram of a flow chart of a step of determining whether compatibility is determined based on target comparison mode information in one embodiment;
[0048] Figure 5 A schematic diagram of a flow chart of an application acquisition step in an embodiment;
[0049] Figure 6 A schematic diagram of a flow chart of a step of pre-caching applications and application information in an embodiment;
[0050] Figure 7 A schematic diagram of information stored between a receiving-side terminal, an initiating-side terminal and a network device in one embodiment;
[0051] Figure 8 A schematic diagram of a process of pre-acquiring applications and application information in one embodiment;
[0052] Fig. 9 A schematic diagram of a flow chart of a method for establishing a data channel in another embodiment;
[0053] Fig.10A structural block diagram of a data channel establishment device in one embodiment;
[0054] Fig.11 FIG. 4 is a diagram showing the internal structure of a communication device in one embodiment. DETAILED DESCRIPTION
[0055] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0056] Figure 1 A schematic diagram of an application scenario of a data channel establishment method provided in an embodiment of the present application. Figure 1 As shown, in this scenario, there are 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 perform data transmission via the network; the second user terminal 200 and the network device 300 perform data transmission via the network.
[0057] The network device 300 may include a DCAR (Data Channel Application Repository). The network device 300 may include multiple network functions, such as a Data Channel Signaling Function (DCSF), a DSCF, etc. The first user terminal 100 and the second terminal 200 may be wireless terminals, which may be devices that provide voice and / or other service data connectivity to users, or handheld devices with wireless connection functions, or other processing devices connected to wireless modems. The wireless terminal may communicate with one or more core networks via a Radio Access Network (RAN). The wireless terminal may be a mobile terminal, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal, for example, a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device, which exchanges language and / or data with the radio access network. A wireless terminal may also be called a system, a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, a remote terminal, an access terminal, a user terminal, a user agent, a user device or user equipment, without limitation herein.
[0058] In traditional technology, for example, the 3GPP standard may define an "a=3gpp-req-app" attribute, which includes a req-app-ID parameter, and is used by a client to transmit an application identifier when requesting a peer client to establish an application data channel. The identifier can be used to identify the application and determine the creation of a data channel matching the application with the identifier. Although the application identifier is unique to the application.
[0059] However, since the application with the same req-app-ID may generate multiple versions as the application's functions evolve, there is no guarantee that the applications between different versions can also be compatible. Therefore, the devices at both ends of the data channel simultaneously establish BDC channels with the local and peer network functions and download applications from the same node. For example, the terminal can cache and re-call the downloaded application. However, if the users at both ends of the channel are in different networks (such as across provinces or operators), the application list and applications are usually obtained from the local network function (stream ID=0). There is no guarantee that the application with the same req-app-ID cached on the local end is compatible with the peer end. Therefore, the peer terminal receiving the SDP proposal has to re-download the application from the remote (stream ID = 100) network device. Since the application is not updated from time to time, this process often brings unnecessary traffic and signaling burden to the network and increases the time to establish the data channel.
[0060] Based on the above-mentioned traditional technology, the embodiment of the present application provides a method for establishing a data channel, which can reduce the signaling interaction consumption and traffic consumption between the network caused by repeated downloading of applications, shorten the channel establishment delay, and ensure the compatibility of applications at both ends of the data channel; when the responder's terminal determines that the version of the local application is not compatible with the opposite end application, it can provide a temporary response message to the network device and the opposite end, establish a BDC channel with the opposite end, quickly download compatible applications, and quickly establish an ADC channel.
[0061] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.
[0062] Before introducing the specific embodiments of the present invention, the professional terms involved in the present invention are explained first:
[0063] IMS DC (IMS Data Channel) is a technology used to enhance real-time communications in 5G networks. It adds data transmission channels based on audio and video calls to achieve a richer multimedia interactive experience.
[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 back-end business logic execution.
[0065] BDC (Bootstrap data channel) is a data channel used in an IMS network, such as a program application channel. It is used by end-user devices to establish an initial data communication channel and provide a basis for further data communication, such as downloading applications.
[0066] Data Channel Application is an application based on data channel. It uses IMSDC technology to provide real-time interactive service experience for users at both ends of IMS data channel.
[0067] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0068] In one embodiment, Figure 2 As shown, a data channel establishment method is provided, which is applied to Figure 1 Taking the first terminal 100 in the example as an example, the method includes the following steps:
[0069] Step 202: Receive a 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 a target application on the second terminal side, and the application information includes one or more of an identifier, a version, and compatibility information. The first communication request may be a Session Initiation Protocol SIP request, which may be a SIP INVITE request or a re-INVITE request. The Session Initiation Protocol request carries an SDP proposal.
[0071] Optionally, the first terminal may be a communication responder, and the second terminal may be a communication initiator, such as a caller, etc.; the SDP proposal may include application information of the caller's application, and the application on the second terminal side may be a target application, and the application information may be application information of the target application, such as an identifier, version, and compatibility information of the target application; there is a one-to-one correspondence between the identifier and the application; the compatibility information may include the highest version requirement and the lowest version requirement for the version.
[0072] Specifically, the second terminal (calling party) may initiate a communication request to the network device on the second terminal side, and the communication request may be a session initiation protocol SIP request, and the session initiation protocol request may be a SIP INVITE request or a re-INVITE request. The session initiation protocol request carries an SDP proposal. The network device may send a first communication request to the first terminal (responding party).
[0073] Step 204: Obtain a compatibility determination result based on comparison of the application information in the first communication request with the application information stored in the first terminal.
[0074] The compatibility determination result may indicate whether the application cached by the first terminal is compatible with the target application carried in the first communication request, and may include a compatible determination result and an incompatible determination result.
[0075] Specifically, the first terminal may compare the application information of the target application stored in 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 determination result indicates that the application on the first terminal side is incompatible, a compatible application is downloaded based on the identifier and version, and after the compatible application is downloaded, the SDP proposal initiated by the second terminal is accepted and an application data channel is established.
[0077] Specifically, if the compatibility judgment result determined by the first terminal is that the application on the first terminal side is compatible, 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 by the first terminal and determines that the application cached on the first terminal side is incompatible with the application on the second terminal side, the first terminal can download the compatible application on the network device on the first terminal side based on the identifier and version carried in the first communication request, and after downloading the compatible application, 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-mentioned 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, and the application information includes one or more of an identifier, a version, and compatibility information; the application information in the first communication request can be compared 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 version, a compatible application is downloaded and an application data channel is established, which can reduce signaling interaction and traffic consumption with the network caused by repeated downloading of applications, can reduce the delay in establishing the ADC channel, improve communication efficiency, and ensure the compatibility of applications at both ends of the ADC channel.
[0079] In one of the embodiments, the first communication request is sent by a network device on the second terminal side after receiving a second communication request sent by the first terminal. The second communication request carries application information of a target application on the second terminal side, and the application information includes one or more of an identification, version, and compatibility information.
[0080] Specifically, the second terminal (calling party) may initiate a communication request to the network device on the second terminal side, and the communication request may be a session initiation protocol SIP request, and the session initiation protocol request may be a SIP INVITE request or a re-INVITE request. The session initiation protocol request carries an SDP proposal. The network device may send a first communication request to the first terminal (responding party).
[0081] In this embodiment, the communication request between the communication initiator and the communication receiver is implemented through the network device, and the version and compatibility information of the target application are added to the communication request sent by the communication initiator to the network device to ensure the integrity of the carried information, better distinguish between applications with different versions, and ensure the compatibility of applications between the terminal and the terminal.
[0082] In one embodiment, the application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal. The first terminal may cache multiple applications and application information corresponding to each application locally.
[0083] The specific implementation process of the step of "obtaining a compatibility determination result based on the comparison of the application information in the first communication request with the application information stored in the first terminal" includes:
[0084] A compatibility determination result is obtained based on the comparison of 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, based on the identifier carried in the first communication request, filter the application information of the target application that matches the identifier from the application information of each application stored locally in the first terminal. 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 in the first terminal, and the target comparison mode information.
[0086] In an 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, and after receiving the first communication request, the first terminal may configure the local target comparison mode information of the first terminal based on the target comparison mode information carried in the first communication request.
[0088] In this embodiment, the compatibility is judged by using the identifier, version and compatibility information carried in the first communication request and the application information stored in the first terminal, thereby ensuring the efficiency and accuracy of the judgment.
[0089] In one embodiment, Figure 3 As shown, the specific implementation process of the step of "obtaining a compatibility determination result based on the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information" may include:
[0090] Step 302: When 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 being the first mode 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, and the first target value can be 0; that is, if the terminal determines that the target comparison mode information is the first target value, then the current target comparison mode information is determined to be the first mode.
[0092] Specifically, when the first terminal determines that the current target comparison mode information is the first mode, the first terminal may 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 in the first terminal.
[0093] In step 304, if the preset consistency condition is not met, a first compatibility determination result is obtained, and the first compatibility determination result indicates that the application on the first terminal side is incompatible.
[0094] Step 306: If the preset consistency condition is met, a second compatibility judgment result is obtained, and the second compatibility judgment result indicates that the application on the first terminal side is compatible.
[0095] The content of the preset consistency condition may 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 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 to see whether they are consistent. 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, a compatibility judgment result characterizing the incompatibility of the applications on the first terminal side.
[0097] Optionally, if the first terminal determines that the target comparison mode information indicates that it is currently in the first mode, the first terminal can compare the version of the target application carried in the first communication request to see if it is consistent with the version of the target application stored locally in 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, that is, obtain 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, that is, obtains a second compatibility judgment result, and 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 that the versions are different, the first terminal needs to re-download the application to the network device.
[0098] It should be noted that this embodiment does not limit the execution order and execution content of step 304 and step 306. One or more of step 304 and step 306 can be executed based on the specific requirements of the actual application scenario.
[0099] In this embodiment, compatibility is determined by using compatibility information and target comparison mode information, thereby further improving the speed and accuracy of determining compatibility and reducing the delay in establishing an application data channel.
[0100] In one embodiment, the application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal. The specific implementation process of the step "obtaining a compatibility determination result based on the comparison of the application information in the first communication request with the application information stored in the first terminal" may include:
[0101] A first comparison result is obtained based on whether the version of the target application in the first communication request can meet the version requirement 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 can meet the version requirement 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, a compatibility judgment result is obtained based on the first comparison result, the second comparison result and the target comparison mode information.
[0102] Among them, the application information of the target application carried in the first communication request may include an identifier, version and compatibility information, and the compatibility information represents the highest version requirement and the lowest version requirement 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, and the compatibility information may represent the highest version requirement and the lowest version requirement 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 in 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 / minimum version requirement in the compatibility information of the target application stored locally in the first terminal to obtain the 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 in the first terminal, then a first comparison result is obtained, which indicates that the target application cached on the first terminal side is compatible with the target application on the second terminal side; accordingly, 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 in the first terminal, then a first comparison result is obtained, which indicates that the target application cached on the first terminal side is incompatible with the target application on the second terminal side.
[0104] Similarly, the first terminal can compare the version of the target application stored in the first terminal with the compatibility information carried in the first communication request to obtain a second comparison result; the specific comparison process can be that the first terminal can determine whether the version of the target application stored in the first terminal can meet the highest version requirement / minimum version requirement in the compatibility information of the target application carried in the first communication request to obtain the second comparison result. For example, if the first terminal determines that the version of the target application stored locally in 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 is obtained, which indicates that the target application cached on the first terminal side is compatible with the target application on the second terminal side; accordingly, if it is determined that the version of the target application stored locally in 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 is obtained, which indicates that the target application cached on the first terminal side is incompatible with the target application on the second terminal side.
[0105] In this way, if the first comparison result is consistent with the second comparison result, the first terminal can obtain the compatibility judgment result represented by the first comparison result. If the second comparison result is inconsistent with 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 the 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 determining compatibility, improves the efficiency of establishing application data channels, and reduces additional signaling consumption between network devices and terminals.
[0107] In one embodiment, Figure 4 As shown, the specific implementation process of the step of "obtaining a compatibility judgment result based on the first comparison result, the second comparison result and the target comparison mode information" may include:
[0108] Step 402: If the target comparison mode information is the second mode, determine a compatibility judgment result based on the first comparison result.
[0109] Among them, the target comparison mode information being the second mode can represent 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, and the second target value can be 1; that is, if the terminal determines that the target comparison mode information is the second target value, it is determined 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 may determine whether the target application cached on the first terminal side represented by the first comparison result is compatible with the target application on the second terminal side to 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, determine a compatibility judgment result based on the second comparison result.
[0114] Among them, the target comparison mode information being the third mode can represent that the comparison mode of the first terminal is in the third mode, the current target comparison mode information can be the second target value, and the second target value can be 1; that is, if the terminal determines that the target comparison mode information is the second target value, it is determined 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 may determine whether the target application cached on the first terminal side represented by the second comparison result is compatible with the target application on the second terminal side to 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 incompatibility, 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, a compatibility determination result indicating that the application on the first terminal side is incompatible is obtained.
[0119] Among them, the target comparison mode information being the fourth mode can represent 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, and the fourth target value can be 3; that is, if the terminal determines that the target comparison mode information is the fourth target value, it is determined 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 the current mode is in the fourth mode, 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, 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, that is, obtain a compatibility judgment result indicating that the applications on the first terminal side are incompatible.
[0121] In this embodiment, the flexibility of configuring the compatibility information and the target comparison mode information in the application information is enhanced, the efficiency of determining whether the compatibility is achieved is improved, and the efficiency of establishing the ADC channel is improved.
[0122] In one embodiment, Figure 5 As shown, the specific implementation process of the step "downloading compatible applications based on the identifier and version" may include:
[0123] Step 502: Initiate an application acquisition request based on the BDC channel.
[0124] The application acquisition request carries the identification and version of the compatible application, and the compatible application is determined based on the application information in the first communication request; the application acquisition request may be initiated to the network device on the second terminal side, for example, it may be an application acquisition request initiated to the DSCF in the network device on the second terminal side; the application acquisition request carries the identification and version of the application to be acquired. The application to be acquired is the application that the first terminal needs to acquire, that is, the application that is compatible with the target application on the second terminal side.
[0125] Specifically, when 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, determine the compatible application 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: The network device at the second terminal side downloads the compatible application, obtains application information of the compatible application, and caches the compatible application and the application information of the compatible application.
[0127] Specifically, the first terminal can download the compatible application in the DSCF in the network device on the second terminal side, and obtain the unique identification, version and compatibility information of the compatible application. In this way, the first terminal can cache the compatible application locally, as well as the identification, version and compatibility information of the compatible information. Based on this, the first terminal can return a response message corresponding to the first communication request to the second terminal, that is, a response message of the SIP request, for example, a SIP200 response message, which indicates that the first terminal has accepted the SDP proposal initiated by the second terminal, and 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 in a timely manner at the network device of the communication initiator through the compatibility judgment result, thereby reducing the delay 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 determination 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, a BDC channel may be established between the first terminal and the second terminal based on a preset BDC channel establishment process; optionally, the first terminal may establish a BDC channel between the first terminal and the second terminal based on the preset BDC channel establishment process when it is determined that the current compatibility judgment result indicates that the target application cached on the first terminal side is incompatible with the target application measured by the second terminal, and the BDC channel has not been established.
[0132] In this embodiment, the flexibility of establishing a BDC channel between the first terminal and the second terminal is guaranteed.
[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, where the temporary response message carries a reason value, and the reason value is downloading the application.
[0135] Specifically, when 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 measured by the second terminal, 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. The corresponding temporary response message carries a reason value, and the reason value can be "need to re-download the compatible application."
[0136] In this embodiment, the compatibility determination result is fed back to the network device in a timely manner, thereby avoiding the waiting of the network device and improving the communication efficiency and the utilization rate of the communication signaling.
[0137] In one embodiment, 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. The data for establishing a BDC channel may be an SDP Offer for establishing a BDC channel. The network device on the first terminal side includes an IMS AS network and multiple network functions, for example, a first network function and a second network function, the first network function may be a DCSF, and the second network function may be a DSCF. The network device on the first terminal side may also include a media function (MF) and the like.
[0140] Specifically, the first terminal may initiate a second communication request to the IMS AS network in the network device on the first terminal side, and the second communication request may be a Session Initiation Protocol SIP request, and the Session Initiation Protocol request may be a SIP INVITE request or a re-INVITE request. The Session Initiation Protocol request carries an SDP Offer for establishing a BDC channel.
[0141] Step 604: negotiate with the network device on the first terminal side and establish a BDC channel based on the data.
[0142] Specifically, the first terminal may negotiate with the network device on the first terminal side based on a preset BDC channel establishment process, and after completing the negotiation, 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 based on the application list provided by the second network function, download one or more specified applications, and obtain application information of the specified applications.
[0144] The application information includes an identifier, a version, and compatibility information; the identifier corresponds to the application one-to-one, the version may be the current version of the application, and the compatibility information may be the highest version requirement and / or the lowest version requirement that the application is compatible with. The designated application may be an application that the first terminal needs or wants to download based on an actual application scenario. The present disclosure does not specifically limit the determination process of the designated application and the specific application to which it refers, and those skilled in the art may make specific determinations based on actual application scenarios.
[0145] Specifically, the first terminal may initiate an application download request to the DCSF in the network device on the first terminal side, and the application download request is used to enable the first terminal to download the application from the network device on the first terminal side. In this way, the second network function DSCF may provide the first terminal with an application list of downloadable applications, or a download list of each designated application specified by the first terminal. In this way, the first terminal may download each pre-specified designated application from the second network function, and obtain the unique identifier, version, and compatibility information corresponding to each designated application.
[0146] Step 608: locally store the specified application and the application information of the specified application.
[0147] Specifically, after the first terminal has downloaded each designated application and obtained the identifier, version, and compatibility information corresponding to each designated application, the first terminal can cache the designated application and the unique identifier, version, and compatibility information corresponding to each designated application locally in the first terminal. In this way, the first terminal can complete the call between the network device on the first terminal side. The applications cached by the first terminal can be provided for subsequent calls.
[0148] Optionally, the terminal corresponding to the receiving end, or the terminal corresponding to the communication responder, can also download applications and cache applications; optionally, the terminal can also obtain applications, application versions, and compatibility information, etc. from the communication partner of the terminal.
[0149] In this embodiment, the first terminal can download multiple applications in advance and cache application information corresponding to each application through interaction with the network device on the first terminal side, thereby providing a reliable data basis for subsequent communication between terminals.
[0150] In one embodiment, the execution process of the above-mentioned data channel establishment method is described in detail in combination with a specific embodiment. A data channel establishment method provided in this embodiment can avoid the consumption of interactive signaling and traffic between the network caused by repeated downloading of applications, can reduce the delay of channel establishment, and can also ensure the compatibility of applications at both ends of the data channel. The method provided in this embodiment further limits the application information, including version and compatibility information in addition to the identification of the application; that is, after downloading the application, the terminal caches the application and stores the version information and compatibility information. The terminal that initiates the data channel connection (for example, it can be the calling party terminal) adds the version and / or compatibility information of the local application in addition to the app-ID of the application in the SDP proposal. The responding party terminal compares the received version and / or compatibility information with the version and / or compatibility information of the local end to determine whether the local application is compatible with the opposite end application, that is, to determine whether the application of the responding party terminal is compatible with the application of the calling party terminal. When the responder determines that the version of the local application is not compatible 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: add an application compatibility management module, which can be provided by DCSF / DCAR. The compatibility management module stores the application's unique identifier APP-ID, version Version, and compatibility information, such as Figure 7 As shown: the application information of the application contained in the network device (DCAR) may include the unique identifier APP-ID of the application, the version Version and the compatibility information, and the compatibility information may include the minimum version requirement Min_cmp_Ver, the maximum version requirement Max_Cmp_Ver and the comparison mode Mode. Both the initiating side terminal and the receiving side terminal can download the application from the network device (DCAR) and obtain the application information corresponding to each application; for example, the initiating side terminal may be configured with a compatibility processing module, which may store the identifier APP-ID of the application, the current version Cur_Ver and the minimum version requirement Min_cmp_Ver; the initiating side terminal may initiate a data channel establishment request to the receiving side terminal, and the initiating side terminal may provide the application information to the receiving side terminal; the receiving side terminal may be configured with a compatibility processing module, which may include the identifier APP-ID of the application, 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 the application is uploaded to the network device, the application developer uploads and stores this information at the same time. The network device stores the application, unique identifier, version and compatibility information. APP-ID is the unique identifier of the application, and Version is the version of the application. In addition, application compatibility information can also be provided. For example, the application information of the application can include the minimum version Min_Cmp_Ver, the maximum version Max_Cmp_Ver and the judgment mode Mode that are compatible with the application. The example of the judgment mode can be used to specify the way the receiving side judges the version and compatibility information. For example: if it is in the first mode, that is, the value of the comparison mode is 0, it is determined that the version of the local end is different from that of the opposite end, and it is determined that it is incompatible and needs to be re-downloaded; if it is in the second mode, that is, the value of the comparison mode is 1, the judgment result of the compatibility information of the local end is used as the final compatibility judgment result; if it is in the third mode, that is, the value of the comparison mode is 2, the judgment result of the compatibility information of the opposite end is used as the final compatibility judgment result; if it is in the fourth mode, that is, the value of the comparison mode is 3, if the judgment result of the compatibility information of the local end is inconsistent with the judgment result of the compatibility information of the opposite end, it is determined that it is incompatible and the application needs to be re-downloaded.
[0153] When the terminal requests and downloads an application from the network device, the network device provides a unique identifier, version, and compatibility information at the same time. The terminal can be newly configured with an application compatibility processing module, which stores the unique identifier, current version, compatible minimum version, maximum version, judgment mode, etc. of the application. When the terminal downloads and caches an application from the network device, the network device provides a unique identifier, the downloaded application version, and compatibility information at the same time. The terminal is stored in the application compatibility processing module. The initiating terminal carries the version and compatibility information of the local application in the data channel establishment request. The receiving terminal obtains the version and compatibility information of the opposite end from the request, compares the application version of the local end with the compatibility information of the opposite end, or compares the application version of the opposite end with the compatibility information of the local end, and judges the comparison result with reference to the requirements of the judgment mode (Mode) to determine whether the versions on both sides are compatible. If the judgment result of the receiving terminal is inconsistent, a BDC connection to the initiating network device is established, the application is downloaded again, and the channel establishment request is accepted again.
[0154] Figure 8 A signaling interaction flow chart of a data channel establishment method is provided. Figure 8 As shown, the method includes a terminal UE, a MF, an IMS AS and a DSCF / DCAR; the method includes the following steps:
[0155] Step 1: The UE initiates a SIP INVITE / re-INVITE request, which carries an SDP Offer for establishing a BDC, that is, includes an SDP Offer for BDC.
[0156] Step 2: The UE and network devices such as DSCF, IMS AS, and MF establish a BDC channel with the local network device based on the preset BDC channel establishment process. The preset BDC channel establishment process may be the process in TS 23.228. Based on the process, negotiation is completed with the local network device to establish a BDC channel (Stream ID = 0) between 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 the application 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 simultaneously obtains the unique identifier, version, and compatibility information of the application.
[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 to the local end, and also caches the unique identifier, version, and compatibility information corresponding to the application.
[0160] Step 6: Based on the process of TS 23.228, the UE continues to complete the call, that is, completes the current call.
[0161] In one embodiment, Fig. 9 A signaling interaction flow chart of a data channel establishment method is provided. Fig. 9 As shown, UE-A, DCSF, IMS AS and UE-B are included; the method comprises the following steps:
[0162] Step 1: Complete the BDC channel establishment process / do not establish the BDC channel according to TS 23.228. Specifically, if the business demand evolution can support the standalone application data channel Standalone ADC, there is no need to establish the BDC process.
[0163] Step 2: UE-A initiates a SIP INVITE / re-INVITE request to establish an ADC channel. The SDP proposal contains the identification, version, and compatibility information of the UE-A side application.
[0164] Step 3: Complete the signaling of the ADC channel between the IMS AS / DSCF and the MF and the media negotiation (of the calling party and the called party) according to TS 23.228, and reserve media resources.
[0165] Step 4: Send a SIP INVITE / re-INVITE to UE-B. The SDP proposal includes the identification, version, and compatibility information of the application from the UE-A side.
[0166] Step 5, UE-B compares the identifier of UE-A in the SDP proposal and the compatibility information of the local end, compares the compatibility information in the SDP proposal and the application version of the local end, and determines whether the application of UE-B is compatible with the opposite end; the specific process may be: UE-B obtains the application version compatibility information of UE-A in the SDP proposal, compares it with the application version compatibility information stored in the local end, and determines whether the application of the local end is compatible:
[0167] 1) For example, if the comparison mode Mode=0 in the compatibility information indicates that the versions are different, then when it is determined that the application is incompatible and needs to be re-downloaded, if UE-B determines that the application versions at both ends are different, it is determined to be incompatible and needs to be re-downloaded.
[0168] 2) Compare the application version provided by UE-A with the compatibility information of the local end. If the UE-A version meets the minimum / maximum version requirements in the compatibility information of the local end, it is determined to be compatible;
[0169] 3) Compare the compatibility information provided by UE-A with the application version of the local end. If the application version of the local end (UE-B) meets the minimum / maximum version requirements in the compatibility information of UE-A, it is determined to be compatible;
[0170] 4) If the judgment results of 2) and 3) are inconsistent, you can set the comparison mode (Mode). For example, if Mode=1, the judgment result of 2) shall prevail; if Mode=2, the judgment result of 3) shall prevail. If Mode=3, it is judged as incompatible and the application 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 is not established in the above steps, a BDC channel (StreamID=100) can be established with the peer network.
[0173] Step 8: Initiate an application acquisition request to the peer network DSCF and provide the unique identifier and version of the application to be acquired.
[0174] Step 9: UE-B downloads a specific application (compatible application) from the peer network DSCF, and simultaneously obtains the unique identifier, version, and compatibility information of the application.
[0175] Step 10: UE-B caches the application, and also caches the unique identifier, version, and compatibility information corresponding to the application.
[0176] Step 11, UE-B responds to the SIP 200 response message, receives the SDP proposal and establishes an ADC, which can be forwarded to user UE-A via the IMS-AS.
[0177] Step 12: The ADC channel is established, and UE-A and UE-B enter the ADC session.
[0178] It should be understood that although Figure 1-9 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1-9 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0179] In one embodiment, Fig.10 As shown, a data channel establishment device 1000 is provided, which is applied to a first terminal; comprising:
[0180] The first receiving module 1002 is used to receive a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information;
[0181] A first comparison module 1004, configured to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility determination result;
[0182] The first download module 1006 is used to download a compatible application based on the identifier and version if the compatibility judgment result indicates that the application on the first terminal side is incompatible, and after downloading the compatible application, accept the SDP proposal initiated by the second terminal and establish an application data channel.
[0183] In one of the embodiments, the first communication request is sent by a network device on the second terminal side after receiving a second communication request sent by the first terminal. The second communication request carries application information of a target application on the second terminal side, and the application information includes one or more of an identification, version, and compatibility information.
[0184] In one of the embodiments, the application information stored in the first terminal is application information corresponding to the target application stored locally in 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 configured to:
[0186] When the target comparison mode information is 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, and the first compatibility judgment result 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, and the second compatibility judgment result indicates that the application on the first terminal side is compatible.
[0187] In one embodiment, the application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal; and the first comparison module is specifically configured to:
[0188] A first comparison result is obtained based on whether the version of the target application in the first communication request can meet the version requirement 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 can meet the version requirement 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 configured to:
[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 is obtained that characterizes the incompatibility of the application on the first terminal side.
[0191] In one embodiment, the first download module is specifically used for:
[0192] Based on the BDC channel, an application acquisition request is initiated, the application acquisition request carries the identification and version of the compatible application, and the compatible application is determined based on the application information in the first communication request; the compatible application is downloaded on the network device on the second terminal side, and the application information of the compatible application is obtained; the compatible application and the application information of the compatible application are cached.
[0193] In one embodiment, the data channel establishing device further includes:
[0194] A first establishing module is used to establish a BDC channel with a network device of a second terminal before receiving a first communication request; or
[0195] The second establishing 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 establishing device further includes:
[0197] The first returning module is used to return a temporary response message to the network device on the second terminal side, where the temporary response message carries a reason value, and the reason value is downloading an application.
[0198] In one embodiment, the data channel establishing device further includes:
[0199] A first initiating 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, negotiates with the network device on the first terminal side, and establishes the BDC channel, the network device includes a first network function and a second network function;
[0200] A second initiating module is used to initiate an application download request to the first network function, and based on the application list provided by the second network function, download one or more specified applications, and obtain application information of the specified applications, where the application information includes an identifier, version, and compatibility information;
[0201] The storage module is used to locally store the specified application and application information of the specified application.
[0202] For the specific definition of the data channel establishment device, please refer to the definition of the data channel establishment method above, which will not be repeated here. Each module in the above-mentioned data channel establishment device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0203] In one embodiment, a communication device is provided. Fig.11 . Fig.11 It is a schematic diagram of the structure of a terminal device provided in an embodiment of the present invention. Fig.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 achieve connection and communication between these components. In addition to the data bus, the bus system 1105 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 1105 is not shown in FIG. Fig.11 Various buses are labeled as bus system 1105. In addition, the embodiment of the present invention also includes a transceiver 1106, which can be multiple components, that is, including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium.
[0204] The user interface 1103 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touch pad, or a touch screen).
[0205] It can be understood that the memory 1102 in the embodiment of the present invention can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a 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 dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct RAM bus random access memory (DRRAM). The memory 1102 of the system and method 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 embodiments, the memory 1102 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof: an operating system 11021 and an application program 11022 .
[0207] The operating system 11021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 11022 includes various application programs, such as a media player (MediaPlayer), a browser (Browser), etc., which are used to implement various application services. The program for implementing the method of the embodiment of the present invention can be included in the application 11022.
[0208] In an embodiment of the present invention, by calling a program or instruction stored in the memory 1102, specifically, it can be a program or instruction stored in the application 11022, wherein a receiver is used to receive a first communication request, and the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, and the SDP proposal includes application information of a target application on the second terminal side, and the application information includes one or more of an identifier, a version, and compatibility information; a processor 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; 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 an application data channel is established.
[0209] In one embodiment, the first communication request is sent by the network device at the second terminal side after receiving the second communication request sent by the first terminal.
[0210] Part or all of the methods disclosed in the above embodiments of the present invention may also be applied to the processor 1101, or implemented by the processor 1101, or implemented by the processor 1101 in cooperation with other components (such as a transceiver). The processor 1101 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware or software instructions in the processor 1101. The above processor 1101 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present invention may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in a decoding processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1102, and the processor 1101 reads the information in the memory 1102 and completes the steps of the above method in combination with its hardware.
[0211] It is to be understood that the embodiments described in the embodiments of the present invention may be implemented by hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSP 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 the present application or a combination thereof.
[0212] For software implementation, the technology described in the embodiments of the present invention can be implemented by a module (such as a process, function, etc.) that performs the functions described in the embodiments of the present invention. The software code can be stored in a memory and executed by the processor 1101. The memory can be implemented in the processor 1101 or outside the processor 1101.
[0213] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the embodiments of the present application are implemented.
[0214] The embodiment of the present application also provides a computer program product including instructions, which, when executed on a computer, enables the computer to execute the steps in the embodiment of the present application.
[0215] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database 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), tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0216] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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 above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for establishing a data channel, characterized in that: Applied to a first terminal; the method comprises: receiving a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information; Obtaining a compatibility determination result based on 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 the version, 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 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 identification, version and compatibility information.
3. The method according to claim 2, characterized in that The application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal; The comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility determination result includes: A compatibility determination result is obtained based on a comparison of the application information in the first communication request, the application information stored in the first terminal, and the target comparison mode information.
4. The method according to claim 3, characterized in that: The 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 determination result includes: When the target comparison mode information is the first mode, comparing the version of the target application in the first communication request with the version of the target application stored in the first terminal; If the preset consistency condition is not met, a first compatibility determination result is obtained, and the first compatibility determination result indicates that the application on the first terminal side is incompatible; or, If the preset consistency condition is met, a second compatibility judgment result is obtained, and the second compatibility judgment result indicates that the application on the first terminal side is compatible.
5. The method according to claim 1, characterized in that The application information stored in the first terminal is application information corresponding to the target application stored locally in the first terminal; The comparing the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility determination result includes: Obtaining a first comparison result based on whether a version of the target application in the first communication request meets a version requirement of the compatibility information stored in the first terminal; obtaining a second comparison result based on whether a version of the target application stored in the first terminal meets a version requirement 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 determination result is obtained based on the first comparison result, the second comparison result and the target comparison mode information.
6. The method according to claim 5, characterized in that The obtaining of a compatibility judgment result based on the first comparison result, the second comparison result and the target comparison mode information includes: If the target comparison mode information is the second mode, determining a compatibility judgment result based on the first comparison result; If the target comparison mode information is the third mode, determining a compatibility judgment result based on the second comparison result; If the target comparison mode information is the fourth mode, a compatibility determination result indicating that the application on the first terminal side is incompatible is obtained.
7. The method according to claim 1, characterized in that The downloading of the compatible application based on the identifier and the version includes: Initiating an application acquisition request based on the BDC channel, the application acquisition request carries an identifier and a version of a compatible application, and the compatible application is determined based on the application information in the first communication request; Downloading the compatible application on the network device at the second terminal side, and acquiring application information of the compatible application; The compatible application and application information of the compatible application are cached.
8. The method according to claim 7, characterized in that The method further comprises: Before receiving the first communication request, establishing the BDC channel with the network device of the second terminal; or, After determining that the compatibility determination 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.
9. The method according to claim 1, characterized in that: The method further comprises: A temporary response message is returned to the network device on the second terminal side, where the temporary response message carries a reason value, and the reason value is downloading an application.
10. The method according to claim 1, characterized in that The method further comprises: Initiate a second communication request to the network device on the first terminal side, where the second communication request carries data for establishing a BDC channel; Negotiate with a network device on the first terminal side to establish the BDC channel based on the data, the network device including a first network function and a second network function; Initiate an application download request to the first network function, and based on the application list provided by the second network function, download one or more specified applications, and obtain application information of the specified applications, the application information including identification, version, and compatibility information; The designated application and application information of the designated application are stored locally.
11. A data channel establishment device, characterized in that: Applied to a first terminal; the device comprises: A first receiving module is used to receive a first communication request, where the first communication request is used to request to establish an application data channel; the first communication request carries a session description protocol SDP proposal, where the SDP proposal includes application information of a target application on the second terminal side, where the application information includes one or more of an identifier, a version, and compatibility information; A first comparison module, configured to compare the application information in the first communication request with the application information stored in the first terminal to obtain a compatibility determination result; 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 downloading the compatible application, accept the SDP proposal initiated by the second terminal and establish an application data channel.
12. A communication device, characterized in that: include: processors and receivers; The receiver is used to receive a first communication request, where the first communication request is used to request to establish an application data channel; The first communication request carries a session description protocol SDP proposal, the SDP proposal includes application information of a target application on the second terminal side, the application information includes one or more of an identifier, a version, and compatibility information; The processor is configured to obtain a compatibility determination result based on comparison between the application information in the first communication request and 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 the version, and after the compatible application is downloaded, the SDP proposal initiated by the second terminal is accepted and an application data channel is established.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Alternative network address type (ANAT) encoding and media interworking
CN109040007A
Communication method and device based on telecommunication network
CN116418784A
IMS DC application program downloading method, system and device and IMS network
CN118921652A
Application downloading method, device and system, computer equipment and storage medium
CN119109959A
Method and system enabling internet protocol multimedia subsystem access for non internet protocol multimedia subsystem applications
US8060604B1