Data channel establishment method and apparatus
By receiving the application identification and version information of the data channel of the terminal device, the establishment process of the IMS data channel is optimized, and the delay and resource waste caused by BDC establishment is solved, and more efficient data channel signaling interaction is achieved.
Patent Information
- Application Number
- PCT/CN2025/075277
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-08
- Filing Date
- 2025-01-26
- Publication Date
- 2025-08-14
AI Technical Summary
In the prior art, during the establishment of IMS data channels, the delay caused by the establishment of the boot data channel (BDC) and unnecessary signaling resource overhead, especially when the terminal device does not cache data channel applications that meet the version requirements.
By receiving the data channel application identification and version information of the terminal device, it is determined whether the data channel is allowed to be established, avoid unnecessary BDC establishment process, and optimize signaling interaction.
It reduces the delay in data channel establishment, saves signaling resources, and improves network resource utilization efficiency.
Smart Images

Figure CN2025075277_14082025_PF_FP_ABST
Abstract
Description
Method and device for establishing a data channel
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on February 8, 2024, with application number 202410179987.1 and application name “A method and device for establishing a data channel”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of communication technology, and in particular to a session establishment method and related devices. Background Art
[0004] The 3rd Generation Partnership Project (3GPP) defines the IMS Data Channel (DC) based on the 3GPP Internet Protocol Multimedia Subsystem (IMS) audio and video communication architecture. This defines the DC as establishing one or more data channels in an IMS session that are transmitted in parallel with audio and video. These channels are used for any type of data transmission, thereby enabling a rich, interactive, and immersive communication experience in audio and video calls.
[0005] The data channel is divided into two parts: the bootstrap data channel (BDC) and the application data channel (ADC). After the BDC is established, the terminal device obtains the data channel application from the data channel server (DCS) via the BDC. The terminal device then initiates the ADC establishment process and uses the ADC to transmit the interactive data generated by the data channel application. This process requires the BDC to be established before the ADC is established, which delays the ADC establishment and causes signaling resource overhead due to unnecessary BDC establishment. Summary of the Invention
[0006] The embodiments of the present application provide a method, device, and system for establishing a data channel.
[0007] In a first aspect, a method is provided, which includes the following steps: receiving first information from a first network element, the first information being used to notify a first terminal device to request to establish a first data channel, the first data channel being used to transmit data of a data channel application, the first information including an identifier of the data channel application and version information of the data channel application; and determining whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0008] By adopting the above implementation manner, the second network element can determine whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0009] In a possible implementation, the version information of the data channel application includes at least one of the following: a version number of the data channel application; and time information corresponding to the version of the data channel application.
[0010] In one possible implementation, determining whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application includes: when the version information of the data channel application meets the version requirements, determining to accept the establishment of the first data channel by the first terminal device.
[0011] In a possible implementation, the version information of the data channel application meeting the version requirement includes: the version of the data channel application cached by the first terminal device is the latest version.
[0012] In a possible implementation manner, the method further includes: instructing the first network element to continue establishing the first data channel.
[0013] In a possible implementation, the first information is further used to notify a request to establish a second data channel, and the second data channel is used by the first terminal device to obtain the data channel application that meets the version requirement.
[0014] In a possible implementation, the method further includes: instructing the first network element to refuse to establish the second data channel.
[0015] In a possible implementation, the method further includes: receiving second information from the first network element, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
[0016] In a possible implementation, the second information is further used to notify the second terminal device that no data channel application meeting the version requirement is cached.
[0017] In a possible implementation, the method further includes: instructing the first network element to refuse to establish the first data channel.
[0018] In a possible implementation, the method further includes: instructing the first network element to request the second terminal device to establish a third data channel, and the third data channel is used for the second terminal device to obtain a data channel application that meets the version requirements.
[0019] In a possible implementation, the method further includes: receiving second information from the first network element, where the second information is used to notify the second terminal device to accept the establishment of the third data channel.
[0020] In a possible implementation manner, the method further includes: instructing the first network element to accept establishment of the third data channel.
[0021] In one possible implementation, determining whether to accept the first terminal device to establish the first data channel based on the identifier of the data channel application and the version information of the data channel application includes: when the version information of the data channel application does not meet the version requirement, determining to reject the first terminal device to establish the first data channel.
[0022] In a possible implementation, the version information of the data channel application does not meet the version requirement, including: the version of the data channel application cached by the first terminal device does not meet the version requirement.
[0023] In a possible implementation, the version information of the data channel application does not meet the version requirement, including: the version of the data channel application cached by the first terminal device is not the latest version.
[0024] In a possible implementation, the method further includes: sending second information to the first network element, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
[0025] In a possible implementation, the second information is further used to notify the first terminal device that no data channel application meeting the version requirement is cached.
[0026] In a possible implementation, the first information is further used to notify a request to establish a second data channel; and further includes: instructing the first network element to accept the establishment of the second data channel.
[0027] In a second aspect, a method is provided, which includes the following steps: receiving first information, where the first information is used to notify a first terminal device to request to establish a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; and determining whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0028] The above method can be executed by the terminal device itself.
[0029] With the above implementation, the second terminal device can determine whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0030] In one possible implementation, determining whether to accept the first terminal device to establish the first data channel based on the identifier of the data channel application and the version information of the data channel application includes: when the version information of the data channel application does not meet the version requirements, determining to reject the first terminal device to establish the first data channel.
[0031] In a possible implementation, the method further includes: sending second information to the first network element, where the second information is used to notify the communication device to refuse to establish the first data channel.
[0032] In a possible implementation, the second information is further used to notify the communication device that the data channel application cached therein does not meet the version requirement.
[0033] In one possible implementation, the first information is also used to notify a request to establish a second data channel, and the second data channel is used by the communication device to obtain the data channel application that meets the version requirements, and the second information is also used to notify the communication device to refuse to establish the second data channel.
[0034] In one possible implementation, determining whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application includes: when the version information of the data channel application meets the version requirements, determining to accept the establishment of the first data channel by the first terminal device.
[0035] In a possible implementation, the method further includes: sending second information to the first network element, where the second information is used to notify the communication device to accept the establishment of the first data channel.
[0036] In a possible implementation, the first information is further used to notify a request to establish a second data channel, where the second data channel is used by the communication device to obtain the data channel application that meets the version requirement;
[0037] The method further includes: instructing the first network element to reject the communication device from establishing the second data channel.
[0038] In a third aspect, a communication device is provided, comprising a unit or module for executing the method described in any one of the first aspects. The communication device may provide a data channel signaling control function. Specifically, the communication device may include a processing unit and a transceiver unit.
[0039] The transceiver unit receives first information from a first network element, where the first information is used to notify a first terminal device to request the establishment of a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; the processing unit determines whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0040] In a possible implementation, the version information of the data channel application includes at least one of the following: a version number of the data channel application; and time information corresponding to the version of the data channel application.
[0041] In a possible implementation, the processing unit is specifically configured to: determine, based on version information of the data channel application, whether to accept establishment of the first data channel by the first terminal device.
[0042] In a possible implementation, the processing unit is specifically configured to determine whether the version information of the data channel application meets the version requirement by judging that the version of the data channel application cached by the first terminal device is the latest version.
[0043] In a possible implementation manner, the processing unit is further configured to: instruct the first network element, through the transceiver unit, to continue establishing the first data channel.
[0044] In a possible implementation, the first information is further used to notify a request to establish a second data channel, and the second data channel is used by the first terminal device to obtain the data channel application that meets the version requirement.
[0045] In a possible implementation manner, the processing unit is further configured to: instruct the first network element, through a transceiver unit, to refuse to establish the second data channel.
[0046] In a possible implementation, the processing unit is further used to: receive second information from the first network element through the transceiver unit, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
[0047] In a possible implementation, the second information is further used to notify the second terminal device that no data channel application meeting the version requirement is cached.
[0048] In a possible implementation manner, the processing unit is further configured to: instruct the first network element, through a transceiver unit, to refuse to establish the first data channel.
[0049] In one possible implementation, the processing unit is further used to: instruct the first network element through the transceiver unit to request the second terminal device to establish a third data channel, and the third data channel is used for the second terminal device to obtain a data channel application that meets the version requirements.
[0050] In a possible implementation, the processing unit is further used to: receive second information from the first network element through a transceiver unit, where the second information is used to notify the second terminal device to accept the establishment of the third data channel.
[0051] In a possible implementation manner, the processing unit is further configured to: instruct the first network element, through the transceiver unit, to accept the establishment of the third data channel.
[0052] In a possible implementation, the processing unit is further configured to: determine to reject the establishment of the first data channel by the first terminal device when it is determined that the version information of the data channel application does not meet the version requirement.
[0053] In a possible implementation, the version information of the data channel application does not meet the version requirement, including: the version of the data channel application cached by the first terminal device does not meet the version requirement.
[0054] In a possible implementation, the version information of the data channel application does not meet the version requirement, including: the version of the data channel application cached by the first terminal device is not the latest version.
[0055] In a possible implementation, the processing unit is further used to: send second information to the first network element through the transceiver unit, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
[0056] In a possible implementation, the second information is further used to notify the first terminal device that no data channel application meeting the version requirement is cached.
[0057] In a possible implementation, the first information is further used to notify a request to establish a second data channel; and further includes: instructing the first network element to accept the establishment of the second data channel.
[0058] In a fourth aspect, a communication device is provided, the communication device including a unit or module for executing any of the methods described in the second aspect. The communication device may include a processing unit and a transceiver unit.
[0059] A communication device is provided, the communication device including a unit or module for executing the method as described in any one of the second aspects above. The communication device may include a processing unit and a transceiver unit.
[0060] The transceiver unit receives first information, where the first information is used to notify the first terminal device to request to establish a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; the processing unit determines whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0061] In a possible implementation, the processing unit is further configured to: determine to reject the establishment of the first data channel by the first terminal device by determining that version information of the data channel application does not meet a version requirement.
[0062] In a possible implementation, the processing unit is further configured to: send second information to the first network element through the transceiver unit, where the second information is used to notify the communication device to refuse to establish the first data channel.
[0063] In a possible implementation, the second information is further used to notify the communication device that the data channel application cached therein does not meet the version requirement.
[0064] In one possible implementation, the first information is also used to notify a request to establish a second data channel, and the second data channel is used by the communication device to obtain the data channel application that meets the version requirements, and the second information is also used to notify the communication device to refuse to establish the second data channel.
[0065] In one possible implementation, determining whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application includes: when the version information of the data channel application meets the version requirements, determining to accept the establishment of the first data channel by the first terminal device.
[0066] In a possible implementation, the processing unit is further configured to: send second information to the first network element through the transceiver unit, where the second information is used to notify the communication device to accept the establishment of the first data channel.
[0067] In one possible implementation, the first information is also used to notify a request to establish a second data channel, and the second data channel is used by the communication device to obtain the data channel application that meets the version requirements; the first network element is instructed through the transceiver unit to reject the communication device from establishing the second data channel.
[0068] In a fifth aspect, a communication system is provided, comprising a data channel signaling function entity and a terminal device, wherein the data channel signaling function entity is used to implement a method as described in any one of the first aspects above, and the terminal device is used to implement a method as described in any one of the second aspects above.
[0069] In a sixth aspect, a readable storage medium is provided, in which a program is stored. When the program is executed by a communication device, the method as described in any one of the first aspects above or the method as described in any one of the second aspects above is implemented.
[0070] In the seventh aspect, a chip system is provided, comprising: a memory for storing a computer program; a processor; when the processor calls and runs the computer program from the memory, the communication device equipped with the chip system executes the method as described in any one of the first aspects above, or executes the method as described in any one of the second aspects above.
[0071] In an eighth aspect, a computer program product is provided, comprising instructions, which, when executed on a processor, cause the processor to execute the method described in any one of the first aspects above, or to execute the method described in any one of the second aspects above. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] FIG1 shows a communication network architecture diagram applicable to the present application;
[0073] FIG2 shows a schematic diagram of a network architecture applicable to the present application;
[0074] FIG3 shows a flow chart of an application for obtaining a data channel applicable to the present application;
[0075] FIG4( a ) shows a BDC establishment flow chart applicable to the present application;
[0076] FIG4( b ) shows a flow chart of establishing an ADC applicable to the present application;
[0077] FIG4( c ) shows an ADC establishment flow chart applicable to the present application;
[0078] FIG4( d ) shows an ADC establishment flow chart applicable to the present application;
[0079] FIG5 is a flow chart of a session establishment provided in an embodiment of the present application;
[0080] FIG6 is a flow chart of a session establishment provided in an embodiment of the present application;
[0081] FIG7 is a flow chart of a session establishment provided in an embodiment of the present application;
[0082] FIG8 is a flow chart of a session establishment provided in an embodiment of the present application;
[0083] FIG9 is a flow chart of a session establishment provided in an embodiment of the present application;
[0084] FIG10 is a possible exemplary block diagram of a device involved in an embodiment of the present application;
[0085] FIG11 is a schematic diagram of a possible structure of the device involved in the embodiments of the present application. DETAILED DESCRIPTION
[0086] To make the objectives, technical solutions, and advantages of this application more clear, the present application will be further described in detail below with reference to the accompanying drawings. The specific operating methods in the method embodiments can also be applied to the device embodiments or system embodiments. In the description of this application, unless otherwise specified, the meaning of "multiple" is two or more.
[0087] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0088] It is understood that the various numbers used in this application are merely for ease of description and are not intended to limit the scope of this application. The order of execution of the above-mentioned processes does not necessarily imply a specific order of execution. The order of execution of each process should be determined by its function and inherent logic.
[0089] The terms "first," "second," "third," "fourth," and various other terminology designations, if any, in the specification and claims of this application and in the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0090] The technical solutions provided in this application can be applied to various communication systems, such as the fifth generation (5G) communication system (also known as the new radio (NR) system), the fourth generation (4G) communication system (also known as the long term evolution (LTE) system), the LTE frequency division duplex (FDD) system, the LTE time division duplex (TDD) system, etc. The technical solutions provided in this application can also be applied to future communication systems, such as the sixth generation (6G) mobile communication system.
[0091] The following describes a communication system 100 provided by an embodiment of the present application with reference to FIG1 . It should be understood that the communication system described in this application is merely an example and does not constitute any limitation on this application. Here is a brief introduction to each network element (or functional network element, functional entity, node, device, etc.) shown in FIG1 :
[0092] 1. Terminal device (e.g., the first terminal device or the second terminal device in FIG1 ): A terminal device may be any device capable of accessing a network, and may also be referred to as user equipment (UE, hereinafter referred to as UE1 or UE2 for ease of description), terminal device, access terminal, subscriber unit, subscriber station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. A UE may be a device that provides voice / data connectivity to a user, such as a handheld device or vehicle-mounted device with wireless connection capabilities. At present, some examples of terminals include: mobile phones, tablet computers, computers with wireless transceiver functions (such as laptops, PDAs, etc.), mobile internet devices (MIDs), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), and so on. assistant, PDA), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, vehicle-mounted devices, wearable devices, terminal devices in 4G / 5G networks or terminal devices in future evolved public land mobile communication networks (PLMN), etc.
[0093] Furthermore, UEs can also be UEs in the Internet of Things (IoT) system. IoT is a crucial component of future information technology development. Its primary technical feature is connecting objects to the Internet through communications, thereby enabling intelligent networks that interconnect humans and machines, and objects and things. IoT technology, for example, utilizes narrowband (NB) technology to achieve massive connectivity, deep coverage, and power-saving terminals.
[0094] UE can also include smart printers, train detectors, etc. Its main functions include collecting data (part of the terminal equipment), receiving control information and downlink data from network equipment, and sending electromagnetic waves to transmit uplink data to network equipment.
[0095] Alternatively, a UE can function as a base station. For example, a user device can act as a dispatching entity, providing sidelink signals between user devices in vehicle-to-everything (V2X) or device-to-device (D2D) applications. For example, a cell phone and a car can communicate with each other using sidelink signals. A cell phone and a smart home device can also communicate without relaying the communication signal through a base station.
[0096] In the network architecture provided in the embodiments of the present application, different UEs can conduct IMS calls through the IMS network. For example, UE 1 and UE 2 in Figure 1 can conduct IMS calls through the IMS network, wherein UE 2 can be referred to as the opposite-end device of UE 1 conducting the IMS call, and similarly, UE 1 can be referred to as the opposite-end device of UE 2 conducting the IMS call. Assuming that UE 1 is the device that initiates the call, for UE 1, the IMS network serving UE 1 can be referred to as the local IMS network (Local IMS), and the IMS network serving UE 2 can be referred to as the remote IMS network (Remote IMS). It can be understood that the network element architecture within the remote IMS network is similar to the network element architecture within the local IMS network. For the sake of simplicity, the network element architecture within the remote IMS network is not shown in the figure.
[0097] 2. Call Session Control Function (CSCF) Network Element: The CSCF is a functional entity within the IMS network and serves as the core of the entire IMS. It is primarily responsible for handling signaling control during multimedia call sessions. It manages IMS user authentication, coordinates with other network elements to control Session Initiation Protocol (SIP) sessions, and performs service negotiation and resource allocation. For ease of description, the CSCF network element is referred to as "CSCF" in this application.
[0098] The CSCF can communicate with the terminal device and the gateway device. For example, the CSCF can select a gateway device to communicate with the terminal device and allocate routing information, such as an IP address or port, to the terminal device and the gateway device. For example, the gateway device can be an IMS Access Gateway (IMS-AGW).
[0099] As an example and not a limitation, CSCF is classified into proxy CSCF (P-CSCF), interrogating CSCF (I-CSCF), serving CSCF (S-CSCF), etc. according to its function.
[0100] Among them, the P-CSCF is the entry point for the user's terminal device to access the IMS network, and is mainly responsible for forwarding SIP signaling between the IMS user's terminal device and the home network. The I-CSCF is the unified entry point for the IMS user's home network, and is responsible for allocating or querying the S-CSCF that serves the user. The S-CSCF is the service switching center of the IMS network, and is mainly responsible for receiving and processing user registration requests, user management, session control, service switching, service control, SIP message processing, billing, etc., and can trigger SIP requests to the corresponding application server (AS) according to the application triggering principle. It can be understood that the above-mentioned P-CSCF, S-CSCF, and I-CSCF can be independently configured in different entities or integrated into the same entity, and this application does not limit this.
[0101] 3. Data channel server (DCS): The DCS can be divided into two logical functional entities: the data channel signaling function (DCSF) network element and the media function (MF) network element. The MF network element is used to provide data channel media resource management functions, and the DCSF is used to provide data channel signaling control functions. In this application, Figure 1 mainly reflects the signaling function of the data channel server. The data channel server also has media functions, and Figure 1 does not show the MF.
[0102] It is understandable that, in actual network deployment, the DCSF and MF network elements may be co-located (referred to as DCS in this case) or separately located, and this application does not limit this.
[0103] The DCSF in the embodiments of the present application may be a DCS.
[0104] 4. Data channel application repository (DCAR): DCAR is a repository for storing data channel applications (DC App).
[0105] After a developer completes a DC App, they upload it to the operator's DCS, which then saves it to the DCAR. The DCS then downloads the DC App from the DCAR to its local computer for subsequent processing when needed.
[0106] 5. Home Subscriber Server (HSS): The HSS is a database that stores user information in the IMS. Users save user data. By way of example and not limitation, user data may include information about data channel services that the user has signed up for with the operator.
[0107] 6. IMS application server (AS): The IMS AS is an application layer device located at the upper layer of the IMS system, providing basic and supplementary services, such as multimedia conferencing, converged communications, SMS gateway, standard switchboard, and other services. The IMS network is an open system based on IP bearer that provides users with various multimedia services. The IMS AS interacts with the CSCF to trigger and execute various network services. In addition, the terminal device and the IMS AS are connected in communication, and the IMS AS can establish a data channel for the terminal device. For example, the IMS AS can be a multimedia telephony application server (MMTEL AS) or a telephony application server (TAS).
[0108] The above-mentioned network architecture applied to the embodiment of the present application is only an example. The network architecture applicable to the embodiment of the present application is not limited to this. Any network architecture that can realize the functions of the above-mentioned network elements is applicable to the embodiment of the present application. That is, the network architecture and business scenarios described in the embodiment of the present application are for the purpose of more clearly illustrating the technical solutions of the embodiment of the present application, and do not constitute a limitation on the technical solutions provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiment of the present application are also applicable to similar technical problems.
[0109] It can also be understood that the network elements or devices listed in the above network architecture are only exemplary illustrations, and the network architecture applicable to this application may also include other network elements or devices, which is not limited in this application.
[0110] It is also understood that the naming of the above network elements or devices is defined only to facilitate the distinction between different functions and should not constitute any limitation to this application. This application does not exclude the possibility of adopting other naming in 4G networks, 5G networks, and other future networks. For example, in a 6G network, some or all of the above network elements may continue to use the terminology used in 4G / 5G, or may adopt other names.
[0111] Based on the network architecture shown in FIG1 , in order to facilitate understanding of the technical solutions of the embodiments of the present application, some terms or concepts that may be involved in the embodiments of the present application are introduced here.
[0112] 1. Communication Session
[0113] The communication session described in the embodiment of the present application is an IMS session (as shown in Figure 2), which can also be called an IMS communication session or session, etc., which refers to the communication between a terminal device as a caller or a called party and one or more other terminal devices via a network element in the IMS network.
[0114] An IMS communication session may cover the entire process from the start of dialing to the end of the call, or may cover a portion of the process from the start of dialing to the end of the call, such as the process from the parties participating in the IMS communication session entering the call state to the end of the call.
[0115] An IMS communication session can be one-to-one or one-to-many (such as a conference). The embodiment of the present application takes the one-to-one format as an example, but related solutions can also be used in the one-to-many format.
[0116] 2. Data Channel
[0117] The data channel in the embodiment of the present application is also referred to as an IMS data channel (IMSDC), that is, a data channel in IMS, which can be used to transmit data based on the stream control transmission protocol (SCTP); that is, the data channel is a logical channel or data connection based on SCTP to transmit data.
[0118] Exemplarily, DC can provide users with richer real-time interactive services in addition to audio and video calls and text. For example, the terminal devices in the same IMS communication session determine the IP address and port used by the terminal devices of both parties to transmit data, establish the key information required for datagram transport layer security (DTLS) coupling and SCTP coupling, and the media information corresponding to the data channel through the IMS SIP / session description protocol (SDP) media negotiation process, thereby establishing one or more data channels (such as the data channels shown in Figure 2) in parallel with the audio channel and the video channel in the IMS session, and the data channel is associated with the IMS communication session. It can be understood that Figure 2 is an example of an IMS session including an audio channel, a video channel and a data channel. In other possible examples, the IMS session may also include only a data channel without including other channels (such as an audio channel and a video channel).
[0119] Furthermore, UE 1 and UE 2 can download various data channel applications from the network-side DCS through the data channel and run such applications before, during, or after the audio or video call. By transmitting various types of application data of such applications in the data channel, UE 1 and UE 2 can communicate in addition to voice or video calls, such as screen sharing, simultaneous translation, location sharing, overlaying AR special effects, and even synchronized immersive interaction such as hearing, vision, and touch, to enhance user experience.
[0120] According to different uses, data channels can be divided into two types: bootstrap data channel (BDC) and application data channel (ADC).
[0121] The BDC is a data channel established between the UE and the network in an IMS session. The BDC is used to transmit a graphical user interface (GUI). This GUI may include a list of data channel applications that the UE can use. The list then allows the UE to request downloads of the data channel applications in the list. In other words, the BDC is used by the UE to obtain data channel applications from the DCS.
[0122] Terminal devices that support data channel capabilities can establish a BDC with the DCS of the call originating network and / or the DCS of the call terminating network. The specific method depends on whether each network supports data channel capabilities and the service contracts signed by the terminal devices on both sides of the call.
[0123] The ADC is used to transmit interactive data generated by the DC App running on both communicating parties. In a P2P scenario, the ADC is established between the terminal devices of the two parties in the call. In this case, the ADC is used to transmit interactive data generated by the data channel application running on the terminal devices of both communicating parties. In a P2A scenario, the ADC is established between the terminal device and the data channel media function. In this case, the ADC is used to transmit interactive data generated by the DC App running on the devices of both communicating parties. For example, in a P2A scenario, the ADC transmits interactive data between the terminal device and the data channel application server. In a P2A2P scenario, the ADC is established between UE 1 and the data channel MF / MRF, and the ADC is established between UE 2 and the data channel media function.
[0124] In addition, when the data channel is ADC, the application layer in the protocol stack shown in FIG3 may use a variety of possible protocols to transmit data, without specific limitation.
[0125] 3. Data channel application
[0126] The data channel application described in the embodiments of the present application is an application that provides services based on a data channel. The data channel application is used to transmit additional communication information through a data channel between multiple terminal devices in the same IMS communication session. For example, the additional communication information may include at least one of the following: content captured by the user device's camera, information generated by a "like" button, information generated by sending a red envelope, desktop sharing content, user-drawn marks, user-entered text messages, user-entered image information, geographic location information, or video content in a video file.
[0127] As an example, a data channel application is web content including hypertext markup language (HTML), JavaScript scripts and images, or cascading style sheets (CSS), which describes a graphical user interface (UI) and can implement interactive business logic.
[0128] The data channel application is usually downloaded from the network side by the call application on the terminal device, without the need for the user to install or uninstall it. It is understandable that the data channel application can exist in the form of a web page, or in the form of a mini-program / quick application / light application, etc., and this application does not limit this.
[0129] For example, the data channel application involved in the embodiments of the present application can be a DC App in a 4G / 5G network. The DC App can transmit various data such as text, images, locations, files, etc. before and after an IMS call is established, enabling communication between the two parties in addition to voice or video calls, which can greatly enhance the experience of both parties.
[0130] The terminal device can obtain the DC App from the DCS through the BDC using the HTTP process, and can automatically or interactively update it at any time, and then communicate with the terminal device of the other end through the DC App in addition to voice calls or video calls. For example, UE 1 and UE 2 are in the same IMS communication session. Assume that UE 1 wants to share its mobile phone screen with UE 2 during the call with UE 2 to guide B to set up the mobile phone, then UE 1 and UE 2 can first obtain the DC App for screen sharing respectively, and then run the DC App respectively to communicate with the UE of the other end in addition to voice calls or video calls. The following is a brief introduction to the process of the terminal device obtaining the DC App in conjunction with Figure 3. In the example given in Figure 3, UE 1 and UE 2 are taken as the calling terminal device and the called terminal device respectively.
[0131] ①. Developers complete the development of the DC App through offline processes, and then upload the developed DC App to DCS.
[0132] ②. DCS stores the DC App in DCAR.
[0133] ③. DCS downloads the DC App from DCAR when needed.
[0134] ④. UE 1 establishes a BDC with the DCS and obtains the required DC App from the DCS through the BDC.
[0135] ⑤. UE 2 establishes a BDC with DCS and obtains the required DC App from DCS through BDC.
[0136] ⑥. UE 1 and UE 2 establish ADC to transmit the interactive data of the DC App.
[0137] It should be noted that after the UE completes the communication session in the above process, it can save the DC APP downloaded in the above steps for use in the next communication session. For example, the UE can set the storage duration itself, or the network side can set the storage duration of the DC APP for the UE. During the set duration, the UE does not delete the DC APP.
[0138] As shown in Figure 3, the UE first establishes a BDC with the DCS, downloads the DC App from the DCS via the BDC, and then establishes an ADC. However, if the UE has already cached a DC App that meets the required version, there is no need to download the DC App or establish a BDC. Therefore, the existing solution results in unnecessary signaling interactions, wasting network resources. To address this issue, the present invention proposes a solution.
[0139] FIG4( a ) illustrates a signaling flow chart for establishing a BDC. For a detailed description of the process, please refer to TS23.228, section AC.7.1.
[0140] FIG4( b ) illustrates a signaling flow chart for establishing a P2P ADC. For a detailed description of the process, please refer to TS 23.228, section AC.7.2.1.
[0141] FIG4( c ) illustrates a signaling flow chart for establishing a P2A type ADC. For a detailed description of the process, please refer to TS23.228, section AC.7.2.2.
[0142] Figure 4(d) depicts a signaling flow chart for establishing a P2A2P ADC. For a detailed description of the process, please refer to TS23.228, section AC.7.2.3. Figure 5 is a flow chart of a data channel establishment method according to an embodiment of the present invention. For example, the method shown in Figure 5 can be applied to the ADC establishment process, where the ADC type is P2P, P2A2P, or P2A. It should be noted that when the ADC type is P2P, it indicates that the ADC is established between terminal devices and is not anchored by the data channel media function. When the ADC type is P2A2P, it indicates that the terminal devices establish ADCs with the same data channel media function, and the established ADCs correspond to the same application. In other words, both types of ADCs involve signaling interactions with two terminal devices (e.g., the first and second terminal devices in Figure 5). When the ADC type is P2A, it indicates that the ADC endpoint is anchored to the data channel media function. In other words, this type of ADC involves signaling interactions with one terminal device (e.g., the first terminal device in Figure 5), and therefore does not involve the related processes for interacting with the second terminal device in Figure 5. The following describes this with reference to FIG5 .
[0143] S501: A first network element sends first information to a second network element.
[0144] For example, the first network element may be an IMS AS, such as the IMS AS in Figure 1 , and the second network element may be a DCS, such as the DCS in Figure 1 . Furthermore, the second network element may be a DCSF.
[0145] Among them, the first information is used to notify the first terminal device to request to establish a first data channel. The first data channel is used to transmit DC APP data, for example, the first data channel is the above-mentioned ADC. For example, the first information may include media description information of ADC (also known as media negotiation information). The first network element notifies the second network element that the first terminal device requests to establish ADC by sending the media description information of ADC to the second network element. For example, the first information may be an SDP offer. For example, after receiving the session establishment request 1 from the first terminal device (as shown in step S500 in the figure), the first network element may send a notification (NOTIFY) message carrying the above-mentioned SDP offer to the second network element.
[0146] The first information includes the identification information of the DC APP and the version information of the DC APP. The identification information of the DC APP can also be called the binding information of the DC APP. The version information of the DC APP is used to identify the version of the DC APP (that is, the version of the DC APP in the first terminal device), and can also be called version control information. For example, the version information of the DC APP can be the version number of the DC APP, or the release time of the DC APP, etc.
[0147] For example, the identification information of the DC APP can be reflected through binding information. The version information of the DC APP can be carried in the a line (or attribute line) in the SDP of the ADC, as shown in Table 1. Alternatively, the version information of the DC APP can be carried in the m line in the SDP of the ADC, as shown in Table 2.
[0148] Table 1: Example 1 of an SDP offer
[0149] Table 2: Example 2 of SDP offer
[0150] For example, in Table 1 or Table 2, "m = application port number 1a / port number transport protocol media format description; c = network type address type connection address; a = dcmap:1001" represents the media description information for the ADC. 1001 is an example of a stream ID. For example, if the stream ID is greater than or equal to 1000, the content contained in the SDP offer is the media description information for the ADC.
[0151] It is understandable that the media negotiation information shown in Table 1 or Table 2 is only an example, and the body of the SDP offer may also include other possible parameters, which are not specifically limited.
[0152] In another implementation, the first information sent by the first network element to the second network element is also used to notify the above-mentioned first terminal device to request to establish a second data channel. That is to say, in addition to being able to be used to notify the first terminal device to request to establish the first data channel, the first information can also be used to notify the first terminal device to request to establish a second data channel. For example, the second data channel is the BDC of the first terminal device. Specifically, the BDC of the first terminal device (which can be called the first BDC) can be the BDC between the first terminal device and the call originating network. Optionally, the BDC can also include the BDC between the first terminal device and the call terminating network. That is to say, the first terminal device can initiate the establishment of BDC and ADC at the same time in one process. For example, the first information carries the media description information of ADC and the media description information of BDC to notify the second network element: the first terminal device requests to establish BDC and ADC.
[0153] For example, in Table 1 or Table 2 above, "m = application port number 1b / port number transport protocol media format description; c = network type address type connection address; a = dcmap:0" indicates that the stream ID for this DC is 0, which is an example of a stream ID. For example, if the stream ID is less than 1000, this portion of the SDP offer contains the media description information for the BDC.
[0154] It is understood that when the first information is used to notify the first terminal device of a request to establish a first data channel, the network side can determine whether to accept the establishment of the first data channel based on a subsequent determination. When the first information can be used to notify the first terminal device of a request to establish the first data channel and also to notify the first terminal device of a request to establish the second data channel, the network side can determine whether to accept the establishment of the first data channel or the establishment of the second data channel based on a subsequent determination. In other words, the network side can determine whether to accept the establishment of the first data channel or the establishment of the second data channel.
[0155] S502: The second network element determines whether to accept the first terminal device to establish the first data channel according to the DC APP identifier and the DC APP version information.
[0156] For example, the second network element determines whether the version of the DC APP stored in the first terminal device is compatible based on the DC APP identifier and the DC APP version information. For example, whether the version of the DC APP stored in the first terminal device is compatible can be understood as whether the version of the DC APP stored in the first terminal device is compatible with the version of the DC APP stored in the second network element, or whether they are consistent. In other words, the second network element determines whether the first terminal device has a DC APP version that is compatible with the network.
[0157] The version of the DC APP stored by the second network element can also be understood as the version requirement of the DC APP. Exemplarily, the second network element can first obtain the version requirement of the DC APP. The version requirement can be provided by the developer of the above-mentioned DC APP, or it can be determined by the second network element based on the version number of the latest version of the DC APP cached on the network side, or the version time. Exemplarily, the version information of the DC APP stored on the network side can be obtained through the HSS, or DCAR, or DCSF, which is not limited in this application.
[0158] For example, the second network element may first determine, based on the identifier of the DC APP, for which DC APP the request of the first terminal device is initiated, and then find the version requirement of the DC APP stored in the second network element.
[0159] The version requirement of a DC App can be part of the DC App information. For example, the version requirement can be information determined by the DC App developer to meet DC App version compatibility. For example, the version requirement can be a version number or a version number range, where the version number range includes at least one version number. Alternatively, the version requirement can be a version time or a version time range, where the version time range includes at least one version time.
[0160] When the version number of the DC APP received by the second network element, or the version time falls within the corresponding range, it is considered that the DC APP meets the version requirements, or in other words, the DC APP meets the version compatibility requirements. When the first terminal device has a DC APP that meets the version requirements, the second network element accepts the establishment of the ADC, and can then further instruct the IMS AS to continue the media negotiation process of the ADC. It can be understood that because the first terminal device has a DC APP that meets the version requirements, the first terminal device does not need to download the DC APP additionally, that is, there is no need to introduce an additional BDC establishment process, so the second network element can determine to accept the establishment of the ADC. Optionally, when the second network element also receives a notification from the first terminal device requesting the establishment of a BDC, the second network element can further determine to reject the establishment of the BDC.
[0161] When the version number or version time of the DC APP received by the second network element does not fall within the corresponding range, it is considered that the DC APP does not meet the version requirements, or in other words, the DC APP does not meet the version compatibility requirements. When the first terminal device does not have a DC APP that meets the version requirements, the second network element refuses to establish the ADC. It can be understood that because the first terminal device does not have a DC APP that meets the version requirements, the first terminal device needs to download the DC APP again, that is, it is necessary to introduce an additional BDC establishment process so that the first terminal device can download the DC APP again before the subsequent ADC establishment process can be carried out. Generally speaking, the DC APP downloaded again by the first terminal device can meet the version requirements. Therefore, in this case, the second network element determines to refuse the establishment of the ADC. Optionally, when the second network element also receives a notification from the first terminal device requesting to establish a BDC, the second network element can further determine to accept the establishment of the BDC, and then can further instruct the IMS AS to trigger the BDC establishment process.
[0162] Optionally, the version requirement may also be the version number of the latest version of the DC APP cached on the network side, or the version time. For example, the second network element uses the version number of the latest version of the DC APP, or the version time as the version requirement. When the version number of the DC APP received by the second network element is the same as the version number of the latest version of the DC APP, and / or the version time of the DC APP is the same as the version time of the latest version of the DC APP, and the DC APP stored in the first terminal device meets the version requirement, the second network element determines to accept the establishment of the ADC, otherwise, the ADC determines to reject the establishment of the ADC.
[0163] S503: The second network element sends a data channel establishment instruction 1 to the first network element.
[0164] In a first possible implementation, when the second network element determines in step S502 that it does not accept the establishment of the first data channel by the first terminal device, the second network element instructs the second network element to reject the establishment of the first data channel through data channel establishment indication 1. Optionally, when the indication information in step 501 is also used to notify the first terminal device to request the establishment of the second data channel, the second network element indicates the acceptance of the establishment of the second data channel through data channel establishment indication 1 (or another indication information). For example, the second network element sends the description information of the BDC received in step 501 to the IMS AS to instruct the IMS AS to reject the establishment of the ADC and trigger the BDC establishment process. Optionally, the second network element can also indicate the reason for rejecting the establishment of the ADC to the first network element, and the reason may be that the DC APP stored in the first terminal device is not compatible.
[0165] In this scenario, the IMS AS executes step S510 after step S503, that is, the IMS AS notifies the first terminal device that the request to establish the first data channel is rejected, and optionally, the request to establish the second data channel is accepted (for example, the session establishment response 1 carries indication information indicating the above content). Optionally, the session establishment response 1 in step S510 may also include the above-mentioned reason for refusing to establish ADC. The first terminal device receives the session establishment response 1 of step S510, triggering the BDC establishment process, and can then download a compatible DC APP after the BDC is established. This implementation method can refer to the description of Figure 8 below.
[0166] In a second possible implementation, when the second network element determines in step 502 that the first terminal device should establish the first data channel, the second network element instructs the second network element to accept the establishment of the first data channel through data channel establishment indication 1, or, as can be understood, notifies the IMS AS to continue the negotiation process for the first data channel. For example, the second network element sends ADC description information to the IMS AS to instruct the second network element to accept the establishment of the first data channel, or to instruct the IMS AS to continue the ADC negotiation process. Optionally, the second network element further indicates rejection of BDC establishment through data channel establishment indication 1 (or another indication information).
[0167] Optionally, when the ADC type is P2P or P2A2P, the second network element may further instruct the initiation of establishment of a BDC for the second terminal device through data channel establishment indication 1 (or another indication information). For example, the BDC for the second terminal device (which may be referred to as a second BDC or a third data channel) may be the BDC between the call originating network and the second terminal device. Optionally, the BDC may also include a BDC between the call terminating network and the second terminal device.
[0168] Exemplarily, the data channel establishment indication 1 (or other indication information with an indication function) may be carried in a media control-media indication message, such as a Nimsas_MediaControl_MediaInstruction message.
[0169] Exemplarily, the above-mentioned data channel establishment indication 1 (or other indication information with indication function) can be indicated by the media indication element (Media instruction) in the media control-media indication message. For example, the rejection of the establishment request of the second data channel can be indicated by the media indication Media instruction = "RejectMedia" corresponding to the BDC, and "RejectMedia" indicates that the establishment request of the data channel is rejected. Accepting the establishment of the first data channel, or continuing the negotiation process of the first data channel can be indicated by the media indication Media instruction = "TerminateMedia" corresponding to the media, or "TerminateAndOriginateMedia". Among them, "TerminateMedia" indicates that the data channel corresponding to the media terminates at the data channel server, that is, the parameter implicitly expresses that the establishment of the data channel between the terminal device and the data channel server can continue. "TerminateAndOriginateMedia" indicates that the data channel corresponding to the media is anchored by the data channel server, that is, the parameter implicitly expresses that the establishment of the data channel with the data channel server as the anchor can continue.
[0170] For example, the request to establish UE 2's BDC (or second BDC) can be indicated by a media identifier (media ID = NULL), and the media instruction corresponding to the media ID can be "OriginateMedia". "OriginateMedia" implicitly indicates that the data channel corresponding to the media can be established by the data channel server.
[0171] When the DC APP version information meets the version requirements, in this implementation, when the ADC type is P2A, the IMS AS executes step S510 after step S503. Specifically, the IMS AS notifies the first terminal device that the request to establish the first data channel is accepted and, optionally, that the request to establish the second data channel is rejected. For this implementation, see the description of FIG. 7 below. When the ADC type is P2P or P2A2P, the second network element also sends the IMS AS a description of the BDC of the second terminal device. The IMS AS executes step S504 after step S503.
[0172] S504: The first network element sends a session establishment request 2 to the second terminal device.
[0173] In one implementation, the session establishment request 2 includes media description information of the ADC. Similarly, as shown in Table 1 or Table 2 above, the media description information of the ADC includes the identifier of the DC APP and the version information of the DC APP. The version information of the DC APP may be received by the second network element in step 501, or may be stored by the second network element. The version information of the DC APP stored by the second network element may be a version number, a version number range, a version time, and / or a version time range. Optionally, the session establishment request 2 also includes media description information of the BDC of the second terminal device.
[0174] Exemplarily, the session establishment request 2 may be a SIP INVITE message, or a re-INVITE message, or an UPDATE message, which is not limited in this application.
[0175] S505: The second terminal device determines whether the version of the DC APP stored in the second terminal device is compatible.
[0176] For example, whether the version of the DC APP stored in the second terminal device is compatible can be understood as whether the version of the DC APP stored in the second terminal device is compatible with the version of the DC APP received by the second terminal device, or whether they are consistent.
[0177] Exemplarily, after receiving session establishment request 2, the second terminal device determines whether the DC APP stored in the second terminal device is compatible by comparing the version information of the DC APP carried in session establishment request message 2 from the first network element with the version information of the DC APP stored in the second terminal device. For example, if the version number of the DC APP carried in the above-mentioned session establishment request message 2 is the same as the version number of the DC APP cached by the second terminal device, and / or the version number of the DC APP carried in the above-mentioned session establishment request 2 message is the same as the version time of the DC APP cached by the second terminal device, the second terminal device determines that the DC APP stored in the second terminal device is compatible. Otherwise, the second terminal device determines that the DC APP stored in the second terminal device is not compatible. Alternatively, if the version number of the DC APP cached by the second terminal device is within the version number range corresponding to the version requirement, and / or the version time of the DC APP cached by the second terminal device is within the version time range corresponding to the version requirement, the second terminal device determines that the DC APP stored in the second terminal device is compatible. Otherwise, the second terminal device determines that the DC APP stored in the second terminal device is not compatible.
[0178] S506: The second terminal device sends a session establishment response 2 to the first network element. The content of the session establishment response 2 depends on the judgment result of step S505.
[0179] Exemplarily, the session establishment response message 2 may be a 180 message, or a 183 message, or a 200 OK message.
[0180] In a first possible implementation, in step S505, the second terminal device determines that the DC APP stored in the second terminal device is compatible. That is, in this case, the second terminal device does not need to download the DC APP from the network side. Therefore, the session establishment response 2 is used to indicate acceptance of the first data channel established by the first terminal device to the second terminal device. Optionally, when the above-mentioned session establishment request 2 also carries media description information of a third data channel, the session establishment response 2 is used to indicate rejection of establishment of the third data channel and acceptance of establishment of the first data channel.
[0181] Illustratively, rejection of the third data channel establishment request can be indicated by setting the port number in line m of the SDP corresponding to the third data channel to zero. Acceptance of the ADC establishment request from UE 1 to UE 2 can be indicated by setting the port number in line m of the ADC media description information in session establishment response message 2 to a non-zero value. Optionally, in a scenario where the ADC and BDC share m lines (or, in other words, merge m lines), rejection of the third data channel establishment request can be indicated by deleting the "a=dcmap" line in the SDP corresponding to the third data channel.
[0182] In this implementation, since the session establishment response 2 indicates that the second terminal device accepts the first data channel established by the first terminal device to the second terminal device, the first network element executes step S510 after step S506. In step S510, the session establishment response 1 sent by the first network element to the first terminal device also indicates acceptance of the establishment of the first data channel.
[0183] Optionally, when the session establishment response 2 also indicates rejection of the establishment of the third data channel, the session establishment response 1 sent by the first network element to the first terminal device in step S510 also indicates rejection of the establishment of the third data channel.
[0184] After receiving the session establishment response 1, the first terminal device continues to execute the ADC negotiation process.
[0185] This implementation can refer to the description of Figure 6. In a second possible implementation, in step S505, the second terminal device determines that the DC APP stored in the second terminal device is not compatible. That is, in this case, the second terminal device needs to download the DC APP from the network side. Therefore, the session establishment response 2 is used to indicate the rejection of the first terminal device to establish the first data channel to the second terminal device. Optionally, when the above-mentioned session establishment request 2 also carries media description information of the third data channel, the session establishment response 2 is used to indicate the acceptance of the establishment of the third data channel, and the rejection of the establishment of the first data channel. Optionally, the session establishment response 2 is also used to indicate the reason for rejecting the establishment of the first data channel. For example, the reason is that the DC APP stored in the second terminal device is not compatible.
[0186] Different from the first possible implementation manner described above, after the first network element receives the session establishment response 2, the method further includes steps S507 to S509.
[0187] Step S507: The first network element sends second information to the second network element.
[0188] In this implementation, since Session Establishment Response 2 indicates that the second terminal device rejects the establishment of the first data channel, the second information sent by the first network element to the second network element in step S507 also indicates rejection of the establishment of the first data channel. Optionally, when Session Establishment Response 2 also indicates acceptance of the establishment of the third data channel, the second information sent by the first network element to the second network element in step S507 also further indicates acceptance of the establishment of the third data channel. Optionally, when Session Establishment Response 2 is also used to indicate the reason for rejecting the establishment of the first data channel, the first network element sends the reason for rejecting the establishment of the first data channel to the second network element in step S507.
[0189] Step S508: The second network element determines to reject the establishment of the first channel.
[0190] That is, although the second network element accepts the establishment of the first data channel in step S502, the second network element will still update to determine to reject the establishment of the first channel because it receives the second information in S507. Optionally, the second network element may accept the establishment of the first data channel the previous time, but receive the above-mentioned second information after interacting with the second terminal device, and learn that the reason for rejecting the first data channel is that the DC APP stored in the second terminal device is incompatible.
[0191] Optionally, when the second information is also used to indicate acceptance of establishment of the third data channel, the second network element may also learn, based on the second information, that the reason for rejecting the first data channel is that the DC APP stored in the second terminal device is incompatible.
[0192] Alternatively, the second network element may also learn that the reason for rejecting the first data channel is that the DC APP stored in the second terminal device is incompatible based on the reason sent in S507 or the reason for rejecting the first data channel is that the DC APP stored in the second terminal device is incompatible.
[0193] Step S509: The second network element sends a data channel establishment instruction 2 to the first network element.
[0194] After step S509, in step S510, the first network element sends a session establishment response 1 to the first terminal device.
[0195] The data channel establishment indication 2 and the session establishment response 1 may be used to indicate the rejection of the establishment of the first channel. Optionally, the second network element may further send a reason for rejecting the establishment of the first data channel to the first network element. The session establishment response 1 may carry the reason for rejecting the establishment of the first data channel.
[0196] Optionally, the second network element may also indicate to the first network element that it accepts the establishment of the second data channel through a data channel establishment indication 2 (or other indication information). Accordingly, the session establishment response 1 may be used to indicate that the establishment of the second data channel is accepted.
[0197] Optionally, the second network element may further indicate to the first network element through data channel establishment indication 2 (or other indication information) that it accepts the establishment of the third data channel.
[0198] After receiving the session establishment response 1, the first terminal device initiates a BDC establishment process. The implementation method can refer to the description of Figure 9.
[0199] In addition, for the first possible implementation, after receiving the session establishment response 2 in S506, the first network element may also execute steps S507 to S509 and then execute S510. Unlike the second possible implementation, the instruction information transmitted in each step corresponds to the content of the session establishment response 2 in S506.
[0200] Therefore, after adopting the solution of the embodiment of the present invention, after receiving the notification from the first terminal device requesting to establish the first data channel (ADC), the second network element can determine whether the version of the DC APP stored in the first terminal device meets the compatibility based on the received information. If the version of the DC APP stored in the first terminal device meets the compatibility, the second network element can instruct the first network element to continue the negotiation process of the first data channel; otherwise, the establishment of the first data channel is rejected.
[0201] In addition, the first terminal device can simultaneously initiate the establishment of the first data channel and the second data channel (BDC) in one process. If the version of the DC APP stored in the first terminal device or the second terminal device of the communication peer is incompatible, the second network element instructs the first network element to establish the second data channel; otherwise, the second network element instructs the first network element to establish the first data channel and rejects the establishment of the second data channel.
[0202] Therefore, when the versions of the DC APP stored in the first terminal device (and) the second terminal device are compatible, the BDC establishment process can be skipped, thereby saving the signaling interaction of the BDC process, saving network resources, and enabling the communication peer to obtain the corresponding service of the DC APP faster, thereby improving the user experience.
[0203] FIG6 is a signaling interaction diagram of a method for establishing a data channel according to an embodiment of the present invention. The data channel establishment process will be described below with reference to FIG6 .
[0204] S601: UE 1 initiates a session establishment request 1, where the session establishment request is used to request establishment of an IMSDC with UE 2.
[0205] In one implementation, the IMSDC session establishment request initiated by UE 1 includes media description information of the ADC and media negotiation information of the BDC. The ADC media description information is used to establish the ADC between UE 1 and UE 2. The BDC media negotiation information is used to establish the BDC from UE 1 to the DCSF. For convenience, this BDC is referred to as the first BDC. The session establishment request also includes identification information and version information of the DC APP. The DC APP version information is used to identify the DC APP version. For a description of the DC APP identification information and DC APP version information, see S501 in Figure 5.
[0206] Exemplarily, the session establishment request may be a Session Initiation Protocol invitation, such as a SIP INVITE message, or a Session Initiation Protocol re-invitation, such as a SIP Re-INVITE message, or a Session Initiation Protocol update request, such as a SIP UPDATE message, which is not limited in this application.
[0207] Exemplarily, the IMSDC session establishment request may be forwarded to the IMS AS via the P-CSCF and / or the S-CSCF.
[0208] S602: The IMS AS sends a session event reporting message to the DCSF.
[0209] Exemplarily, after receiving the IMSDC session establishment request from UE 1, the IMS AS determines that the session establishment request needs to be notified to the DCSF. The IMS AS triggers a session event report and sends a session event report message to the DCSF. The session event report message notifies the DCSF of UE 1's request to establish the first BDC and ADC. The session event report message may include first information. For details on the content of the first information, refer to the first information in S501 of FIG. 5 .
[0210] S603: The DCSF determines to accept the establishment of ADC by UE 1 according to the identifier of the DC APP and the version information of the DC APP.
[0211] For example, the DCSF determines whether to accept the establishment of the ADC according to S502 in Figure 5. In the example of Figure 6, the version of the DC APP stored in UE 1 meets the compatibility, for example, the version of the DC APP stored in UE 1 is the latest version, so the DCSF determines to accept the establishment of the ADC.
[0212] S604: DCSF sends a data channel establishment instruction 1 to the IMS AS.
[0213] In one implementation, the DCSF sends a data channel establishment indication 1 to the IMS AS. The indication information is used to instruct the IMS AS: the DCSF accepts the ADC establishment request of UE 1, or, in other words, instructs the IMS AS to continue the ADC negotiation process. Optionally, the indication information is also used to instruct the DSCF to reject the establishment request of the first BDC. The indication information is also used to instruct the IMS AS to initiate the BDC establishment process between UE 2 and the DCSF. For the convenience of expression, this BDC is referred to as the second BDC. Optionally, the above actions can be indicated by the same indication information, such as the data channel establishment indication 1, or can be indicated by different other indication information.
[0214] For example, the manner in which the DCSF sends the data channel establishment instruction 1 to the IMS AS may refer to the description in step S503 in FIG. 5 .
[0215] S605: The IMS AS sends a session establishment request 2 to UE 2.
[0216] For step S605 , reference may be made to the description of step S504 in FIG. 5 .
[0217] S606: UE 2 determines that the version of the DC APP stored in UE 2 is compatible.
[0218] For example, UE2 may determine whether the version of the DC APP stored in UE2 is compatible according to the method in S505 in Figure 5. In the example of Figure 6, UE2 determines that the version of the DC APP stored in UE2 is compatible.
[0219] It is understandable that when the version of the DC APP stored in UE2 is compatible, UE2 does not need to download the DC APP from the network side.
[0220] S607: UE 2 sends a session establishment response 2 to the IMS AS.
[0221] For step S607, refer to the first possible implementation manner of S506 in FIG5 .
[0222] S608: The IMS AS sends a session establishment response 1 to UE 1. Response 1 indicates that the DCSF accepts the request to establish an ADC between UE 1 and UE 2. Optionally, session establishment response 1 also indicates that the DCSF rejects the request to establish the first BDC. For step S608, refer to the description of S510 in the first possible implementation corresponding to S506 in FIG5 .
[0223] Exemplarily, after receiving the session establishment response 1, UE 1 learns that the network (eg, DCSF) accepts the ADC establishment request from UE 1 to UE 2, and UE 1 may determine that UE 1 may establish the ADC with UE 2.
[0224] Exemplarily, after receiving session establishment response 1, UE 1 learns that the network (e.g., DCSF) accepts the ADC establishment request from UE 1 to UE 2 and rejects the BDC establishment request between UE 1 and DCSF. Then, UE 1 determines that UE 1 can establish ADC with UE 2 and does not perform the BDC establishment process.
[0225] In this embodiment, the ADC between UE 1 and UE 2 can be a P2P type ADC or a P2A2P type ADC. In this implementation, the calling user carries the media description information of both the BDC and the ADC when initiating a session establishment request. The media description information of the ADC carries the identifier of the DC APP and the version information of the DC APP. The network side and the called terminal device can determine whether the calling terminal device can directly perform the ADC establishment process based on the version information of the DC APP. Therefore, in the scenario of Figure 6, the BDC establishment process can be omitted, saving signaling overhead.
[0226] In another implementation, when UE1 initiates session establishment request 1, it may not carry the media negotiation information of the first BDC, or in other words, it may not request to establish the first BDC.
[0227] Accordingly, the session event reporting message in the above step S602 may not carry the media negotiation information of the first BDC;
[0228] In step S604, the data channel establishment indication 1 sent by the DCSF to the IMS AS indicates that the establishment of the first BDC may be rejected without indication;
[0229] In step S605, the session establishment request 2 sent by the IMS AS to the UE 2 may not carry the media negotiation information of the second BDC;
[0230] In step S607, UE 2 may send a session establishment response 2 to the IMS AS without rejecting the BDC between the DCSF and UE 2.
[0231] In step S608 , the IMS AS may send the session establishment response 1 to the UE 1 without rejecting the BDC (or the first BDC) establishment request between the DCSF and the UE 1 .
[0232] In another scenario, the calling terminal device needs to establish a P2A type ADC, that is, the endpoint of the ADC is anchored to the data channel server (further, the data channel media function). Figure 7 shows the signaling interaction in this scenario. Figure 7 will be described in conjunction with Figure 6.
[0233] S701 - S703 refer to steps S601 - S603 in FIG. 6 .
[0234] The session establishment request in Figure 7 refers to the session establishment request 1 in Figure 6. Unlike Figure 6, this ADC is a P2A type ADC, that is, the endpoint of the ADC is anchored to the data channel application media function, and the corresponding ADC media negotiation information will not be sent to UE2.
[0235] S704: DCSF sends a data channel establishment instruction 1 to the IMS AS.
[0236] In one implementation, the DCSF sends a data channel establishment instruction 1 to the IMS AS, instructing the IMS AS to reject UE 1's request to establish the first BDC. This instruction also instructs the IMS AS to continue establishing the ADC between UE 1 and the data channel media function. In other words, compared to S604 in Figure 6 , this step does not require a request to establish a BDC between UE 2 and the DCSF.
[0237] Exemplarily, the manner in which the DCSF sends the data channel establishment instruction to the IMS AS may refer to the description in step S503 in FIG. 5 .
[0238] S705 : The IMS AS sends a session establishment response to UE 1 .
[0239] In one implementation, the session establishment response is used to instruct the DCSF to accept the establishment request of the ADC of UE 1. Optionally, the session establishment response is also used to indicate the rejection of the establishment request of the first BDC. Exemplarily, the rejection of the establishment request of the first BDC can be indicated by setting the port number in the mth line of the SDP corresponding to the first BDC to zero. The acceptance of the ADC establishment request of UE 1 can be indicated by the port number in the mth line of the ADC media description information in the session establishment response message being a non-zero value. Optionally, in a scenario where the ADC and BDC share m lines (or m lines are merged), the "a=dcmap" line of the SDP corresponding to the first BDC can be deleted when rejecting the establishment request of the first BDC.
[0240] Optionally, if the session establishment request in S701 carries media description information for establishing an audio or video channel with UE 2, the IMS AS sends a session establishment request to UE 2 after S704, where the session establishment request carries the media description information for the audio or video channel. After receiving the session establishment response from UE 2, the IMS AS executes S705, where it sends a session establishment response to UE 1.
[0241] In another implementation, the first terminal device may not carry the media negotiation information of the first BDC when initiating a session establishment request, or in other words, may not request to establish the first BDC.
[0242] Accordingly, the session event reporting message in the above S702 may not carry the media negotiation information of the first BDC;
[0243] The data channel establishment instruction sent by the DCSF to the IMS AS in step S704 may not indicate rejection of the establishment of the first BDC between UE 1 and DCSF;
[0244] The session establishment response sent by the IMS AS to UE 1 in step S705 may not indicate rejection of establishing the first BDC between UE 1 and DCSF.
[0245] In this implementation, the calling terminal device carries the DC App version information when initiating a session establishment request. Based on this DC App version information, the network can determine whether the calling terminal device needs to download the DC App from the network. If the calling terminal device does not need to download the App from the network, it can directly proceed with the ADC establishment process, omitting the BDC establishment process and saving signaling overhead.
[0246] FIG8 is a signaling interaction diagram of another method for establishing a data channel according to an embodiment of the present invention. FIG8 is combined with FIG6 to describe the data channel establishment process.
[0247] S801-S802, see S601-S602 in Figure 6.
[0248] S803: The DCSF determines to reject UE 1 from establishing ADC according to the DC APP identifier and the DC APP version information.
[0249] For example, the DCSF determines whether to accept the establishment of the ADC according to S502 in Figure 5. In the example of Figure 8, the version of the DC APP stored in UE 1 does not meet the compatibility requirements, for example, the version of the DC APP stored in UE 1 is not the latest version, so the DCSF determines to reject the establishment of the ADC.
[0250] S804: DCSF sends a data channel establishment instruction to the IMS AS.
[0251] In one implementation, the DCSF sends a data channel establishment indication to the IMS AS. The indication information is used to instruct the IMS AS that the DCSF has rejected the ADC establishment request of UE 1, or in other words, to instruct the IMS AS to terminate the ADC negotiation process. Optionally, the indication information is also used to instruct the DSCF to accept the establishment request of the first BDC. The indication information is also used to instruct the IMS AS to initiate the BDC establishment process between UE 2 and the DCSF. For the convenience of expression, the BDC is referred to as the second BDC. Optionally, the above actions can be indicated by the same indication information, such as a data channel establishment indication, or can be indicated by different other indication information.
[0252] Optionally, the data channel establishment indication may further indicate the reason why the DCSF rejects the ADC establishment request of UE 1. The reason indicates that the DCSF rejects the ADC establishment request of UE 1 because UE 1 does not cache a DC APP that meets the version requirement, or in other words, UE 1 does not cache a DC APP that meets the version compatibility.
[0253] Exemplarily, the data channel establishment instruction can be indicated via a media instruction element (Media instruction) in a media control-media instruction message. For example, rejecting the ADC establishment request can be indicated by the media instruction corresponding to the ADC, Media instruction = "RejectMedia," where "RejectMedia" indicates that the data channel establishment request is rejected. Accepting the establishment of the first BDC can be indicated by the media instruction corresponding to the media, Media instruction = "TerminateMedia."
[0254] The request to establish the second BDC may be initiated by indicating a media identifier media ID=NULL, and the media instruction corresponding to the media ID may be Media instruction="OriginateMedia".
[0255] S805 : The IMS AS sends a session establishment request 2 to UE 2 .
[0256] In one implementation, the IMS AS sends a session establishment request 2 to UE 2, requesting UE 2 to establish a BDC with the DCSF, where the BDC is the second BDC. The session establishment request 2 includes media description information of the second BDC.
[0257] Exemplarily, the session establishment request 2 may be a SIP INVITE message that carries the media description information of the ADC and the media description information for establishing the BDC correspondence between the UE 2 and the DCSF. The session establishment request 2 may also be a SIP re-INVITE message or an UPDATE message.
[0258] S806: UE 2 sends a session establishment response 2 to the IMS AS.
[0259] In one implementation, UE 2 sends a session establishment response 2 to the IMS AS. Session establishment response 2 carries media description information established by UE 2 regarding the second BDC.
[0260] Exemplarily, the session establishment response 2 may be a 180 message, a 183 message, or a 200 OK message.
[0261] Among them, S805 and S806 are optional steps.
[0262] S807 : The IMS AS sends a session establishment response 1 to UE 1 .
[0263] In one implementation, after receiving session establishment response 2 from UE 2, the IMS AS sends session establishment response 1 to UE 1, where the session establishment response 1 is used to instruct the DCSF to reject the ADC establishment request from UE 1. Optionally, the session establishment response 1 is also used to instruct the DCSF to accept the establishment request of the first BDC.
[0264] Illustratively, rejecting the ADC's establishment request can be indicated by setting the port number in line m of the SDP corresponding to the ADC to zero. Accepting the first BDC's establishment request can be indicated by setting the port number in line m of the BDC media description information in session establishment response message 1 to a non-zero value. Optionally, in a scenario where the ADC and BDC share line m (or, in other words, merge the m lines), rejecting the ADC's establishment request can be indicated by deleting the "a=dcmap" line in the SDP corresponding to the ADC.
[0265] Exemplarily, the session establishment response information may be a 180, 183, or 200 OK message.
[0266] S808: UE 1 and UE 2 each complete the establishment of a BDC.
[0267] Exemplarily, UE 1 receives session establishment response 1 to trigger the BDC establishment process.
[0268] In this step, UE1 and UE2 respectively complete the establishment of BDC with DCSF. It should be noted that this application does not limit the specific process of UE1 or UE2 establishing BDC with DCSF. For example, UE1 and UE2 can establish BDC with reference to the process of Figure 4(a).
[0269] S809, UE 1 and UE 2 complete the DC APP download.
[0270] Exemplarily, UE 1 automatically triggers the DC APP download process after BDC establishment is complete. For example, after receiving an indication that BDC establishment is complete, UE 1 sends an HTTP Get request to DCSF via BDC, requesting the download of the DC APP. Alternatively, DCSF proactively pushes the DC APP to UE 1 after UE 1's BDC establishment is complete. For example, after receiving an indication that BDC establishment is complete from UE 1, DCSF pushes the DC APP to UE1 or UE2 via their respective BDCs. UE 2 uses a similar process to download the DC APP.
[0271] S810: UE 1 initiates an IMSDC session establishment request, where the session establishment request is used to request establishment of an ADC between UE 1 and UE 2. Exemplarily, the session establishment request carries media description information of the ADC.
[0272] This embodiment can be applied to scenarios where the calling terminal device does not have a DC app cached that meets the version requirements and needs to download it from the network. The calling terminal device establishes an ADC with the called terminal device. This ADC can be a P2P, P2A2P, or P2A type ADC. Similarly, the network can determine whether the calling terminal device needs to download the DC app from the network based on the DC app version information. This avoids repeated establishment of a BDC and repeated downloading of the DC app.
[0273] In another implementation, the first terminal device may not carry the media negotiation information of the first BDC when initiating a session establishment request, or in other words, may not request to establish the first BDC.
[0274] Accordingly, the session event reporting message in the above step S802 may not carry the media negotiation information of the first BDC;
[0275] The data channel establishment instruction 1 sent by the DCSF to the IMS AS in step S804 may not instruct the DCSF to accept the establishment of the first BDC, nor may it initiate the process of establishing the second BDC.
[0276] In this embodiment, if the first message does not carry audio and video media information for the second terminal, S805 and S806 in Figure 8 do not need to be executed, and S807 and subsequent steps are executed directly after S804. If the first message carries audio and video media information for UE2, S805 and S806 are executed, but the media of the second BDC is not carried.
[0277] In step S807, the session establishment response 1 sent by the IMS AS to the UE 1 may not carry the indication information that the DCSF accepts the establishment request of the first BDC.
[0278] FIG9 is a signaling interaction diagram of a method for establishing a data channel according to an embodiment of the present invention. FIG9 is combined with FIG6 to describe the data channel establishment process. FIG9 is a signaling interaction diagram of a method for establishing a data channel according to an embodiment of the present invention. FIG6 is a signaling interaction diagram of a method for establishing a data channel according to an embodiment of the present invention.
[0279] S901-S903, see S601-S603 in Figure 6.
[0280] S904: DCSF sends a data channel establishment instruction 1 to the IMS AS.
[0281] In one implementation, the DCSF instructs the IMS AS via Data Channel Establishment Indication 1 to accept the establishment of the ADC, or, understandably, to notify the IMS AS to continue the negotiation process for establishing the ADC. For example, the DCSF sends the IMS AS ADC description information to instruct the DCSF to accept the establishment of the ADC, or to instruct the IMS AS to continue the negotiation process for establishing the ADC. Optionally, the second network element further indicates, via Data Channel Establishment Indication 1 (or another indication message), to reject the establishment of the BDC.
[0282] Optionally, when the ADC type is P2P or P2A2P, the second network element may further instruct, through data channel establishment indication 1 (or another indication information), to initiate establishment of a BDC for UE 2. For example, the BDC for UE 2 (which may be referred to as a second BDC) may be the BDC between the call originating network and UE 2. Optionally, the BDC may also include a BDC between the call terminating network and UE 2.
[0283] Exemplarily, the above indication information may be carried in a media control-media indication message, for example, a Nimsas_MediaControl_MediaInstruction message.
[0284] For example, the manner in which the DCSF sends the data channel establishment instruction 1 to the IMS AS may refer to the description in step S503 in FIG. 5 .
[0285] S905: The IMS AS sends a session establishment request 2 to UE 2.
[0286] For step S905 , reference may be made to the description of step S504 in FIG. 5 .
[0287] S906: UE 2 determines that the version of the DC APP stored therein is not compatible.
[0288] For example, UE2 may determine whether the version of the DC APP stored in UE2 is compatible according to the method in S505 in Figure 5. In the example of Figure 9, UE2 determines that the version of the DC APP stored in UE2 is not compatible.
[0289] It is understandable that when the version of the DC APP stored in UE2 is not compatible, UE2 needs to download the DC APP from the network side.
[0290] S907: UE 2 sends a session establishment response 2 to the IMS AS.
[0291] Step S907 refers to the second possible implementation in S506 in Figure 5. In this implementation, UE 2 rejects UE 1's request to establish an ADC and accepts UE 2's request to establish a BDC, which may be referred to as a second BDC.
[0292] For example, rejection of the ADC establishment request can be indicated by setting the port number in line m of the SDP corresponding to the ADC to zero. Acceptance of the second DC establishment request can be indicated by setting the port number in line m of the BDC media description information in session establishment response message 2 to a non-zero value. Optionally, in a scenario where the ADC and BDC share m lines (or, in other words, merge m lines), rejection of the ADC establishment request can be indicated by deleting the "a=dcmap" line in the SDP corresponding to the ADC.
[0293] Exemplarily, the response message may be a 180 message, or a 183 message, or a 200 OK message.
[0294] S908: After receiving the session establishment response from UE 2, the IMS AS triggers session event reporting 2.
[0295] In one implementation, session event report 2 includes indication information, which indicates that UE 2 rejects UE 1's request to establish an ADC. Optionally, the indication information also indicates that UE 2 accepts UE 2's request to establish a BDC. The above two events can be indicated by the same indication information or by different indication information.
[0296] Optionally, session event report 2 may further indicate that the reason for UE 2 rejecting UE 1's ADC establishment request is that the DC APP cached by UE 2 does not meet the version requirement, or does not meet the version compatibility.
[0297] S909: The DCSF determines to reject UE 1 from establishing an ADC according to the instruction information reported by the IMS AS.
[0298] The DCSF receives Session Event Report 2 in S908, which indicates that UE 2 rejects the ADC establishment request and also accepts the establishment of the second BDC. Based on this event, the DCSF determines that UE 2 rejects the ADC establishment request because the DC APP stored in UE 2 is version incompatible. Optionally, the DCSF can make this determination based on the reason why UE 2 rejects the ADC establishment request.
[0299] For example, the DCSF determines, based on the UE 2's refusal to establish the ADC and the reason for the refusal to establish the ADC, that the UE 2 rejects the ADC establishment request because the DC APP stored in the UE 2 does not have version compatibility.
[0300] For example, the DCSF determines, based on the reason for rejecting the ADC establishment, that the UE 2 rejects the ADC establishment request because the DC APP stored in the UE 2 does not have version compatibility.
[0301] S910: DCSF sends a channel establishment instruction 2 to the IMS AS.
[0302] In one implementation, the DCSF sends a channel establishment instruction 2 to the IMS AS. Channel establishment instruction 2 is used to instruct the DCSF to reject the request to establish an ADC for UE 1. Optionally, channel establishment instruction 2 is used to instruct the DCSF to accept the request to establish the first BDC. Optionally, channel establishment instruction 2 also indicates the reason for the DCSF's rejection of the request to establish an ADC for UE 1. For example, the reason may be notified to the DCSF by the IMS AS in S908.
[0303] The channel establishment indication 2 is also used to indicate acceptance of the BDC establishment request of UE 2, or in other words, the second BDC establishment request.
[0304] Exemplarily, the above indication information may be carried in a media control-media indication message, for example, a Nimsas_MediaControl_MediaInstruction message.
[0305] Exemplarily, the above-mentioned indication information may be indicated by a media instruction element (Media instruction) in a media control-media indication message. For example, the acceptance of UE 1's BDC (or first BDC) establishment request may be indicated by the media instruction corresponding to the media negotiation for establishing the BDC, Media instruction="TerminateMedia". The rejection of the ADC establishment request may be indicated by the media instruction corresponding to the media, Media instruction="RejectMedia". The acceptance of the DCSF's BDC (or second BDC) establishment request to UE 2 may be indicated by the media instruction corresponding to the media, Media instruction="TerminateMedia".
[0306] S911 , the IMS AS sends a session establishment response 1 to UE 1 .
[0307] In one implementation, the session establishment response 1 is used to instruct the DCSF to accept the BDC establishment request from UE 1 to the DCSF, and to reject the ADC establishment request from UE 1 to UE 2.
[0308] Optionally, the session establishment response 1 may also be used to indicate the reason for rejecting the ADC establishment request of the UE 1 .
[0309] For example, acceptance of the DCSF's request to establish a BDC from UE 1 can be indicated by a non-zero port number in line m of the SDP corresponding to the first BDC. Rejection of the ADC establishment request from UE 1 to UE 2 can be indicated by setting the port number in line m of the ADC media negotiation information in the response message to zero. The aforementioned reason can be carried in line a or line m of the SDP corresponding to the ADC. For specific implementation methods, please refer to Tables 1 and 2.
[0310] Exemplarily, the response message may be a 180 message, or a 183 message, or a 200 OK message.
[0311] S912, UE 1 determines to initiate a BDC establishment request.
[0312] For example, UE 1 rejects the ADC establishment request from UE 1 to UE 2 based on the network side, and accepts the BDC establishment request from UE 1 to the DCSF, and determines that the ADC establishment request was rejected because UE 2 does not cache a DC APP that meets the version requirements, rather than for other reasons (for example, UE 2 does not support DC or has not subscribed to the DC service). In this case, UE 1 can continue to initiate the process of establishing the data channel.
[0313] Alternatively, UE 1 may also determine, based on the reason why the network side rejects the ADC establishment request from UE 1 to UE 2, that the ADC establishment request is rejected because UE 2 does not cache a DC APP that meets the version requirement.
[0314] S913, UE 1 initiates a DC session establishment request.
[0315] UE 1 and UE 2 complete the establishment of BDC to DCSF. It should be noted that the present invention does not limit the method for UE 1 and UE 2 to complete the establishment of BDC between DCSF. For example, UE 1 and UE 2 can establish BDC according to the process in Figure 4 (a).
[0316] S914, UE 2 downloads the DC APP that meets the version compatibility.
[0317] In one implementation, UE 2 determines, based on the media negotiation information carried in S905, for example, based on the App identifier and the version information of the DC App, that the DC App cached by UE 2 does not meet the version requirement and needs to download the DC App. After the second BDC is established, UE 2 can automatically trigger the app download process, for example, by sending an HTTP Get request to the DCSF through the second BDC. Alternatively, after the second BDC is successfully established, the DCSF proactively pushes the DC App that meets version compatibility.
[0318] It should be noted that this step is optional.
[0319] S915, UE 1 initiates an ADC establishment process to UE 2.
[0320] It should be noted that the present application does not limit the process of establishing an ADC between UE 1 and UE 2. For example, UE 1 and UE 2 may establish an ADC according to the process in FIG4(b), FIG4(c), or FIG4(d).
[0321] In another implementation, when UE 1 initiates a session establishment request, it may not carry the media negotiation information of the first BDC, or in other words, it may not request to establish the first BDC.
[0322] Accordingly, the session establishment request 1 in step S901 and the session event reporting message in step S902 may not carry the media negotiation information of the first BDC.
[0323] In step S904 , the data channel establishment instruction 1 sent by the DCSF to the IMS AS indicates that it is not necessary to indicate that the establishment of the first BDC is rejected. The data channel establishment instruction 1 may also indicate that the BDC establishment procedure of the UE 2 does not need to be initiated.
[0324] The session establishment request 2 sent by the IMS AS to UE 2 in step S905 may not carry the media negotiation information established by UE 2's BDC.
[0325] In step S907 , the session establishment response 2 does not need to instruct UE 2 to accept the BDC establishment request between DCSF and UE 2 .
[0326] In step S908 , the session event report 2 does not need to instruct the UE 2 to accept the BDC establishment request between the DCSF and the UE 2 .
[0327] In step S909 , the DCSF does not need to determine to reject UE 1 from establishing ADC based on UE 2 accepting the BDC establishment request between the DCSF and UE 2 .
[0328] The channel establishment instruction 2 in step S910 is not used to instruct the DCSF to accept the BDC establishment request of UE 1.
[0329] The session establishment response 1 in step S911 is not used to instruct the DCSF to accept the BDC establishment request of UE 1.
[0330] This embodiment can be applied to scenarios where the called terminal device does not have a cached DC app that meets the version requirements and needs to be downloaded from the network. The calling terminal device establishes an ADC with the called terminal device. This ADC can be a P2P, P2A2P, or P2A type ADC. Similarly, the network and the called terminal device can determine whether the terminal device needs to download the DC app from the network based on the DC app version information. This avoids repeated establishment of a BDC and repeated downloading of the DC app.
[0331] Figures 10 and 11 are schematic diagrams of possible communication devices provided in embodiments of the present application. These communication devices can be used to implement the functions of the terminal device, data channel application server, or IMS AS in the above-mentioned method embodiments, thereby also achieving the beneficial effects of the above-mentioned method embodiments. In embodiments of the present application, the communication device can be the above-mentioned device or a module (such as a chip) in the above-mentioned device.
[0332] As shown in Figure 10, a communication device 1000 includes a processing unit 1010 and a transceiver unit 1020. The communication device 1000 is used to implement the functions of a terminal device, an IMS AS, or a data channel application server in the method embodiments shown in any of Figures 5, 6, 7, 8, or 9.
[0333] When the communication device 1000 is used to implement the function of the data channel application server in the method embodiment shown in the above figure:
[0334] The transceiver unit 1020 is used to receive first information from the first network element, where the first information is used to notify the first terminal device to request to establish a first data channel, where the first data channel is used to transmit data of the data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; the processing unit 1010 is used to determine whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0335] When the communication device 1000 is used to implement the functions of the terminal device in the method embodiment shown in the above figures:
[0336] The transceiver unit 1020 is used to receive first information, where the first information is used to notify the first terminal device to request to establish a first data channel, where the first data channel is used to transmit data of the data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; the processing unit 1010 is used to determine whether to accept the establishment of the first data channel by the first terminal device based on the identifier of the data channel application and the version information of the data channel application.
[0337] A more detailed description of the processing unit 1010 and the transceiver unit 1020 can be directly obtained by referring to the relevant description in the method embodiment shown in the above drawings, and is not repeated here.
[0338] As shown in Figure 11, communication device 1100 includes a processor 1110 and an interface circuit 1120. Processor 1110 and interface circuit 1120 are coupled to each other. It will be appreciated that interface circuit 1120 may be a transceiver or an input / output interface. Optionally, communication device 1100 may further include a memory 1130 for storing instructions executed by processor 1110, input data required by processor 1110 to execute instructions, or data generated by processor 1110 after executing instructions.
[0339] When the communication device 1100 is used to implement the method shown in the above figures, the processor 1110 is used to implement the functions of the above processing unit 1110 , and the interface circuit 1120 is used to implement the functions of the above transceiver unit 1120 .
[0340] When the communication device is a chip implemented in the device, the chip implements the functions of the corresponding device in the method embodiment. The chip receives information from other modules in the device (such as a radio frequency module or antenna), where the information is sent to the device by other modules; or the chip sends information to other modules in the device (such as a radio frequency module or antenna).
[0341] When the above-mentioned communication device is a module applied to a mobile node, the module implements the functions of the mobile node in the above-mentioned method embodiment. The module receives information from other modules (such as a radio frequency module or antenna), and the information is sent by the terminal to the device; or the module sends information to other modules in the device (such as a radio frequency module or antenna), and the information is sent by the device to the terminal. The module here can be the baseband chip of the device, or it can be a DU or other module. The DU here can be a DU under the open radio access network (O-RAN) architecture.
[0342] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0343] This application provides another example of a communication device, which includes at least one processor and at least one memory, the at least one processor and the at least one memory being coupled together, the at least one memory being used to store instructions. When the instructions are executed by the at least one processor, the communication device performs the method in the above-described embodiment. Taking a communication device including a processor and a memory as an example, as shown in FIG11 , a communication device 1100 includes a processor 1110 and a memory 1130. The processor 1110 and the memory 1130 are coupled together, and the memory 1130 stores instructions. When the instructions stored in the memory 1130 are executed by the processor 1110, the communication device 1100 performs the method performed by the terminal device or network device in the above-described embodiment.
[0344] It should be understood that the processor 1110 and the memory 1130 may also be integrated together, such as in one chip.
[0345] The method steps in the embodiments of the present application can be implemented in hardware or in software instructions that can be executed by a processor. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. The storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a network device or a terminal. The processor and storage medium can also exist in a network device or a terminal as discrete components.
[0346] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are performed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; an optical medium, such as a digital video disk; or a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.
[0347] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0348] In this application, "at least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In the text description of this application, the character " / " generally indicates that the previous and next associated objects are in an "or" relationship; in the formula of this application, the character " / " indicates that the previous and next associated objects are in a "division" relationship. "Including at least one of A, B and C" can mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B and C.
[0349] It is understood that the various numbers used in the embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.
Claims
1. A method for establishing a data channel, characterized in that: The method comprises: receiving first information, where the first information is used to notify a first terminal device of a request to establish a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; Determine whether to accept the establishment of the first data channel by the first terminal device according to the identifier of the data channel application and the version information of the data channel application.
2. The method according to claim 1, characterized in that The version information of the data channel application includes at least one of the following: The version number of the data channel application; The time information corresponding to the version of the data channel application.
3. The method according to claim 1 or 2, characterized in that The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application meets the version requirement, it is determined to accept the establishment of the first data channel by the first terminal device.
4. The method according to claim 3, characterized in that The version information of the data channel application meeting the version requirement includes: The version of the data channel application cached by the first terminal device is the latest version.
5. The method according to claim 3 or 4, characterized in that The method further comprises: Instruct the first network element to continue establishing the first data channel.
6. The method according to any one of claims 3 to 5, characterized in that: The first information is further used to notify a request to establish a second data channel, where the second data channel is used by the first terminal device to obtain the data channel application that meets the version requirement.
7. The method according to any one of claims 3 to 6, characterized in that: The method further comprises: Instruct the first network element to refuse to establish the second data channel.
8. The method according to any one of claims 3 to 5, characterized in that: The method further comprises: Receive second information from the first network element, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
9. The method according to claim 8, characterized in that The second information is further used to notify the second terminal device that no data channel application meeting the version requirement is cached.
10. The method according to claim 8 or 9, characterized in that The method further comprises: Instruct the first network element to refuse to establish the first data channel.
11. The method according to any one of claims 3 to 10, characterized in that: The method further comprises: Instruct the first network element to request the second terminal device to establish a third data channel, and the third data channel is used for the second terminal device to obtain a data channel application that meets the version requirements.
12. The method according to any one of claims 3 to 11, characterized in that: The method further comprises: Receive second information from the first network element, where the second information is used to notify the second terminal device to accept the establishment of the third data channel.
13. The method according to claim 11 or 12, characterized in that The method further comprises: Instruct the first network element to accept the establishment of the third data channel.
14. The method according to claim 1 or 2, characterized in that The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application does not meet the version requirement, it is determined to reject the first terminal device from establishing the first data channel.
15. The method according to claim 14, characterized in that The version information of the data channel application does not meet the version requirement, including: The version of the data channel application cached by the first terminal device does not meet the version requirement.
16. The method according to claim 15, characterized in that The version information of the data channel application does not meet the version requirement, including: The version of the data channel application cached by the first terminal device is not the latest version.
17. The method according to any one of claims 14 to 16, characterized in that: The method further comprises: Sending second information to the first network element, where the second information is used to notify the rejection of establishing the first data channel.
18. The method according to claim 17, characterized in that The second information is further used to notify the first terminal device that no data channel application meeting the version requirement is cached.
19. The method according to any one of claims 14 to 17, characterized in that: The first information is also used to notify a request to establish a second data channel; The method further comprises: Instruct the first network element to accept the establishment of the second data channel.
20. A session establishment method, applied to a communication device, characterized in that: The method comprises: receiving first information, where the first information is used to notify a first terminal device of a request to establish a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; Determine whether to accept the establishment of the first data channel by the first terminal device according to the identifier of the data channel application and the version information of the data channel application.
21. The method according to claim 20, characterized in that The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application does not meet the version requirement, it is determined to reject the first terminal device from establishing the first data channel.
22. The method according to claim 21, characterized in that The method further comprises: Sending second information to the first network element, where the second information is used to notify the communication device to refuse to establish the first data channel.
23. The method according to claim 22, characterized in that The second information is further used to notify the communication device that the cached data channel application does not meet the version requirement.
24. The method according to any one of claims 21 to 23, characterized in that: The first information is further used to notify a request to establish a second data channel, where the second data channel is used by the communication device to obtain the data channel application that meets the version requirement, and the second information is further used to notify the communication device to accept the establishment of the second data channel.
25. The method according to claim 20, wherein The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application meets the version requirement, it is determined to accept the establishment of the first data channel by the first terminal device.
26. The method according to claim 25, characterized in that The method further comprises: Sending second information to the first network element, where the second information is used to notify the communication device to accept the establishment of the first data channel.
27. The method according to claim 25 or 26, characterized in that The first information is further used to notify a request to establish a second data channel, where the second data channel is used by the communication device to obtain the data channel application that meets the version requirement; The method further comprises: Instruct the first network element to reject the communication device from establishing the second data channel.
28. A method for establishing a data channel, characterized in that: The method comprises: receiving first information, where the first information is used to notify a first terminal device of a request to establish a first data channel, where the first data channel is used to transmit data of a data channel application, and the first information includes an identifier of the data channel application and version information of the data channel application; Determine whether to accept the establishment of the first data channel by the first terminal device according to the identifier of the data channel application and the version information of the data channel application.
29. The method according to claim 28, characterized in that The version information of the data channel application includes at least one of the following: The version number of the data channel application; The time information corresponding to the version of the data channel application.
30. The method according to claim 29 or 30, characterized in that The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application meets the version requirement, it is determined to accept the establishment of the first data channel by the first terminal device.
31. The method according to claim 30, wherein The version information of the data channel application meeting the version requirement includes: The version of the data channel application cached by the first terminal device is the latest version.
32. The method according to claim 30 or 31, characterized in that The method further comprises: Instruct the first network element to continue establishing the first data channel.
33. The method according to any one of claims 30 to 32, characterized in that: The first information is further used to notify a request to establish a second data channel, where the second data channel is used by the first terminal device to obtain the data channel application that meets the version requirement.
34. The method according to any one of claims 30 to 33, characterized in that: The method further comprises: Instruct the first network element to accept the establishment of the second data channel.
35. The method according to any one of claims 30 to 32, characterized in that: The method further comprises: Receive second information from the first network element, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
36. The method according to claim 35, characterized in that The second information is further used to notify the second terminal device that no data channel application meeting the version requirement is cached.
37. The method according to claim 35 or 36, characterized in that The method further comprises: Instruct the first network element to refuse to establish the first data channel.
38. The method according to any one of claims 30 to 37, characterized in that: The method further comprises: Instruct the first network element to request the second terminal device to establish a third data channel, and the third data channel is used for the second terminal device to obtain a data channel application that meets the version requirements.
39. The method according to any one of claims 30 to 38, characterized in that: The method further comprises: Receive second information from the first network element, where the second information is used to notify the second terminal device to accept the establishment of the third data channel.
40. The method according to claim 38 or 39, characterized in that The method further comprises: Instruct the first network element to accept the establishment of the third data channel.
41. The method according to claim 38 or 39, characterized in that The determining, according to the identifier of the data channel application and the version information of the data channel application, whether to accept the establishment of the first data channel by the first terminal device includes: When the version information of the data channel application does not meet the version requirement, it is determined to reject the first terminal device from establishing the first data channel.
42. The method according to claim 41, wherein The version information of the data channel application does not meet the version requirement, including: The version of the data channel application cached by the first terminal device does not meet the version requirement.
43. The method according to claim 42, characterized in that The version information of the data channel application does not meet the version requirement, including: The version of the data channel application cached by the first terminal device is not the latest version.
44. The method according to any one of claims 41 to 43, characterized in that The method further comprises: Sending second information to the first network element, where the second information is used to notify the second terminal device to refuse to establish the first data channel.
45. The method according to claim 44, wherein The second information is further used to notify the first terminal device that no data channel application meeting the version requirement is cached.
46. The method according to any one of claims 41 to 44, characterized in that The first information is also used to notify a request to establish a second data channel; The method further comprises: Instruct the first network element to accept the establishment of the second data channel.
47. A communication system, characterized in that It comprises a terminal device and a data channel server DCS, the data channel server DCS is used to implement the method according to any one of claims 1-19 or to implement the method according to any one of claims 28-46, and the terminal device is used to implement the method according to any one of claims 20-27.
48. A communication device, characterized in that The method comprises a unit or module for executing the method according to any one of claims 1 to 19, or comprises a unit or module for executing the method according to any one of claims 20 to 27, or implements a unit or module for implementing the method according to any one of claims 28 to 46.
49. A readable storage medium, characterized in that The readable storage medium stores a program, and when the program is executed by the communication device, it implements the method according to any one of claims 1 to 19, or implements the method according to any one of claims 20 to 27, or is used to implement the method according to any one of claims 28 to 46.
50. A chip system, characterized in that: include: a memory for storing computer programs; a processor; When the processor calls and runs the computer program from the memory, the communication device equipped with the chip system executes the method as described in any one of claims 1 to 19, or executes the method as described in any one of claims 20 to 27, or is used to implement the method as described in any one of claims 28 to 46.
51. A computer program product, characterized in that The computer program product includes instructions, which, when executed on a processor, cause the processor to execute the method according to any one of claims 1 to 19, or execute the method according to any one of claims 20 to 27, or implement the method according to any one of claims 28 to 46.
Citation Information
Patent Citations
Communication method and device, terminal, network side equipment and medium
CN117062083A
TRANSMISSION OF PAGING SUPPORT INFORMATION FOR CALLER IDENTIFICATION (CID) NOTIFICATION
DE102020129306A1
Information processing method and apparatus, and communication device and storage medium
WO2023185854A1