Data channel establishment method, first terminal and second terminal
Patent Information
- Application Number
- CN202211100028.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-07
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-09-07
AI Technical Summary
[0005]本申请实施例提供一种数据通道建立方法、第一终端及第二终端,能够解决如何建立application DC的问题
[0028]在本申请实施例中,第一终端接收到来自第二终端的用于请求建立DC的第一消息之后,第一终端基于第一消息向第二终端发送用于指示第一终端接受建立DC的第一响应消息,从而完成DC建立,或者第一终端基于第一消息向第二终端发送用于指示第一终端拒绝建立DC的第二响应消息,使得第二终端停止建立DC。
Smart Images

Figure CN117715234B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, specifically relating to a data channel establishment method, a first terminal, and a second terminal. Background Technology
[0002] The 3GPP standard introduces a mechanism for establishing a Data Channel (DC) during a call. Through the DC, additional services can be performed during the call, such as screen sharing, location sharing, and file transfer, thus providing a better user experience. Different services correspond to different DC applications (APPs), which can be dynamically downloaded to the terminal during the call without requiring prior installation by the UE, making it convenient for users.
[0003] In related technologies, if two communicating parties want to enable a certain APP, they need to download the APP and establish a corresponding application DC for the APP. Usually, each APP needs to establish its own corresponding application DC.
[0004] When a user equipment (UE) selects to use an application and initiates the application DC establishment process, another UE needs to accept and complete the application DC establishment. However, how to establish an application DC is a technical problem that urgently needs to be solved. Summary of the Invention
[0005] This application provides a data channel establishment method, a first terminal, and a second terminal, which can solve the problem of how to establish an application DC.
[0006] Firstly, a method for establishing a data channel is provided, the method comprising:
[0007] The first terminal receives a first message from the second terminal; the first message is used to request the establishment of a data channel DC, the DC corresponding to the target application.
[0008] The first terminal sends a first response message to the second terminal based on the first message, the first response message being used to instruct the first terminal to accept the establishment of the DC;
[0009] Alternatively, the first terminal may send a second response message to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC.
[0010] Secondly, a method for establishing a data channel is provided, the method comprising:
[0011] The second terminal sends a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application.
[0012] The second terminal receives a first response message from the first terminal, and the second terminal determines, based on the first response message, that the first terminal accepts the establishment of the DC; or, the second terminal receives a second response message from the first terminal, and the second terminal determines, based on the second response message, that the first terminal refuses to establish the DC.
[0013] Thirdly, a data channel establishment apparatus is provided, the apparatus comprising:
[0014] A first receiving module is used to receive a first message from a second terminal; the first message is used to request the establishment of a data channel DC, the DC corresponding to a target application.
[0015] A first sending module is configured to send a first response message to the second terminal based on the first message, wherein the first response message is configured to instruct the first terminal to accept the establishment of the DC;
[0016] Alternatively, a second response message may be sent to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC.
[0017] Fourthly, a data channel establishment apparatus is provided, the apparatus comprising:
[0018] The second sending module is used to send a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application.
[0019] The second receiving module is configured to receive a first response message from the first terminal and determine, based on the first response message, that the first terminal accepts the establishment of the DC; or, to receive a second response message from the first terminal and determine, based on the second response message, that the first terminal refuses to establish the DC.
[0020] Fifthly, a first terminal is provided, the first terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.
[0021] In a sixth aspect, a first terminal is provided, including a processor and a communication interface, wherein the communication interface is used to receive a first message from a second terminal; the first message is used to request the establishment of a data channel DC, the DC corresponding to a target application; a first response message is sent to the second terminal based on the first message, the first response message being used to instruct the first terminal to accept the establishment of the DC; or, a second response message is sent to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC.
[0022] In a seventh aspect, a second terminal is provided, the second terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the second aspect.
[0023] Eighthly, a second terminal is provided, including a processor and a communication interface, wherein the communication interface is configured to send a first message to a first terminal, the first message being a request to establish a data channel (DC), the data channel corresponding to a target application; receive a first response message from the first terminal; or receive a second response message from the first terminal; the processor is configured to determine, based on the first response message, that the first terminal accepts the establishment of the DC; or, based on the second response message, that the first terminal rejects the establishment of the DC.
[0024] Ninthly, a data channel establishment system is provided, comprising: a first terminal and a second terminal, wherein the first terminal is configured to perform the steps of the data channel establishment method as described in the first aspect, and the second terminal is configured to perform the steps of the data channel establishment method as described in the second aspect.
[0025] In a tenth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.
[0026] Eleventhly, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the second aspect.
[0027] In a twelfth aspect, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the data channel establishment method as described in the first aspect, or to implement the steps of the data channel establishment method as described in the second aspect.
[0028] In this embodiment of the application, after the first terminal receives a first message from the second terminal requesting the establishment of a DC, the first terminal sends a first response message to the second terminal based on the first message, instructing the first terminal to accept the establishment of the DC, thereby completing the establishment of the DC; or the first terminal sends a second response message to the second terminal based on the first message, instructing the first terminal to refuse to establish the DC, causing the second terminal to stop establishing the DC. Attached Figure Description
[0029] Figure 1 This is a schematic diagram of a wireless communication system to which embodiments of this application can be applied;
[0030] Figure 2 This is a schematic diagram of the application download process in existing technology;
[0031] Figure 3 This is a schematic diagram of the data channel establishment process in existing technology;
[0032] Figure 4 This is one of the flowcharts illustrating the data channel establishment method provided in the embodiments of this application;
[0033] Figure 5 This is a second schematic flowchart of the data channel establishment method provided in the embodiments of this application;
[0034] Figure 6 This is a schematic diagram of the data channel establishment process provided in an embodiment of this application;
[0035] Figure 7 This is one of the structural schematic diagrams of the data channel establishment device provided in the embodiments of this application;
[0036] Figure 8 This is a second schematic diagram of the data channel establishment device provided in the embodiments of this application;
[0037] Figure 9 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application;
[0038] Figure 10 This is a schematic diagram of the terminal structure provided in the embodiments of this application. Detailed Implementation
[0039] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0040] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, the first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship. The term "instruction" in the specification and claims of this application can be either an explicit instruction or an implicit instruction. An explicit instruction can be understood as the sender clearly informing the receiver of the operation to be performed or the result to be requested in the sent instruction; an implicit instruction can be understood as the receiver making a judgment based on the instruction sent by the sender and determining the operation to be performed or the result to be requested based on the judgment result.
[0041] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA), and other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and NR terminology is used in most of the following description; however, these technologies can also be applied to applications beyond NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.
[0042] Figure 1This diagram illustrates a block diagram of a wireless communication system applicable to embodiments of this application. The wireless communication system includes a terminal 11 and a network-side device 12. Terminal 11 can be a mobile phone, tablet computer, laptop computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, vehicle-mounted device (VUE), pedestrian terminal (PUE), smart home (home devices with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), game console, personal computer (PC), ATM or self-service machine, etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. In addition to the terminal devices mentioned above, it can also be a chip within the terminal, such as a modem chip or a system-on-chip (SoC). It should be noted that the specific type of terminal 11 is not limited in the embodiments of this application.
[0043] Network-side equipment 12 may include access network equipment or core network equipment. Access network equipment 12 may also be referred to as radio access network equipment, radio access network (RAN), radio access network function, or radio access network unit. Access network equipment 12 may include base stations, WLAN access points, or WiFi nodes, etc. Base stations may be referred to as Node B, evolved Node B (eNB), access point, base transceiver station (BTS), radio base station, radio transceiver, Basic Service Set (BSS), Extended Service Set (ESS), home B node, home evolved B node, Transmitting Receiving Point (TRP), or any other suitable term in the field, as long as the same technical effect is achieved. The base station is not limited to specific technical terms. It should be noted that in this application embodiment, only a base station in an NR system is used as an example for description, and the specific type of base station is not limited.Core network equipment may include, but is not limited to, at least one of the following: core network node, core network function, Mobility Management Entity (MME), Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF), Policy Control Function (PCF), Policy and Charging Rules Function (PCRF), Edge Application Server Discovery Function (EASDF), Unified Data Management (UDM), Unified Data Repository (UDR), Home Subscriber Server (HSS), Centralized network configuration (CNC), Network Repository Function (NRF), Network Exposure Function (NEF), Local NEF (or L-NEF), and Binding Support. Core network functions (BSF), application functions (AF), etc. It should be noted that this application embodiment only uses core network equipment in the NR system as an example for description, and does not limit the specific type of core network equipment.
[0044] To facilitate a clearer understanding of the various embodiments of this application, some relevant background knowledge will be introduced as follows.
[0045] The 3GPP standard introduces a mechanism for establishing a Data Center (DC) during a call. Through the DC, additional services can be performed during the call, such as screen sharing, location sharing, and file transfer, thereby providing users with a better experience.
[0046] Different services correspond to different DC applications, which can be dynamically downloaded to the UE during a call without requiring prior installation by the UE, making it convenient for users. For ease of description, the DC application will be referred to as APP below.
[0047] If two communicating parties want to activate a particular app, they first need to dynamically download the app from the DC server and establish a corresponding application DC for that app. Different apps have different Quality of Service (QoS) requirements; for example, AR applications require low latency and high throughput, while screen-sharing applications require good real-time performance. Typically, each app needs to establish its own corresponding application DC.
[0048] In related technologies, each UE can select the APP to be used in the call based on its supported capabilities. Currently, there are two methods:
[0049] Method 1: The UE sends its own DC capabilities to the DC server, such as the Data Channel Signaling Function (DCSF). The DCSF sends an application list (APPlist) to the UE based on the UE's capabilities. All the APPs in the APPlist are supported by the UE. Therefore, the UE can initiate the APP download and application DC establishment process according to the user's selection.
[0050] Method 2: The UE requests an APP list from the DC server. The DC server carries the capabilities required for each APP in the APP list. The UE determines the list of available APPs based on its own capabilities and presents it to the user. Therefore, the UE can initiate the APP download and application DC establishment process according to the user's selection.
[0051] Figure 2 This is a schematic diagram of the application download process in existing technology; such as Figure 2 As shown, in Figure 2 This includes UE-A, UE-B, and the DC server. The specific steps for UE-A and UE-B to download the APP are as follows:
[0052] 1a. UE-A establishes an initialization data channel (Bootstrap Data Channel) with the DC server.
[0053] 1b. UE-B establishes a Bootstrap Data Channel with the DC server.
[0054] 2-3. Optionally, UE-A and UE-B download the initialization application (BootstrapApplication) through the Bootstrap DC respectively.
[0055] 4a. Option A: UE-A sends UE capabilities to the DC server via the bootstrap DC;
[0056] Option B: UE-A obtains the DC application list from the DC server based on an HTTP request (Req). This DC application list contains the capability information required by each application.
[0057] 4b. The DC server sends an HTTP 200 OK response based on the capabilities of UE-A. This 200 OK response includes a DC application list, and all DC applications in the DC application list are UE-A supported applications.
[0058] 5a-5b and UE-B perform the same actions as steps 4a-4b.
[0059] 6. (Option B only) UE-A generates its available application list based on the DC application list and UE capabilities (i.e., a detailed application list for UE-A's capabilities).
[0060] 7. UE-A displays a list of available applications (i.e., displays an application list / menu) for the user to choose from.
[0061] 8-9. UE-B executes steps 6-7.
[0062] 10. UE-A or UE-B downloads the APP according to the user's selection, triggering the establishment of a data channel.
[0063] Figure 3 This is a schematic diagram of the data channel establishment process in existing technology; such as Figure 3 As shown, Figure 3 This is the process by which UE-A requests the establishment of a data channel from UE-B, specifically including the following steps:
[0064] 1. UE-A sends a Session Initialization Protocol (SIP) re-invite message to the Server-Call Session Control Function-1 (S-CSCF-1) to initiate a negotiation request to UE-B to establish an application DC.
[0065] Specifically, UE-A initiates a negotiation request to UE-B to establish an application DC via a SIP re-invite message, which carries a description of the APP corresponding to the application DC to be established.
[0066] The description information of an app can be the app's ID, the app's download link address, or a stream ID, where the stream ID is used to represent the ID of a DC.
[0067] The SIP re-Invite message contains the following information in its Session Description Protocol (SDP):
[0068] m=application 52718UDP / DTLS / SCTP webrtc-datachannel
[0069] b = AS:500
[0070] a = max-message-size: 1024
[0071] a = sctp-port:5000
[0072] a=dcmap:7216max-retr=5; label=“low loss”
[0073] a=dcsa:7216;dcapp-id="screen share";
[0074] In this context, m represents the media type as a data channel, and 52718 represents the port number value.
[0075] Line b indicates that the bandwidth corresponding to this DC is 500kbps;
[0076] Row 'a' represents the DC attribute information:
[0077] a = max-message-size:1024 means that the maximum message size that this DC can transmit is 1024 bytes;
[0078] a = sctp-port:5000 means that the port number corresponding to this DC is 5000;
[0079] The number 7216 in line 'a' represents the stream ID. Typically, 0-999 is used to represent the bootstrap DC, while numbers greater than or equal to 1000 are used to represent the application DC.
[0080] The dcapp id in line 'a' represents which app initiated the creation of the application DC.
[0081] 2-4. S-CSCF-1 uses the Application Server (AS), DC server, and second service call session control function (S-CSCF-2) to route SIP re-Invite messages to UE-B.
[0082] 5-8. If UE-B accepts the establishment of the application DC, UE-B replies with 200 OK, which includes DCapplication Accept, and is routed to UE-A.
[0083] In summary, if UE-A selects to use a certain app and initiates the application DC establishment process, UE-B accepts and completes the application DC establishment. However, because UE-B does not support the app corresponding to that application DC, the application will not function properly. For example, taking a screen sharing application as an example, when UE-A selects to use a screen sharing app during a call and initiates the application DC establishment process to UE-B, based on relevant technologies, UE-B will directly accept and complete the application DC establishment. However, in reality, if UE-B's capabilities do not support screen sharing applications, after UE-A sends a screen sharing request, UE-A cannot receive a response from UE-B. On the other hand, after receiving the screen sharing data sent by UE-A, UE-B can only display unknown data and cannot parse it.
[0084] Therefore, how to establish an application DC is a technical problem that urgently needs to be solved.
[0085] The data channel establishment method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0086] In this embodiment of the application, after the first terminal receives a first message from the second terminal requesting the establishment of a DC, the first terminal sends a first response message to the second terminal based on the first message, instructing the first terminal to accept the establishment of the DC, thereby completing the establishment of the DC; or the first terminal sends a second response message to the second terminal based on the first message, instructing the first terminal to refuse to establish the DC, causing the second terminal to stop establishing the DC.
[0087] Figure 4 This is one of the flowcharts illustrating the data channel establishment method provided in the embodiments of this application, such as... Figure 4 As shown, the method includes steps 401 to 402; wherein:
[0088] Step 401: The first terminal receives a first message from the second terminal; the first message is used to request the establishment of a data channel DC, and the DC corresponds to the target application.
[0089] It should be noted that the embodiments of this application can be applied to scenarios where a data channel is established during a call. The first terminal and the second terminal include, but are not limited to, the types of terminal 11 listed above, and this application does not limit them.
[0090] During the process of the second terminal requesting to establish a DC with the first terminal, the capabilities of the first terminal may not support the APP corresponding to the DC requested by the second terminal, which may lead to the application being unable to be used normally and a poor user experience.
[0091] Optionally, the capabilities of the first terminal may not support the APP corresponding to the DC requested by the second terminal. This can be understood as the capabilities of the first terminal being inconsistent with the capabilities required by the APP, or the capabilities of the first terminal being mismatched with the capabilities required by the APP, or the capabilities of the first terminal being lower than the capabilities required by the APP.
[0092] Therefore, in order to avoid the application from malfunctioning and to improve the user experience, in this embodiment of the application, the first terminal first needs to receive a first message from the second terminal. The first message is, for example, a SIP re-invite message, which is used to request the establishment of a DC. The DC corresponds to the target application, that is, the target application is the APP supported by the DC.
[0093] Step 402: The first terminal sends a first response message to the second terminal based on the first message. The first response message is used to instruct the first terminal to accept the establishment of the DC.
[0094] Alternatively, the first terminal may send a second response message to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC.
[0095] In this embodiment of the application, after the first terminal receives the first message from the second terminal, the first terminal will determine whether its own capabilities support the target application based on the first message;
[0096] If the first terminal's capabilities support the target application, the first terminal sends a first response message to the second terminal based on the first message, instructing the first terminal to accept the establishment of a DC.
[0097] Alternatively, if the first terminal's capabilities do not support the target application, the first terminal may send a second response message to the second terminal based on the first message, indicating that the first terminal refuses to establish a DC.
[0098] Optionally, "the first terminal's capabilities support the target application" can be understood as the first terminal being able to use the target application for communication; "the first terminal's capabilities do not support the target application" can be understood as the first terminal being unable to use the target application for communication.
[0099] In this embodiment of the application, after the first terminal receives a first message from the second terminal requesting the establishment of a DC, the first terminal sends a first response message to the second terminal based on the first message, instructing the first terminal to accept the establishment of the DC, thereby completing the establishment of the DC; or the first terminal sends a second response message to the second terminal based on the first message, instructing the first terminal to refuse to establish the DC, causing the second terminal to stop establishing the DC.
[0100] Optionally, the first terminal sending a first response message to the second terminal based on the first message, or the first terminal sending a second response message to the second terminal based on the first message, can be achieved in at least one of the following ways:
[0101] Method 1: If the capability requirements of the target application do not match the capabilities of the first terminal, the first terminal sends the second response message to the second terminal.
[0102] Method 2: If the capability requirements of the target application match the capabilities of the first terminal, the first terminal sends the first response message to the second terminal.
[0103] Method 3: If the capability requirements of the target application match the capabilities of the first terminal, the first terminal receives a first operation for the target application; if the first operation determines that the user agrees to use the target application, the first terminal sends the first response message to the second terminal; or, if the first operation determines that the user refuses to use the target application, the first terminal sends the second response message to the second terminal.
[0104] Here, we will explain methods 1 through 3 respectively:
[0105] Method 1: If the capability requirements of the target application do not match the capabilities of the first terminal, the first terminal sends the second response message to the second terminal.
[0106] In this embodiment of the application, after the first terminal receives the first message from the second terminal, the first terminal determines whether the capability requirements corresponding to the target application match its own capabilities; if the capability requirements corresponding to the target application do not match the capabilities of the first terminal, it indicates that the first terminal does not support the target application corresponding to the second terminal DC, and the first terminal sends a second response message to the second terminal.
[0107] Method 2: If the capability requirements of the target application match the capabilities of the first terminal, the first terminal sends the first response message to the second terminal.
[0108] In this embodiment, the first terminal determines whether the capability requirements of the target application match its own capabilities; if the capability requirements of the target application match the capabilities of the first terminal, it indicates that the first terminal supports the target application corresponding to the second terminal DC, and the first terminal sends a first response message to the second terminal.
[0109] Method 3: If the capability requirements of the target application match the capabilities of the first terminal, the first terminal receives a first operation for the target application; if the first operation determines that the user agrees to use the target application, the first terminal sends the first response message to the second terminal; or, if the first operation determines that the user refuses to use the target application, the first terminal sends the second response message to the second terminal.
[0110] In this embodiment of the application, when the capability requirements of the target application match the capabilities of the first terminal, the first terminal needs to display the successful matching result (i.e., the first terminal supports the target application corresponding to the second terminal DC) to the user. Accordingly, the first terminal receives the user's first operation on the target application.
[0111] If the user agrees to use the target application based on the first operation, the first terminal sends a first response message to the second terminal;
[0112] Alternatively, if it is determined from the first operation that the user refuses to use the target application, the first terminal sends a second response message to the second terminal; that is, instructs the second terminal to refuse to establish a DC.
[0113] In the above implementation, the first terminal determines whether the capability requirements of the target application match its own capabilities, and decides to accept or refuse to establish a DC with the second terminal based on the matching result. At the same time, if the capabilities of the first terminal match the capability requirements of the target application, it can also determine whether the user agrees or refuses to use the target application based on the first operation, and decide to accept or refuse to establish a DC with the second terminal based on the first operation. This realizes that the first terminal accepts or refuses to establish a DC based on the first message, which can avoid the situation where the application cannot be used normally and improve the user experience.
[0114] Optionally, the capability requirements of the target application do not match the capabilities of the first terminal, including at least one of the following:
[0115] a) If the target application is not included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal.
[0116] b) The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
[0117] Optionally, the capability requirements of the target application match the capabilities of the first terminal, including at least one of the following:
[0118] If the target application is included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal;
[0119] The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
[0120] Optionally, the first terminal may send a first response message / second response message to the second terminal based on the first application list, which can be implemented in at least one of the following ways:
[0121] Method a: If the target application is not included in the first application list of the first terminal, the first terminal sends the second response message to the second terminal;
[0122] Method b: If the target application is included in the first application list of the first terminal, the first terminal sends the first response message to the second terminal;
[0123] Method c: If the target application is included in the first application list of the first terminal, the first terminal receives a first operation for the target application; if the user agrees to use the target application based on the first operation, the first terminal sends the first response message to the second terminal; or, if the user refuses to use the target application based on the first operation, the first terminal sends the second response message to the second terminal.
[0124] The first application list includes at least one application that matches the capabilities of the first terminal.
[0125] Here, we will explain methods a through c respectively:
[0126] Method a: If the target application is not included in the first application list of the first terminal, the first terminal sends the second response message to the second terminal.
[0127] In this embodiment of the application, the first terminal first needs to determine whether its own capabilities match the capabilities corresponding to the target application; that is, the first terminal compares the target application with each application in the first application list. If the target application is not included in the first application list, it means that the capabilities of the first terminal do not support the target application corresponding to the second terminal DC; then the first terminal sends a second response message to the second terminal.
[0128] The first application list includes at least one application that matches the capabilities of the first terminal.
[0129] Method b: If the target application is included in the first application list of the first terminal, the first terminal sends the first response message to the second terminal.
[0130] In this embodiment, the first terminal compares the target application with each application in the first application list. If the target application is included in the first application list, it means that the first terminal's capabilities support the target application corresponding to the second terminal DC. Then, the first terminal automatically responds and sends a first response message to the second terminal.
[0131] Method c: If the target application is included in the first application list of the first terminal, the first terminal receives a first operation for the target application; if the user agrees to use the target application based on the first operation, the first terminal sends the first response message to the second terminal; or, if the user refuses to use the target application based on the first operation, the first terminal sends the second response message to the second terminal.
[0132] In this embodiment, the first terminal compares the target application with each application in the first application list. If the target application is included in the first application list, it means that the first terminal's capabilities support the target application corresponding to the second terminal DC. At this time, the first terminal needs to display the comparison result (i.e., the first terminal's first application list includes the target application) to the user so that the user can decide whether to agree to use the target application. Accordingly, the first terminal will receive the user's first operation on the target application.
[0133] If the user agrees to use the target application based on the first operation, the first terminal sends a first response message to the second terminal;
[0134] Alternatively, if it is determined from the first operation that the user refuses to use the target application, indicating that the first terminal's capabilities support the target application, but the user refuses to use the target application, then the first terminal sends a second response message to the second terminal.
[0135] In the above implementation, the first terminal determines whether the capability requirements of the target application match its own capabilities by judging whether the first application list includes the target application. Based on the matching result, it decides to accept or refuse to establish a DC with the second terminal. At the same time, if the capabilities of the first terminal match the capability requirements of the target application, it can also determine whether the user agrees or refuses to use the target application based on the first operation, and determine whether to accept or refuse to establish a DC with the second terminal based on the first operation. This realizes that the first terminal accepts or refuses to establish a DC based on the first message, which can avoid the situation where the application cannot be used normally and improve the user experience.
[0136] Optionally, the first terminal can obtain the first application list through the following steps 1)-2):
[0137] Step 1) The first terminal sends its capabilities to the first network-side device;
[0138] Step 2) The first terminal receives the first applicationlist sent by the first network-side device.
[0139] In this embodiment of the application, the first network-side device may be a DC server, such as a DCSF.
[0140] In practical applications, an initialization data channel, Bootstrap DataChannel, is established between the first terminal and the DCSF; then the first terminal sends its capabilities to the DCSF through the initialization data channel.
[0141] Accordingly, after receiving the capabilities of the first terminal, the DCSF sends a first application list to the first terminal, wherein the first application list includes at least one application that matches the capabilities of the first terminal; the first terminal receives the first application list sent by the first network-side device.
[0142] In the above implementation, the first terminal can use the obtained first application list to determine whether its own capabilities support the target application, and then decide whether to accept or refuse to establish a DC with the second terminal.
[0143] Optionally, the first terminal may also determine the capability requirements corresponding to the target application based on the second application list; and send a first response message / second response message to the second terminal based on the capability requirements corresponding to the target application, wherein the second application list includes capability requirements corresponding to at least one application.
[0144] Optionally, the first terminal can obtain the second application list through the following steps [1]-[2]:
[0145] Step [1]: The first terminal requests the second application list from the first network-side device;
[0146] Step [2]: The first terminal receives the second applicationlist sent by the first network-side device.
[0147] In this embodiment, an initialization data channel is established between the first terminal and the first network-side device (e.g., DCSF); then the first terminal requests a second application list from the first network-side device through the initialization data channel.
[0148] Accordingly, after receiving the capabilities of the first terminal, the first network-side device sends a second application list to the first terminal, wherein the second application list includes capability requirements corresponding to at least one application; the first terminal receives the second application list sent by the first network-side device.
[0149] In the above implementation, the first terminal can use the obtained second application list to determine whether its own capabilities support the capability requirements of the target application, and then decide whether to accept or refuse to establish a DC with the second terminal.
[0150] Optionally, the first response message includes at least one of the following:
[0151] a) Media type;
[0152] b) The identifier ID of the target application;
[0153] c) The name of the target application;
[0154] d) The download link address of the target application;
[0155] e) The Stream ID corresponding to the DC;
[0156] f) The bandwidth corresponding to the DC;
[0157] g) The maximum message size supported by the DC;
[0158] h) The port number corresponding to the DC;
[0159] i) The Quality of Service (QoS) parameters corresponding to the DC.
[0160] Optionally, the second response message includes at least one of the following:
[0161] a) The reason why the first terminal refuses to establish the DC;
[0162] b) Media type;
[0163] c) The download link address of the target application;
[0164] d) The bandwidth corresponding to the DC;
[0165] e) The maximum message size supported by the DC;
[0166] f) The port number corresponding to the DC.
[0167] Optionally, the rejection reason includes any of the following:
[0168] a) Mismatch in abilities;
[0169] b) User refuses.
[0170] Optionally, the first response message may include an explicit indication, which the second terminal can use to determine that the first terminal accepts the establishment of the DC;
[0171] Alternatively, the first response message may include implicit indication information that enables the second terminal to determine, based on the content of the first response message, that the first terminal accepts the establishment of the DC. For example, the response message may include the same number of a=dcmap and a=dcmap lines as in the request message.
[0172] Optionally, the second response message may include an explicit indication, which the second terminal can use to determine that the first terminal refuses to establish the DC;
[0173] Alternatively, the second response message may include implicit indication information, enabling the second terminal to determine, based on the content of the second response message, that the first terminal refuses to establish the DC. For example, the response message may contain a different number of a=dcmap and a=dcmap lines than in the request message, and the first terminal may not carry the a=dcmap and a=dcmap lines corresponding to the application that is refused use.
[0174] Figure 5 This is a second schematic flowchart of the data channel establishment method provided in the embodiments of this application, as shown below. Figure 5 As shown, the method includes steps 501 to 502; wherein:
[0175] Step 501: The second terminal sends a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application.
[0176] It should be noted that the embodiments of this application can be applied to scenarios where a data channel is established during a call. The first terminal and the second terminal include, but are not limited to, the types of terminal 11 listed above, and this application does not limit them.
[0177] During the process of the second terminal requesting to establish a DC with the first terminal, the capabilities of the first terminal may not support the APP corresponding to the DC requested by the second terminal, which may result in the application being unable to function properly and a poor user experience.
[0178] Optionally, the capabilities of the first terminal may not support the APP corresponding to the DC requested by the second terminal. This can be understood as the capabilities of the first terminal being inconsistent with the capabilities required by the APP, or the capabilities of the first terminal being mismatched with the capabilities required by the APP, or the capabilities of the first terminal being lower than the capabilities required by the APP.
[0179] Therefore, in order to avoid the application from malfunctioning and to improve the user experience, in this embodiment of the application, the second terminal first needs to send a first message to the first terminal. The first message is, for example, a SIP re-invite message, which is used to request the establishment of a DC. The DC corresponds to the target application, that is, the target application is the APP supported by the DC.
[0180] Step 502: The second terminal receives a first response message from the first terminal, and the second terminal determines, based on the first response message, that the first terminal accepts the establishment of the DC; or, the second terminal receives a second response message from the first terminal, and the second terminal determines, based on the second response message, that the first terminal refuses to establish the DC.
[0181] In this embodiment of the application, after the second terminal sends a first message to the first terminal, the first terminal will determine whether its own capabilities support the target application based on the first message, and send a first response message / second response message to the second terminal based on the first message;
[0182] Accordingly, the second terminal determines that the first terminal accepts the establishment of the DC based on the first response message; or, the second terminal receives the second response message from the first terminal and determines that the first terminal refuses to establish the DC based on the second response message.
[0183] Optionally, "the first terminal's capabilities support the target application" can be understood as the first terminal being able to use the target application for communication; "the first terminal's capabilities do not support the target application" can be understood as the first terminal being unable to use the target application for communication.
[0184] In this embodiment of the application, after the second terminal sends a first message to the first terminal to request the establishment of a DC, it receives a first response message from the first terminal to instruct the first terminal to accept the establishment of the DC, thereby completing the establishment of the DC, or receives a second response message from the first terminal to instruct the first terminal to refuse to establish the DC, causing the second terminal to stop establishing the DC.
[0185] Optionally, the first response message includes at least one of the following:
[0186] a) Media type;
[0187] b) The identifier ID of the target application;
[0188] c) The name of the target application;
[0189] d) The download link address of the target application;
[0190] e) The Stream ID corresponding to the DC;
[0191] f) The bandwidth corresponding to the DC;
[0192] g) The maximum message size supported by the DC;
[0193] h) The port number corresponding to the DC;
[0194] i) The Quality of Service (QoS) parameters corresponding to the DC.
[0195] Optionally, the second response message includes at least one of the following:
[0196] a) The reason why the first terminal refuses to establish the DC;
[0197] b) Media type;
[0198] c) The download link address of the target application;
[0199] d) The bandwidth corresponding to the DC;
[0200] e) The maximum message size supported by the DC;
[0201] f) The port number corresponding to the DC.
[0202] Optionally, the rejection reason includes any of the following:
[0203] a) Mismatch in abilities;
[0204] b) User refuses.
[0205] Optionally, the first response message may include an explicit indication, which the second terminal can use to determine that the first terminal accepts the establishment of the DC;
[0206] Alternatively, the first response message may include implicit indication information that enables the second terminal to determine, based on the content of the first response message, that the first terminal accepts the establishment of the DC. For example, the response message may include the same number of a=dcmap and a=dcmap lines as in the request message.
[0207] Optionally, the second response message may include an explicit indication, which the second terminal can use to determine that the first terminal refuses to establish the DC;
[0208] Alternatively, the second response message may include implicit indication information, enabling the second terminal to determine, based on the content of the second response message, that the first terminal refuses to establish the DC. For example, the response message may contain a different number of a=dcmap and a=dcmap lines than in the request message, and the first terminal may not carry the a=dcmap and a=dcmap lines corresponding to the application that is refused use.
[0209] Optionally, after the second terminal receives a response message from the first terminal, and in the case of receiving a second response message from the first terminal, the second terminal also needs to update the third application list and / or the fourth application list of the second terminal based on the second response message.
[0210] The third application list includes at least one application that matches the capabilities of the second terminal; the fourth application list includes at least one application with corresponding capability requirements.
[0211] In this embodiment of the application, when the second terminal receives the second response message from the first terminal, it indicates that the second terminal has determined that the first terminal refuses to establish a DC; then the second terminal needs to update the third application list and / or the fourth application list.
[0212] It should be noted that the second terminal can obtain the third application list in the following ways:
[0213] The second terminal sends its capabilities to the first network-side device (e.g., DCSF); the first network-side device sends a third application list to the second terminal.
[0214] The second terminal can obtain the fourth application list in the following ways:
[0215] The second terminal requests a second application list from the first network-side device; the first network-side device sends a fourth application list to the second terminal.
[0216] Optionally, when the second terminal receives the second response message from the first terminal, the second terminal also needs to record the rejection reason based on the second response message, that is, the rejection reason includes any of the following: capability mismatch; user rejection.
[0217] Optionally, the second terminal may update its third application list and / or fourth application list in at least one of the following ways:
[0218] Method [1]: If the reason for rejection includes capability mismatch, the second terminal deletes the target application from the third application list and / or the fourth application list;
[0219] Method [2]: If the reason for rejection includes user rejection, the second terminal marks the target application in the third application list and / or the fourth application list.
[0220] To facilitate a clearer understanding of the data channel establishment method provided in the embodiments of this application, the following is combined with... Figure 6 The method for establishing data channels will be further explained. Figure 6 This is a schematic diagram of the data channel establishment process provided in the embodiments of this application, such as... Figure 6 As shown, Figure 6 This is the process by which UE-A (i.e., the second terminal mentioned above) requests the establishment of a data channel from UE-B (i.e., the first terminal mentioned above), which specifically includes the following steps:
[0221] Step 601: UE-A sends a SIP re-invite message to S-CSCF-1 to initiate a negotiation request to UE-B to establish an application DC. The SIP re-invite message carries the description information of the target application corresponding to the application DC to be established.
[0222] Specifically, the SIP re-invite message carries the description information of the target application corresponding to the application DC to be established (i.e., the DC application description); the description information of the APP can be the APP ID, the APP download link address, or the stream ID, which is used to represent the ID of the DC.
[0223] The SDP of this SIP re-Invite message contains the following information:
[0224] m=application 52718UDP / DTLS / SCTP webrtc-datachannel
[0225] b = AS:500
[0226] a = max-message-size: 1024
[0227] a = sctp-port:5000
[0228] a=dcmap:7216max-retr=5; label=“low loss”
[0229] a=dcsa:7216;dcapp-id="screen share";
[0230] In this context, m represents the media type as a data channel, and 52718 represents the port number value.
[0231] Line b indicates that the bandwidth corresponding to this DC is 500kbps;
[0232] Row 'a' represents the DC attribute information:
[0233] a = max-message-size:1024 means that the maximum size of a message that this DC can transmit is 1024 bytes;
[0234] a = sctp-port:5000 means that the port number corresponding to this DC is 5000;
[0235] The number 7216 in line 'a' represents the stream ID. Typically, 0-999 is used to represent the bootstrap DC, while numbers greater than or equal to 1000 are used to represent the application DC.
[0236] The dcapp id in line 'a' represents which app initiated the creation of the application DC.
[0237] Steps 602-604: S-CSCF-1 uses AS, DC server, and S-CSCF-2 to route the SIP re-Invite message to UE-B.
[0238] Step 605: UE-B determines whether it supports the capability requirements of the target application based on its own capabilities.
[0239] Specifically, UE-B can determine whether its own capabilities support the capability requirements of the target application through at least one of the following methods:
[0240] Method 1: After receiving the data channel establishment request (i.e., the SIP re-Invite message), UE-B determines whether the target application is in UE-B's application list (i.e., the first application list mentioned above) based on the description information of the target application. If not, the target application is rejected; if so, it is displayed to the user, and the user can choose to reject or accept the use of the target application.
[0241] Method 2: After receiving the data channel establishment request, UE-B obtains the capability requirements corresponding to the target application through the application list (i.e., the second application list mentioned above) based on the description information of the target application. UE-B then determines whether it supports the capability requirements corresponding to the target application based on its own capabilities. If not, it refuses to use the target application; if so, it displays the application to the user and allows the user to choose whether to refuse to use the target application or accept to use the target application.
[0242] If UE-B accepts UE-A's request to establish an application DC, proceed with steps 606a-609a; otherwise, proceed with steps 606b-609b and step 610.
[0243] Steps 606a-609a: UE-B replies to UE-A with the first 200 OK message, which includes DCapplication acceptance.
[0244] Specifically, the first 200 OK message is the first response message, which is routed to UE-A using S-CSCF-2, DC server, and S-CSCF-1.
[0245] Steps 606b-609b: UE-B replies to UE-A with a second 200 OK message.
[0246] Specifically, the second 200 OK message is the second response message, which is routed to UE-A using S-CSCF-2, DC server, and S-CSCF-1;
[0247] The second response message indicates that UE-B refuses to establish the application DC by deleting line 'a' corresponding to the application DC in the SDP; optionally, the second response message also carries the reason for refusing to establish the application DC.
[0248] For example, the SDP sent by UE-A to UE-B contains the following information:
[0249] m=application 52718UDP / DTLS / SCTP webrtc-datachannel
[0250] b = AS:500
[0251] a = max-message-size: 1024
[0252] a = sctp-port:5000
[0253] a=dcmap:7216max-retr=5; label=“low loss”
[0254] a=dcsa:7216;dcapp-id="screen share";
[0255] When UE-B sends a second response message to UE-A, the SDP sent by UE-B to UE-A includes the following information:
[0256] m=application 52718UDP / DTLS / SCTP webrtc-datachannel
[0257] b = AS:500
[0258] a = max-message-size: 1024
[0259] a = sctp-port:5000;
[0260] The following is the reason information contained in SDP for refusing to establish an application DC:
[0261] If the capabilities of UE-B are mismatched, then:
[0262] a=dcsa:7216;reject cause="Mismatch of capabilities";
[0263] If the reason for UE-B's rejection is user rejection, then:
[0264] a=dcsa:7216;reject cause="Reject to use";
[0265] Step 610: UE-A records the reason for rejection and updates the application list of UE-A (i.e., the third application list and / or the fourth application list mentioned above).
[0266] Specifically, if the reason for rejection is that the target application is not supported by UE-B, it will be directly removed from the application list of UE-A;
[0267] If the reason for rejection is that the target application is rejected by UE-B, the target application will still be displayed, but with an additional label.
[0268] The data channel establishment method provided in this application can be executed by a data channel establishment device. This application uses an example of a data channel establishment device executing the data channel establishment method to illustrate the data channel establishment device provided in this application.
[0269] Figure 7 This is one of the structural schematic diagrams of the data channel establishment device provided in the embodiments of this application, such as... Figure 7 As shown, the data channel establishment device 700 includes:
[0270] The first receiving module 701 is used to receive a first message from the second terminal; the first message is used to request the establishment of a data channel DC, the DC corresponding to the target application.
[0271] The first sending module 702 is configured to send a first response message to the second terminal based on the first message, wherein the first response message is used to instruct the first terminal to accept the establishment of the DC.
[0272] Alternatively, a second response message may be sent to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC.
[0273] In the data channel establishment apparatus provided in this application embodiment, after receiving a first message from a second terminal requesting the establishment of a DC, a first response message is sent to the second terminal based on the first message to instruct the first terminal to accept the establishment of the DC, thereby completing the DC establishment; or a second response message is sent to the second terminal based on the first message to instruct the first terminal to refuse the establishment of the DC, causing the second terminal to stop establishing the DC.
[0274] Optionally, the first transmitting module 702 is further configured to:
[0275] If the capability requirements of the target application do not match the capabilities of the first terminal, the second response message is sent to the second terminal.
[0276] If the capability requirements of the target application match the capabilities of the first terminal, the first response message is sent to the second terminal.
[0277] If the capability requirements of the target application match the capabilities of the first terminal, a first operation is received for the target application; if the user agrees to use the target application based on the first operation, the first response message is sent to the second terminal; or, if the user refuses to use the target application based on the first operation, the second response message is sent to the second terminal.
[0278] Optionally, the capability requirements of the target application do not match the capabilities of the first terminal, including at least one of the following:
[0279] If the target application is not included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal;
[0280] The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
[0281] Optionally, the capability requirements of the target application match the capabilities of the first terminal, including at least one of the following:
[0282] If the target application is included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal;
[0283] The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
[0284] Optionally, the first transmitting module 702 is further configured to:
[0285] If the target application is not included in the first application list of the first terminal, the second response message is sent to the second terminal.
[0286] If the target application is included in the first application list of the first terminal, the first response message is sent to the second terminal.
[0287] If the target application is included in the first application list of the first terminal, a first operation is received for the target application; if the user agrees to use the target application based on the first operation, the first response message is sent to the second terminal; or, if the user refuses to use the target application based on the first operation, the second response message is sent to the second terminal.
[0288] The first application list includes at least one application that matches the capabilities of the first terminal.
[0289] Optionally, the device further includes:
[0290] The third sending module is used to send the capabilities of the first terminal to the first network-side device;
[0291] The third receiving module is used to receive the first applicationlist sent by the first network-side device.
[0292] Optionally, the device further includes:
[0293] The determination module is used to determine the capability requirements corresponding to the target application based on the second application list; wherein the second application list includes capability requirements corresponding to at least one application.
[0294] Optionally, the device further includes:
[0295] The request module is used to request the second application list from the first network-side device;
[0296] The fourth receiving module is used to receive the second applicationlist sent by the first network-side device.
[0297] Optionally, the first response message includes at least one of the following:
[0298] Media type;
[0299] The identifier ID of the target application;
[0300] The name of the target application;
[0301] The download link address for the target application;
[0302] The stream ID corresponding to the DC;
[0303] The bandwidth corresponding to the DC;
[0304] The maximum message size supported by the DC;
[0305] The port number corresponding to the DC;
[0306] The Quality of Service (QoS) parameters corresponding to the DC.
[0307] Optionally, the second response message includes at least one of the following:
[0308] The first terminal refuses to establish the DC for the following reason;
[0309] Media type;
[0310] The download link address for the target application;
[0311] The bandwidth corresponding to the DC;
[0312] The maximum message size supported by the DC;
[0313] The port number corresponding to the DC.
[0314] Optionally, the rejection reason includes any of the following:
[0315] Mismatch in abilities;
[0316] The user refused.
[0317] Figure 8 This is a second schematic diagram of the data channel establishment device provided in the embodiments of this application, as shown below. Figure 8 As shown, the data channel establishment device 800 includes:
[0318] The second sending module 801 is used to send a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application.
[0319] The second receiving module 802 is configured to receive a first response message from the first terminal and determine, based on the first response message, that the first terminal accepts the establishment of the DC; or, to receive a second response message from the first terminal and determine, based on the second response message, that the first terminal refuses to establish the DC.
[0320] In the data channel establishment apparatus provided in this application embodiment, after sending a first message to the first terminal to request the establishment of a DC, the apparatus receives a first response message from the first terminal to instruct the first terminal to accept the establishment of the DC, thereby completing the establishment of the DC, or receives a second response message from the first terminal to instruct the first terminal to refuse to establish the DC, causing the second terminal to stop establishing the DC.
[0321] Optionally, the first response message includes at least one of the following:
[0322] Media type;
[0323] The identifier ID of the target application;
[0324] The name of the target application;
[0325] The download link address for the target application;
[0326] The stream ID corresponding to the DC;
[0327] The bandwidth corresponding to the DC;
[0328] The maximum message size supported by the DC;
[0329] The port number corresponding to the DC;
[0330] The Quality of Service (QoS) parameters corresponding to the DC.
[0331] Optionally, the second response message includes at least one of the following:
[0332] The first terminal refuses to establish the DC for the following reason;
[0333] Media type;
[0334] The download link address for the target application;
[0335] The bandwidth corresponding to the DC;
[0336] The maximum message size supported by the DC;
[0337] The port number corresponding to the DC.
[0338] Optionally, the rejection reason includes any of the following:
[0339] Mismatch in abilities;
[0340] The user refused.
[0341] Optionally, the device further includes:
[0342] The update module is configured to update the third application list and / or the fourth application list of the second terminal based on the second response message received from the first terminal.
[0343] The third application list includes at least one application that matches the capabilities of the second terminal; the fourth application list includes at least one application with corresponding capability requirements.
[0344] Optionally, the device further includes:
[0345] The recording module is used to record the reason for rejection based on the second response message.
[0346] Optionally, the update module can be further used for:
[0347] If the rejection reason includes capability mismatch, the target application will be removed from the third application list and / or the fourth application list;
[0348] If the reason for rejection includes user rejection, the target application is marked in the third application list and / or the fourth application list.
[0349] The data channel establishment device in this application embodiment can be an electronic device, such as an electronic device with an operating system, or a component in an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal, or other devices besides a terminal. For example, the terminal can include, but is not limited to, the type of terminal 11 listed above; other devices can be servers, network attached storage (NAS), etc., and this application embodiment does not specifically limit the type.
[0350] The data channel establishment device provided in this application embodiment can achieve... Figures 4 to 6The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0351] Optional, such as Figure 9 As shown, Figure 9 This is a schematic diagram of the structure of a communication device 900 provided in an embodiment of this application. It includes a processor 901 and a memory 902. The memory 902 stores programs or instructions that can be executed by the processor 901. For example, when the communication device 900 is a first terminal, the program or instructions are implemented when executed by the processor 901. Figure 4 Each step of the data channel establishment method embodiment can achieve the same technical effect. When the communication device 900 is a second terminal, the program or instruction is implemented when executed by the processor 901. Figure 5 The steps of the data channel establishment method embodiment are the same and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0352] This application embodiment also provides a first terminal, including a processor and a communication interface. The communication interface is used to: receive a first message from a second terminal; the first message is used to request the establishment of a data channel (DC), the DC corresponding to a target application; send a first response message to the second terminal based on the first message, the first response message being used to instruct the first terminal to accept the establishment of the DC; or, send a second response message to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse the establishment of the DC. This first terminal embodiment is similar to the one described above. Figure 4 Corresponding to the implementation method of establishing the data channel, all implementation processes and methods of the above-mentioned implementation method can be applied to the first terminal embodiment and can achieve the same technical effect.
[0353] This application embodiment also provides a second terminal, including a processor and a communication interface. The communication interface is used to: send a first message to a first terminal, the first message being used to request the establishment of a data channel (DC), the data channel corresponding to a target application; receive a first response message from the first terminal; or, receive a second response message from the first terminal; the processor is used to determine, based on the first response message, that the first terminal accepts the establishment of the DC; or, based on the second response message, that the first terminal rejects the establishment of the DC. This second terminal embodiment is similar to the one described above. Figure 5 Corresponding to the implementation method of establishing the data channel, all implementation processes and methods of the above-mentioned implementation method can be applied to this second terminal embodiment and can achieve the same technical effect.
[0354] Specifically, Figure 10 This is a schematic diagram of the terminal structure provided in the embodiments of this application.
[0355] The terminal 1000 can be a first terminal or a second terminal, including but not limited to: at least some of the following components: radio frequency unit 1001, network module 1002, audio output unit 1003, input unit 1004, sensor 1005, display unit 1006, user input unit 1007, interface unit 1008, memory 1009, and processor 1010.
[0356] Those skilled in the art will understand that the terminal 1000 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 1010 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 10 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0357] It should be understood that, in this embodiment, the input unit 1004 may include a graphics processing unit (GPU) 10041 and a microphone 10042. The GPU 10041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1006 may include a display panel 10061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 1007 includes a touch panel 10071 and at least one of other input devices 10072. The touch panel 10071 is also called a touch screen. The touch panel 10071 may include a touch detection device and a touch controller. Other input devices 10072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, joysticks, etc., which will not be described in detail here.
[0358] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 1001 can transmit it to the processor 1010 for processing; in addition, the radio frequency unit 1001 can send uplink data to the network-side device. Typically, the radio frequency unit x01 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0359] The memory 1009 can be used to store software programs or instructions and various data. The memory 1009 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback function, image playback function, etc.). Furthermore, the memory 1009 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory x09 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0360] The processor 1010 may include one or more processing units; optionally, the processor 1010 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor 1010.
[0361] This application embodiment also provides a readable storage medium storing a program or instructions that, when executed by a processor, implement the above-described functionality. Figures 4 to 5 The various processes in the data channel establishment method embodiment can achieve the same technical effect, and will not be described again here to avoid repetition.
[0362] The processor is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0363] This application embodiment also provides a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the above. Figures 4 to 5 The various processes in the data channel establishment method embodiment can achieve the same technical effect, and will not be described again here to avoid repetition.
[0364] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0365] This application embodiment also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the above. Figures 4 to 5 The various processes in the data channel establishment method embodiment can achieve the same technical effect, and will not be described again here to avoid repetition.
[0366] This application also provides a data channel establishment system, including: a first terminal and a second terminal, wherein the first terminal can be used to perform the above-described... Figure 4 The steps of the data channel establishment method, the second terminal can be used to execute as described above. Figure 5 The steps for establishing a data channel in China.
[0367] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0368] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0369] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A method for establishing a data channel, characterized in that, include: The first terminal receives the first message from the second terminal; The first message is used to request the establishment of a data channel DC, which corresponds to the target application; The first terminal sends a first response message to the second terminal based on the first message, the first response message being used to instruct the first terminal to accept the establishment of the DC; Alternatively, the first terminal may send a second response message to the second terminal based on the first message, wherein the second response message is used to instruct the first terminal to refuse to establish the DC; The first terminal sends a first response message to the second terminal based on the first message, or the first terminal sends a second response message to the second terminal based on the first message, including at least one of the following: If the capability requirements of the target application do not match the capabilities of the first terminal, the first terminal sends the second response message to the second terminal. When the capability requirements of the target application match the capabilities of the first terminal, the first terminal sends the first response message to the second terminal. When the capability requirements of the target application match the capabilities of the first terminal, the first terminal receives a first operation for the target application. If the user agrees to use the target application based on the first operation, the first terminal sends the first response message to the second terminal; or, if the user refuses to use the target application based on the first operation, the first terminal sends the second response message to the second terminal.
2. The data channel establishment method according to claim 1, characterized in that, The capability requirements of the target application do not match the capabilities of the first terminal, including at least one of the following: If the target application is not included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal; The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application do not match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
3. The data channel establishment method according to claim 1, characterized in that, The capability requirements of the target application match the capabilities of the first terminal, including at least one of the following: If the target application is included in the first application list of the first terminal, the first terminal determines that the capability requirements corresponding to the target application match the capabilities of the first terminal; wherein, the first application list includes at least one application that matches the capabilities of the first terminal; The first terminal obtains the capability requirements corresponding to the target application from the second application list, and determines that the capability requirements corresponding to the target application match the capabilities of the first terminal based on the capability requirements corresponding to the target application and the capabilities of the first terminal; wherein, the second application list includes capability requirements corresponding to at least one application.
4. The data channel establishment method according to claim 1, characterized in that, The first terminal sends a first response message to the second terminal based on the first message, or the first terminal sends a second response message to the second terminal based on the first message, including at least one of the following: If the target application is not included in the first application list of the first terminal, the first terminal sends the second response message to the second terminal. If the target application is included in the first application list of the first terminal, the first terminal sends the first response message to the second terminal. If the target application is included in the first application list of the first terminal, the first terminal receives a first operation for the target application. If the user agrees to use the target application based on the first operation, the first terminal sends the first response message to the second terminal; or, if the user refuses to use the target application based on the first operation, the first terminal sends the second response message to the second terminal. The first application list includes at least one application that matches the capabilities of the first terminal.
5. The data channel establishment method according to any one of claims 2 to 4, characterized in that, The method further includes: The first terminal transmits its capabilities to the first network-side device; The first terminal receives the first application list sent by the first network-side device.
6. The data channel establishment method according to any one of claims 2 to 4, characterized in that, The method further includes: the first terminal determining the capability requirements corresponding to the target application based on the second application list; The second application list includes the capability requirements corresponding to at least one application.
7. The data channel establishment method according to claim 2 or 3, characterized in that, The method further includes: The first terminal requests the second application list from the first network-side device; The first terminal receives the second application list sent by the first network-side device.
8. The data channel establishment method according to claim 6, characterized in that, The method further includes: The first terminal requests the second application list from the first network-side device; The first terminal receives the second application list sent by the first network-side device.
9. The data channel establishment method according to any one of claims 1 to 4, characterized in that, The first response message includes at least one of the following: Media type; The identifier ID of the target application; The name of the target application; The download link address for the target application; The stream ID corresponding to the DC; The bandwidth corresponding to the DC; The maximum message size supported by the DC; The port number corresponding to the DC; The Quality of Service (QoS) parameters corresponding to the DC.
10. The data channel establishment method according to any one of claims 1 to 4, characterized in that, The second response message includes at least one of the following: The first terminal refuses to establish the DC for the following reason; Media type; The download link address for the target application; The bandwidth corresponding to the DC; The maximum message size supported by the DC; The port number corresponding to the DC.
11. The data channel establishment method according to claim 10, characterized in that, The reasons for rejection include any of the following: Mismatch in abilities; The user refused.
12. A method for establishing a data channel, characterized in that, include: The second terminal sends a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application. The second terminal receives a first response message from the first terminal, and the second terminal determines, based on the first response message, that the first terminal accepts the establishment of the DC; or, the second terminal receives a second response message from the first terminal, and the second terminal determines, based on the second response message, that the first terminal refuses to establish the DC. The first response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal; or, the first response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal, based on a first operation for the target application, after determining that the user agrees to use the target application. The second response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal; or, the second response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal, based on a first operation for the target application, after determining that the user refuses to use the target application.
13. The data channel establishment method according to claim 12, characterized in that, The first response message includes at least one of the following: Media type; The identifier ID of the target application; The name of the target application; The download link address for the target application; The stream ID corresponding to the DC; The bandwidth corresponding to the DC; The maximum message size supported by the DC; The port number corresponding to the DC; The Quality of Service (QoS) parameters corresponding to the DC.
14. The data channel establishment method according to claim 12 or 13, characterized in that, The second response message includes at least one of the following: The first terminal refuses to establish the DC for the following reason; Media type; The download link address for the target application; The bandwidth corresponding to the DC; The maximum message size supported by the DC; The port number corresponding to the DC.
15. The data channel establishment method according to claim 14, characterized in that, The reasons for rejection include any of the following: Mismatch in abilities; The user refused.
16. The data channel establishment method according to claim 15, characterized in that, The method further includes: Upon receiving a second response message from the first terminal, the second terminal updates its third application list and / or fourth application list based on the second response message. The third application list includes at least one application that matches the capabilities of the second terminal; the fourth application list includes at least one application with corresponding capability requirements.
17. The data channel establishment method according to claim 16, characterized in that, The method further includes: The second terminal records the reason for rejection based on the second response message.
18. The data channel establishment method according to claim 16 or 17, characterized in that, Based on the second response message, the second terminal updates its third application list and / or fourth application list, including any one of the following: If the reason for rejection includes capability mismatch, the second terminal will remove the target application from the third application list and / or the fourth application list; If the reason for rejection includes user rejection, the second terminal marks the target application in the third application list and / or the fourth application list.
19. A data channel establishment device, characterized in that, include: The first receiving module is used to receive the first message from the second terminal; The first message is used to request the establishment of a data channel DC, which corresponds to the target application; A first sending module is configured to send a first response message to the second terminal based on the first message, wherein the first response message is configured to instruct the first terminal to accept the establishment of the DC; Alternatively, a second response message may be sent to the second terminal based on the first message, the second response message being used to instruct the first terminal to refuse to establish the DC; The first sending module is further configured to send the second response message to the second terminal when the capability requirements corresponding to the target application do not match the capabilities of the first terminal; If the capability requirements of the target application match the capabilities of the first terminal, the first response message is sent to the second terminal. If the capability requirements of the target application match the capabilities of the first terminal, a first operation for the target application is received. If, based on the first operation, it is determined that the user agrees to use the target application, the first response message is sent to the second terminal; or, if, based on the first operation, it is determined that the user refuses to use the target application, the second response message is sent to the second terminal.
20. A data channel establishment device, characterized in that, include: The second sending module is used to send a first message to the first terminal. The first message is used to request the establishment of a data channel DC, and the data channel corresponds to the target application. The second receiving module is configured to receive a first response message from the first terminal and determine, based on the first response message, that the first terminal accepts the establishment of the DC; or, to receive a second response message from the first terminal and determine, based on the second response message, that the first terminal refuses to establish the DC. The first response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal; or, the first response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal, based on a first operation for the target application, after determining that the user agrees to use the target application. The second response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal; or, the second response message is sent by the first terminal when the capability requirements corresponding to the target application match the capabilities of the first terminal, based on a first operation for the target application, after determining that the user refuses to use the target application.
21. A first terminal, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the data channel establishment method as described in any one of claims 1 to 11.
22. A second terminal, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the data channel establishment method as described in any one of claims 12 to 18.
23. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the data channel establishment method as described in any one of claims 1 to 11, or implement the steps of the data channel establishment method as described in any one of claims 12 to 18.
Citation Information
Patent Citations
Communication method and device
CN113906787A
Supplementary service implementation method, entity, terminal, electronic equipment and storage medium
CN114024942A