Communication method, apparatus, terminal, network-side device, and medium
Patent Information
- Application Number
- CN202210523952.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-05
- Filing Date
- 2022-05-13
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2042-05-13
AI Technical Summary
[0005]本申请实施例提供一种通信方法、装置、终端、网络侧设备及介质,能够解决终端的安全性较差的问题
Smart Images

Figure CN117062083B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, specifically relating to a communication method, device, terminal, network-side equipment, and medium. Background Technology
[0002] Typically, during a call between Terminal 1 and another terminal (hereinafter referred to as Terminal 2), the user of Terminal 1 can trigger the establishment of a data channel (DC) between Terminal 1 and Terminal 2 for a specific application. This allows Terminal 1 and Terminal 2 to perform services of that application (such as screen sharing, location sharing, file transfer, etc.) through the DC, thereby improving the user experience.
[0003] However, since there may be situations where the user of terminal 2 does not want terminal 2 to perform a certain application's business through the DC, but terminal 2 has already performed that application's business through the DC, it may lead to the leakage of the user's privacy.
[0004] This results in poor security for the terminal. Summary of the Invention
[0005] This application provides a communication method, apparatus, terminal, network-side device, and medium that can solve the problem of poor terminal security.
[0006] In a first aspect, a communication method is provided, applied to a first terminal, the method comprising: the first terminal sending description information of a target application to a second terminal; receiving response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application; and determining, based on the response information, whether to use the target application to communicate with the second terminal.
[0007] Secondly, a communication device is provided, comprising: a transmitting module for transmitting description information of a target application to a second terminal; a receiving module for receiving response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application; and a determining module for determining, based on the response information received by the receiving module, whether to use the target application to communicate with the second terminal.
[0008] Thirdly, a communication method is provided, applied to a second terminal, the method comprising: the second terminal receiving description information of a target application sent by a first terminal; determining response information based on the description information of the target application, the response information being used by the first terminal to determine whether to use the target application to communicate with the second terminal; and sending the response information to the first terminal.
[0009] Fourthly, a communication device is provided, comprising: a receiving module for receiving description information of a target application sent by a first terminal; a determining module for determining response information based on the description information of the target application received by the receiving module, the response information being used by the first terminal to determine whether to use the target application to communicate with the communication device; and a sending module for sending the response information determined by the determining module to the first terminal.
[0010] Fifthly, a communication method is provided, applied to a target data channel server. The method includes: the target data channel server receiving a second message sent by a first terminal using a first bootstrap data channel, the second message including description information of a target application; identifying a second terminal; and sending a fourth message to the second terminal using a second bootstrap data channel, the fourth message including description information of the target application. The description information of the target application is used by the second terminal to determine response information, which is used by the first terminal to determine whether to use the target application to communicate with the second terminal.
[0011] A sixth aspect provides a communication device comprising: a receiving module for receiving a second message sent by a first terminal using a first bootstrap data channel, the second message including description information of a target application; a determining module for determining a second terminal; and a sending module for sending a fourth message to the second terminal determined by the determining module using a second bootstrap data channel, the fourth message including description information of the target application. The description information of the target application is used by the second terminal to determine response information, which is used by the first terminal to determine whether to communicate with the second terminal using the target application.
[0012] In a seventh aspect, a terminal is provided, the 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.
[0013] Eighthly, a terminal is provided, including a processor and a communication interface, wherein the communication interface is used to send description information of a target application to a second terminal and receive response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application. The processor is used to determine, based on the response information, whether to use the target application to communicate with the second terminal.
[0014] In a ninth aspect, a terminal is provided, the 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 third aspect.
[0015] In a tenth aspect, a terminal is provided, including a processor and a communication interface, wherein the communication interface is used to receive description information of a target application sent by a first terminal. The processor is used to determine response information based on the description information of the target application, the response information being used by the first terminal to determine whether to use the target application to communicate with the terminal. The communication interface is also used to send response information to the first terminal.
[0016] Eleventhly, a network-side device is provided, the network-side device 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 fifth aspect.
[0017] In a twelfth aspect, a network-side device is provided, including a processor and a communication interface. The communication interface is used to receive a second message sent by a first terminal using a first bootstrap data channel. The second message includes description information of a target application. The processor is used to identify the second terminal. The communication interface is also used to send a fourth message to the second terminal using the second bootstrap data channel. The fourth message includes description information of the target application. The description information of the target application is used by the second terminal to determine response information, which is used by the first terminal to determine whether to use the target application to communicate with the second terminal.
[0018] In a thirteenth aspect, a communication system is provided, comprising: a terminal and a network-side device, wherein the terminal is configured to perform the steps of the method described in the first aspect, or to perform the steps of the method described in the third aspect, and the network-side device is configured to perform the steps of the method described in the fifth aspect.
[0019] In a fourteenth 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 the steps of the method described in the third aspect, or the steps of the method described in the fifth aspect.
[0020] In a fifteenth aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run a program or instructions to implement the steps of the method described in the first aspect, or the steps of the method described in the third aspect, or the steps of the method described in the fifth aspect.
[0021] In a sixteenth aspect, a computer program / program product is provided, the computer program / program product being stored in a storage medium, the computer program / program product being executed by at least one processor to implement the steps of the method as described in the first aspect, or the steps of the method as described in the third aspect, or the steps of the method as described in the fifth aspect.
[0022] In this embodiment, the first terminal can send a description of the target application to the second terminal and receive response information determined by the second terminal based on the description of the target application. The first terminal can then determine whether to use the target application to communicate with the second terminal based on the response information. Since the first terminal can first send the description of the target application to the second terminal and determine whether to use the target application to communicate with the second terminal based on the response information, instead of directly using the target application to communicate with the second terminal, the leakage of the second terminal's user privacy can be avoided, thus improving terminal security. Attached Figure Description
[0023] Figure 1 This is a flowchart illustrating the process of establishing a bootstrap data channel in related technologies;
[0024] Figure 2 This is a flowchart illustrating the process of establishing a data channel corresponding to an application in related technologies;
[0025] Figure 3 This is a block diagram of a wireless communication system provided in an embodiment of this application;
[0026] Figure 4 This is one of the flowcharts illustrating the communication method provided in the embodiments of this application;
[0027] Figure 5 This is a second schematic flowchart of the communication method provided in the embodiments of this application;
[0028] Figure 6 This is the third flowchart illustrating the communication method provided in the embodiments of this application;
[0029] Figure 7 This is the fourth flowchart illustrating the communication method provided in the embodiments of this application;
[0030] Figure 8 This is the fifth flowchart illustrating the communication method provided in the embodiments of this application;
[0031] Figure 9 This is the sixth flowchart illustrating the communication method provided in the embodiments of this application;
[0032] Figure 10 This is the seventh flowchart illustrating the communication method provided in the embodiments of this application;
[0033] Figure 11 This is the eighth flowchart illustrating the communication method provided in the embodiments of this application;
[0034] Figure 12 This is the ninth flowchart illustrating the communication method provided in the embodiments of this application;
[0035] Figure 13 This is the tenth flowchart illustrating the communication method provided in the embodiments of this application;
[0036] Figure 14 This is eleventh of the flowcharts illustrating the communication method provided in the embodiments of this application;
[0037] Figure 15 This is the twelfth schematic flowchart of the communication method provided in the embodiments of this application;
[0038] Figure 16 This is one of the structural schematic diagrams of the communication device provided in the embodiments of this application;
[0039] Figure 17 This is a second schematic diagram of the communication device provided in the embodiments of this application;
[0040] Figure 18 This is the third schematic diagram of the communication device provided in the embodiments of this application;
[0041] Figure 19 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application;
[0042] Figure 20 This is a schematic diagram of the hardware structure of the terminal provided in the embodiments of this application;
[0043] Figure 21 This is a schematic diagram of the hardware structure of the network-side device provided in the embodiments of this application. Detailed Implementation
[0044] 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.
[0045] The following will explain the terminology used in the embodiments of this application.
[0046] 1. Create a Bootstrap DC
[0047] like Figure 1As shown, terminal 1 can initiate a call request to terminal 2 via a Session Initiation Protocol (SIP) invite message. This SIP invite message includes voice description information and DC description information. The SIP invite message is routed to the Serving Call Session Control Function (S-CSCF)-1 entity that provides services to terminal 1, so that the S-CSCF-1 entity can route the SIP invite message to the Application Server (AS) that provides services to terminal 1. Thus, the AS can determine, based on the voice description information and the DC description information, to establish a bootstrap DC using the DC Service that provides services to terminal 1, determine the address of the DC Service, and send a bootstrap DC establishment request to the DC Service. In this way, the DC Service can send a DC establishment response to the AS, which includes Session Description Protocol (SDP) information sent to terminal 2. Thus, the AS can send an invite message to the S-CSCF-1 entity, which includes information for establishing a bootstrap DC. This allows the S-CSCF-1 entity to send the invite message to the S-CSCF-2 entity that provides services to terminal 2, based on the address of terminal 2. Terminal 2 can then receive the invite message and reply with a 200 OK message to the S-CSCF-1 entity through the S-CSCF-2 entity. This 200 OK message includes an SDP answer, which contains information for establishing a bootstrap DC. The S-CSCF-1 entity can then send this SDP answer to the DC Service through the AS, thereby establishing a bootstrap DC between the DC Service and terminal 2. Furthermore, the S-CSCF-1 entity can send this SDP answer to terminal 1, thereby establishing a bootstrap DC between the DC Service and terminal 1.
[0048] After establishing a bootstrap DC between DC Service and Terminal 1, Terminal 1 can obtain an APP list from DC Service, and thus Terminal 1 can download an application from the APP list.
[0049] After establishing a bootstrap DC between DC Service and terminal 2, terminal 2 can obtain an APP list from DC Service, and thus terminal 2 can download an application from the APP list.
[0050] In this way, terminal 1 can establish a DC corresponding to a certain application.
[0051] 2. Establish the corresponding DC for the application.
[0052] like Figure 2 As shown, Terminal 1 can initiate a request to Terminal 2 to establish a DC corresponding to a specific application via an SIPre-invite message. This allows the S-CSCF-1 entity to route the SIP re-invite message to the AS. The AS can then send a request to the DCService to establish the DC corresponding to that application, such as an applicationDC establishment request. The DCService can then send an applicationDC establishment response to the AS, which includes the establishment policy for the DC corresponding to the specific application. The AS can then send an invite message to the S-CSCF-1 entity, containing information for establishing the DC corresponding to the specific application. The S-CSCF-1 entity can then send the invite message to the S-CSCF-2 entity based on the address of Terminal 2. Terminal 2 can receive the invite message and reply with a 200 OK message from the S-CSCF-2 entity to the S-CSCF-1 entity. This 200 OK message includes an SDP answer, which provides information for establishing the DC corresponding to the specific application. The S-CSCF-1 entity can then use this SDP answer to establish the DC. The answer is sent to the AS, and the SDP answer is sent to terminal 1, so that terminal 1 can establish a DC for a certain application with terminal 2.
[0053] 3. Other terms
[0054] 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, a 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.
[0055] 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.
[0056] Figure 3This 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. It should be noted that the specific type of terminal 11 is not limited in this embodiment. Besides the aforementioned terminal devices, it can also be a chip within the terminal, such as a modem chip or a system-on-chip (SoC). Network-side device 12 can include access network equipment or core network entities. Access network equipment 12 can 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 can include base stations, WLAN access points, or WiFi nodes, etc. A base station can be referred to as a 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 and 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.The core network entity 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 Function. Support Function (BSF), Application Function (AF), etc. It should be noted that this application embodiment only uses the core network entity in the NR system as an example for description, and does not limit the specific type of core network entity.
[0057] The communication methods, devices, terminals, network-side equipment, and media provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0058] Figure 4 A flowchart illustrating a communication method provided in an embodiment of this application is shown. Figure 4 As shown, the communication method provided in this application embodiment may include the following steps 101 to 103.
[0059] Step 101: The first terminal sends the description information of the target application to the second terminal.
[0060] Optionally, in the embodiments of this application, the above step 101 can be specifically implemented by the following step 101a.
[0061] Step 101a: When a call connection is established between the first terminal and the second terminal, the first terminal sends a description of the target application to the second terminal.
[0062] Optionally, in this embodiment of the application, the first terminal can display an application list based on user input, the application list including application identifiers (e.g., application icons) of at least one application, so that the first terminal can send description information of the target application to the second terminal based on the user's click input of the application identifier of the target application in the at least one application.
[0063] Alternatively, in this embodiment of the application, the first terminal can directly obtain the description information of the target application from the first terminal based on the user's click input of the application identifier of the target application, or directly download the description information of the target application from the core network entity.
[0064] Optionally, in the embodiments of this application, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0065] The target application's identification information may include its identity (ID), name, and fully qualified domain name (FQDN); the target application's attribute information may include its name, developer, and required permissions (e.g., location, storage, contacts); and the target application's type information may include any of the following: messaging, augmented reality (AR), location, sharing, or file transfer.
[0066] Optionally, the target application includes one or more applications, such as one or more Data Channel Applications (DCAPPs). For example:
[0067] The application list contains 5 applications: DCAPP-1, DCAPP-2, DCAPP-3, DCAPP-4, and DCAPP-5.
[0068] The user selects three applications: DCAPP-1, DCAPP-2, and DCAPP-3.
[0069] The first terminal can send descriptions of the three applications to the second terminal based on the user's selection. These descriptions can be sent to the second terminal as an array or a list. For example, when sending application identifiers, the descriptions of the target applications sent by the first terminal would be:
[0070] Array: [DCAPP-1ID, DCAPP-2ID, DCAPP-3ID];
[0071] List: {DCAPP-1ID, DCAPP-2ID, DCAPP-3ID}.
[0072] Optionally, in this embodiment of the application, the first terminal may send a message to the second terminal through a core network entity, the message including descriptive information of the target application.
[0073] The sending of messages from the first terminal to the second terminal through the core network entity can include both direct and indirect sending, for example:
[0074] Direct transmission: The first terminal sends a first message to the core network entity, so that the core network entity can forward the first message to the second terminal;
[0075] Indirect transmission: The first terminal sends a first message to the core network entity, enabling the core network entity to generate a second message and send the second message to the second terminal. The second message contains application description information. Sending the first message from the first terminal to the core network entity can be understood as the core network entity receiving the first message when the first terminal sends it to the second terminal. In this case, the destination address of the first message is either the second terminal or the core network entity.
[0076] The core network entity may include any of the following: S-CSCF-1 providing services to the first terminal, DC Server-1 providing services to the first terminal, DC Server-2 providing services to the second terminal, AS-1 providing services to the first terminal, and AS-2 providing services to the second terminal.
[0077] The aforementioned DC Server can be further subdivided into two types of entities:
[0078] DC control entity: refers to the entity used to control the DC, and can also be called Data Channel Service Control (DCS-C), Data Channel Server (DChS), Data Channel Control Function (DCCF), Data Channel Signalling Function (DCSF), etc.
[0079] DC Media Entity: This refers to the entity used to provide transmission functions for the data channel. It can also be called Data Channel Service Media (DCS-M), Data Channel Media Function (DCMF), Multimedia Resource Function Controller (MRFC), Multimedia Resource Function Processor (MRFP), etc.
[0080] The DC control entity and the DC media entity can also be other network elements with the same function or type, and this application embodiment does not limit this.
[0081] The message can be used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0082] If the above message is used to negotiate the application corresponding to the data channel to be established (and / or the application used during the call), it can be assumed that before initiating the establishment of the data channel corresponding to the target application, the first terminal can first negotiate with the second terminal to use one or more applications (i.e., the target application) to determine whether to use the target application to communicate with the second terminal; if the above message is used to request the establishment of a data channel, it can be assumed that when the first terminal initiates the establishment of the data channel corresponding to the target application, it can negotiate with the second terminal to use one or more applications to determine whether to use the target application to communicate with the second terminal.
[0083] If the above message is used to request the download of a target application, it can be assumed that when the first terminal initiates the download of the target application, it negotiates with the second terminal to use one or more applications to determine whether to use the target application to communicate with the second terminal. Specifically, this includes: the first terminal initiating a target application download request to the core network entity, the core network entity pushing the description information of the target application to the second terminal, so that the second terminal can determine whether to accept using the target application to communicate with the first terminal.
[0084] It should be noted that the "data channel corresponding to the target application" mentioned above can be understood as: the data channel used to transmit the business of the target application.
[0085] Optionally, the first terminal sends a description of the target application to the second terminal, including: the first terminal sending a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description of the target application, or the SDP of the SIP message carries the description of the target application. Here, "the first terminal sending a SIP message to the second terminal" can be understood as the first terminal directly sending a SIP message to the second terminal.
[0086] Step 102: The first terminal receives the response information sent by the second terminal.
[0087] In this embodiment of the application, the response information is determined by the second terminal based on the description information of the target application.
[0088] Optionally, in this embodiment of the application, the first terminal can receive the fifth message sent by the second terminal through the aforementioned core network entity, and the fifth message includes response information.
[0089] The fifth message can be any of the following: 180, 183, 200ok, 4XY, or 5XY. Where X and Y represent any integers from 0 to 9.
[0090] The response information may include any of the following: confirmation information or denial information.
[0091] Step 103: The first terminal determines whether to use the target application to communicate with the second terminal based on the response information.
[0092] In this embodiment of the application, "using the target application to communicate with the second terminal" can be understood as: using the target application to transmit information, interact with information, transmit data, or interact with data with the second terminal. "Using the target application to communicate with the second terminal" can also be understood as: using the target application during communication between the first terminal and the second terminal.
[0093] In this embodiment of the application, the first terminal can determine whether the second terminal wants to use the target application to communicate with the first terminal based on the response information; thereby the first terminal can determine whether to initiate the establishment of the data channel corresponding to the target application, or determine whether to continue the establishment of the data channel corresponding to the target application.
[0094] It is understandable that if the second terminal wants to use the target application to communicate with the first terminal, the first terminal can initiate the establishment of the data channel corresponding to the target application (or continue the establishment of the data channel corresponding to the target application); if the second terminal does not want to use the target application to communicate with the first terminal, the first terminal can choose not to initiate the establishment of the data channel corresponding to the target application (or stop the establishment of the data channel corresponding to the target application).
[0095] Optionally, if the target application sent by the first terminal contains description information corresponding to at least two applications, the second terminal may choose to accept some applications for communication with the first terminal, and send description information of the applications that can be used for communication to the first terminal through a response message. For example:
[0096] The target application sent by the first terminal contains description information for three applications: DC APP-1ID, DC APP-2ID, and DCAPP-3ID.
[0097] The second terminal accepts two of the applications: DCAPP-1 and DCAPP-2;
[0098] The second terminal sends the description information of the target application it has accepted to the first terminal via a response message: DCAPP-1ID, DCAPP-2ID;
[0099] The first terminal and the second terminal use the accepted target application to communicate.
[0100] If both the first and second terminals have downloaded the apps corresponding to DCAPP-1ID and DCAPP-2ID, they can directly use these apps to initiate the application data channel establishment process. If neither the first nor the second terminal has downloaded the apps corresponding to DCAPP-1ID and DCAPP-2ID, they will download the corresponding apps, for example, by downloading based on the app ID or by downloading based on the mapping between the app ID and the data channel server.
[0101] Optionally, in the embodiments of this application, step 103 can be implemented by step 103a or step 103b as described below.
[0102] Step 103a: If the response information is a confirmation message, the first terminal determines to use the target application to communicate with the second terminal.
[0103] In this embodiment, if the response information is a confirmation message, it can be assumed that the user of the second terminal wants to use the target application to communicate with the first terminal. Therefore, the first terminal can determine whether to establish a data channel corresponding to the target application with the second terminal (or continue establishing the data channel corresponding to the target application). If the target application sent by the first terminal contains description information corresponding to at least two applications, the second terminal can choose to accept some applications for communication with the first terminal.
[0104] Optionally, in this embodiment of the application, after the first terminal determines that it will use the target application to communicate with the second terminal, the first terminal may send a request to the second terminal to establish a data channel corresponding to the target application through a SIP re-invite message to carry out the data channel establishment process corresponding to the target application; or, the first terminal may continue to carry out the data channel establishment process corresponding to the target application.
[0105] Therefore, it can be seen that the first terminal will only use the target application to communicate with the second terminal if the user on the second terminal wants the second terminal to use the target application to communicate with the first terminal. Thus, the leakage of the user's privacy on the second terminal can be avoided.
[0106] Step 103b: If the response information is a denial message, the first terminal determines that it will not use the target application to communicate with the second terminal.
[0107] In this embodiment, if the response information is a denial message, it can be assumed that the user of the second terminal does not want the second terminal to use the target application to communicate with the first terminal. Therefore, the first terminal can choose not to establish a data channel corresponding to the target application with the second terminal (or stop establishing a data channel corresponding to the target application). If the target application sent by the first terminal contains description information corresponding to at least one application, the denial message represents that the second terminal chooses to reject all applications used to communicate with the first terminal.
[0108] Thus, since the user on the second terminal does not want the second terminal to use the target application to communicate with the first terminal, the first terminal will not use the target application to communicate with the second terminal. Therefore, it is possible to prevent the user on the second terminal from being unable to block the use of the target application in a timely manner.
[0109] Optionally, in the embodiments of this application, after step 103 above, the communication method provided in the embodiments of this application may further include step 201 or step 202 as described below.
[0110] Step 201: If the first terminal determines that it will use the target application to communicate with the second terminal, the first terminal performs the first operation.
[0111] In this embodiment of the application, the first operation includes at least one of the following: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application.
[0112] Once the first terminal marks the target application as available, the first terminal can use the target application to communicate with the second terminal.
[0113] In cases where the target application has not been downloaded on the first terminal, the first operation may include downloading the target application. If the target application comprises multiple applications, and some applications have been downloaded while others have not, then only the undownloaded applications need to be downloaded.
[0114] Specifically, the first terminal can download the target application from the data channel server corresponding to the target application (such as the target data channel server in the following embodiment).
[0115] Alternatively, in this embodiment of the application, the first terminal may use the bootstrap data channel to download the target application from the data channel server corresponding to the target application.
[0116] Thus, when the first terminal determines to communicate with the second terminal using the target application, it can directly perform at least one operation: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application, without requiring the user to perform multiple operations. Therefore, the user's operation can be simplified, thereby improving the user experience.
[0117] When the first operation performed by the first terminal is "establishing a data channel corresponding to the target application with the second terminal", the establishment of the data channel corresponding to the target application by the first terminal and the second terminal includes: the first terminal sending a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description information of the target application, or the SDP of the SIP message carries the description information of the target application.
[0118] In this embodiment of the application, the SIP message header may be the P-Preferred-Service message header of the SIP message, which carries the description information of the target application; or, line a of the SDP may carry the description information of the target application.
[0119] Step 202: If the first terminal determines that it will not use the target application to communicate with the second terminal, the first terminal performs the second operation.
[0120] In this embodiment of the application, the second operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
[0121] Once the first terminal marks the target application as available, the first terminal cannot use the target application to communicate with the second terminal.
[0122] In cases where the target application has already been downloaded on the first terminal, the second operation may include deleting the downloaded target application.
[0123] Thus, when the first terminal determines that it will not use the target application to communicate with the second terminal, it can directly perform at least one operation, such as marking the target application as unavailable or deleting the downloaded target application, without requiring the user to perform multiple operations. Therefore, the user's operation can be simplified, thereby improving the user experience.
[0124] The communication method provided in this application embodiment allows a first terminal to send a description of a target application to a second terminal and receive response information determined by the second terminal based on the description of the target application. The first terminal can then determine whether to use the target application to communicate with the second terminal based on the response information. Since the first terminal can first send the description of the target application to the second terminal and determine whether to use the target application to communicate with the second terminal based on the response information, instead of directly using the target application to communicate with the second terminal, the leakage of user privacy on the second terminal can be avoided, thus improving terminal security.
[0125] Furthermore, in related technologies, the establishment process of the data channel corresponding to the application involves negotiating Quality of Service (QoS) parameters (e.g., bandwidth, latency, packet loss rate, etc.), and the second terminal may not be able to determine which application the first terminal wants to launch. However, in the embodiments of this application, since the first terminal can send the description information of the target application to the second terminal, the second terminal can determine the application that the first terminal wants to launch (i.e., the target application), thus avoiding the second terminal being unable to launch the target application.
[0126] The following examples illustrate how the first terminal sends the description information of the target application to the second terminal.
[0127] Example 1
[0128] Optionally, in the embodiments of this application, combined with Figure 4 ,like Figure 5 As shown, step 101 above can be implemented through step 101b below.
[0129] Step 101b: The first terminal sends the description information of the target application to the second terminal through the first core network entity.
[0130] Further optionally, in this embodiment of the application, the first core network entity mentioned above may specifically be: S-CSCF-1, which provides services to the first terminal.
[0131] Optionally, in the embodiments of this application, the above step 101b can be specifically implemented by the following step 101b1.
[0132] Step 101b1: The first terminal sends a first message to the first core network entity, so that the first core network entity sends the description information of the target application to the second terminal according to the first message.
[0133] The first core network entity can directly forward the first message to the second terminal, or it can generate a new message based on the first message and send the new message to the second terminal. The new message contains description information of the target application.
[0134] In this embodiment of the application, the first message includes description information of the target application; the first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, and requesting to download the target application.
[0135] In this context, "the application corresponding to the data channel to be established" can be understood as the target application; "the application used during the call" can be understood as the target application; and "request to establish a data channel" can be understood as a request to establish a data channel corresponding to the target application.
[0136] Optionally, in this embodiment of the application, the first message is a SIP message; wherein the SIP message header of the SIP message carries description information of the target application, or the SDP of the SIP message carries description information of the target application.
[0137] Optionally, in this embodiment of the application, the P-Preferred-Service header of the SIP message carries description information of the target application, or the a line of the SDP carries description information of the target application.
[0138] For example, when the P-Preferred-Service header of a SIP message carries description information of the target application, the P-Preferred-Service header may carry:
[0139] g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.datachannel.xxx.
[0140] xxx represents the application's ID, Name, or FQDN.
[0141] Optionally, in this embodiment, the first message further includes information about a target data channel server, which corresponds to a target application. This information is used by the second terminal to determine the target data channel server. If the target application contains multiple applications, each application corresponds to a g.3gpp.icsi-ref.
[0142] The phrase "target application corresponding to target data channel server" can be understood as: the target application is stored in the data channel server or the target data channel server provides download services for the target application.
[0143] The information of the target data channel server may include at least one of the following: Internet Protocol Address (IP) address, Fully Qualified Domain Name (FQDN), or URL. This information is used to locate the target data channel server.
[0144] For example, if the SIP message's SDP carries description information of the target application, an additional line 'a' can be added to the SDP:
[0145] a=dcmap:7216app id=xxx; Source=yyy
[0146] a=dcmap:7216app attribute=zzz; Source=yyy.
[0147] Where xxx represents the application's ID, Name, or FQDN; yyy represents the information of the target data channel server corresponding to the application; and zzz represents the application's attributes or type.
[0148] If the target application contains multiple applications, then each application corresponds to a row 'a'.
[0149] For example, let's take the application used in the first message to negotiate the data channel to be established (and / or the application used during the negotiation call) as an example. Figure 6As shown, the first terminal can send a re-invite message to the first core network entity (e.g., S-CSCF-1) to negotiate the establishment of a data channel corresponding to the target application. This negotiation request includes description information of the target application (e.g., DC application description) and information of the target data channel server (e.g., DCServer description). This allows S-CSCF-1 to send the re-invite message to the AS, which in turn replies with a re-invite message to S-CSCF-1. S-CSCF-1 can then send a re-invite message to S-CSCF-2, which in turn sends a re-invite message to the second terminal. Thus, if the second terminal determines to use the target application (i.e., DCApplication), it can download the DC from the corresponding DC Server (i.e., DCServer-1) based on the DC Server description. The application sends a response message (e.g., 200 OK) to S-CSCF-2, which in turn sends the 200 OK to S-CSCF-1. S-CSCF-1 then sends the 200 OK to AS, which replies to S-CSCF-1 with the 200 OK. S-CSCF-1 then sends the 200 OK to the first terminal, enabling the first terminal to determine that it is using the target application to communicate with the second terminal. Without downloading the DC application, the first terminal downloads the DC application from DCServer-1 and then establishes the data channel corresponding to the DC application.
[0150] To illustrate further, let's take the example of the first message being used to request the establishment of a data channel. For example... Figure 7As shown, the first terminal can send a re-invite message to the first core network entity (e.g., S-CSCF-1) to request the establishment of a data channel corresponding to the target application. This request includes description information of the target application (e.g., DC application description) and information of the target data channel server (e.g., DC Server description). This allows S-CSCF-1 to send the re-invite message to the AS, which in turn sends an application DC establishment request to DC Server-1. DC Server-1 then replies with an application DC establishment response to the AS, allowing the AS to send a re-invite message to S-CSCF-1. S-CSCF-1 can then send a re-invite message to S-CSCF-2, which in turn sends a re-invite message to the second terminal. If the second terminal determines that it will use the target application (i.e., the DC application), it can download the DC from the corresponding DC Server (i.e., DC Server-1) based on the DC Server description. The application sends a response message (e.g., 200 OK) to S-CSCF-2, which in turn sends the 200 OK to S-CSCF-1. S-CSCF-1 then sends the 200 OK to AS, which replies to S-CSCF-1 with the 200 OK. S-CSCF-1 then sends the 200 OK to the first terminal, allowing the first terminal to determine that it is using the target application to communicate with the second terminal and to continue establishing the data channel corresponding to the DC application.
[0151] Example 2
[0152] Optionally, in the embodiments of this application, combined with Figure 4 ,like Figure 8 As shown, step 101 above can be implemented through step 101c below.
[0153] Step 101c: The first terminal sends the description information of the target application to the second terminal through the target data channel server.
[0154] In this embodiment of the application, the target data channel server corresponds to the target application.
[0155] Optionally, in the embodiments of this application, the above step 101c can be specifically implemented by the following step 101c1.
[0156] Step 101c1: The first terminal uses the first bootstrap data channel to send a second message to the target data channel server, so that the target data channel server sends the description information of the target application to the second terminal according to the second message.
[0157] In this embodiment of the application, the second message includes description information of the target application; the second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, and requesting to download the target application.
[0158] Further optionally, in this embodiment of the application, the second message mentioned above can be a Hypertext Transfer Protocol (HTTP) message.
[0159] Optionally, in this embodiment of the application, the second message further includes identification information of the second terminal, which is used by the target data channel server to send description information of the target application to the second terminal.
[0160] Specifically, the identification information of the second terminal can be any of the following: the Uniform Resource Identifier (URI) of the second terminal, the Mobile Station ISDN International ISDN Number (MSISDN), the identifier assigned to the second terminal by the target data channel server, the stream ID of the bootstrap DC between the first terminal and the target data channel server, the stream ID of the bootstrap DC between the second terminal and the target data channel server, and the stream ID of the application DC between the first terminal and the second terminal.
[0161] For example, let's take the application used in the second message to negotiate the data channel to be established (and / or the application used during the negotiation call) as an example. Figure 9As shown, the first terminal can use the first bootstrap data channel to send a request to the target data channel server (e.g., DC Server-1). This request includes a description of the target application (e.g., a DC application description) and the identification information of the second terminal. This allows DC Server-1 to send a request to the second terminal based on the second terminal's identification information. If the second terminal determines that it will use the target application (i.e., the DC application), it can directly download the DC application from DC Server-1 and send a response message back to DC Server-1. This allows DC Server-1 to send a response message to the first terminal, thus enabling the first terminal to determine that it will use the target application to communicate with the second terminal. Even if the DC application has not been downloaded, the first terminal downloads it from DC Server-1 before establishing the data channel corresponding to the DC application. The process of establishing the data channel corresponding to the DC application is the same as the SIP message in step 101b1 and will not be described again.
[0162] Figure 10 A flowchart illustrating a communication method provided in an embodiment of this application is shown. Figure 10 As shown, the communication method provided in this application embodiment may include the following steps 301 to 303.
[0163] Step 301: The second terminal receives the description information of the target application sent by the first terminal.
[0164] Optionally, in this embodiment of the application, when a call connection is established between the second terminal and the first terminal, the second terminal may receive description information of the target application sent by the first terminal.
[0165] Optionally, in this embodiment of the application, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0166] Optionally, the target application includes one or more applications, such as one or more Data Channel Applications (DCAPPs). For example:
[0167] The application list contains 5 applications: DCAPP-1, DCAPP-2, DCAPP-3, DCAPP-4, and DCAPP-5.
[0168] The user selects three applications: DCAPP-1, DCAPP-2, and DCAPP-3.
[0169] The first terminal can send descriptions of the three applications to the second terminal based on the user's selection. These descriptions can be sent to the second terminal as an array or a list. For example, when sending application identifiers, the descriptions of the target applications sent by the first terminal would be:
[0170] Array: [DCAPP-1ID, DCAPP-2ID, DCAPP-3ID];
[0171] List: {DCAPP-1ID, DCAPP-2ID, DCAPP-3ID}.
[0172] Optionally, in this embodiment, the second terminal can receive a request message from the first terminal through a core network entity. This request message includes a description of the target application. The request message may be the same as or different from the message sent by the first terminal to the core network entity.
[0173] It is understandable that when the core network entity directly forwards the message to the second terminal, the request message can be the same as the message sent by the first terminal to the core network entity; when the core network entity generates a new message based on the message sent by the first terminal to the core network entity, the request message can be different from the new message.
[0174] Optionally, the second terminal can directly receive SIP messages from the first terminal, the SIP messages carrying description information of the target application. For example, the description information of the target application can be carried in the header of the SIP message, or the description information of the target application can be carried in the SDP of the SIP message.
[0175] Step 302: The second terminal determines the response information based on the description information of the target application.
[0176] In this embodiment of the application, the above-mentioned response information is used by the first terminal to determine whether to use the target application to communicate with the second terminal.
[0177] The response information may include any of the following: confirmation information or denial information.
[0178] In one example, the second terminal has pre-set descriptions of multiple applications, allowing it to determine the response information based on whether a target description exists within these application descriptions. This target description is defined as descriptions that match (e.g., are identical to) the descriptions of the target application.
[0179] In another example, the second terminal can display relevant information about the target application based on its description, and determine the response information based on the user's input. Specifically, combined with Figure 10 ,like Figure 11 As shown, step 302 can be implemented through steps 302a and 302b below.
[0180] Step 302a: The second terminal displays the information of the target application based on the description information of the target application.
[0181] Further optionally, in the embodiments of this application, the information of the target application may include at least one of the following: the name of the target application, the application type of the target application, etc.
[0182] Alternatively, in this embodiment, the second terminal may also display an "Accept" control and a "Reject" control, so that the user can click on the "Accept" control or the "Reject" control to input information for the target application according to the user's needs.
[0183] Step 302b: The second terminal responds to the user's input of information about the target application and determines the response information based on the input.
[0184] Alternatively, in this embodiment of the application, the second terminal may input a click on the "Accept" control to determine the response information.
[0185] Thus, since the user of the second terminal can input the information of the target application displayed on the second terminal according to their usage needs, so that the second terminal can determine the response information used by the first terminal to determine whether to use the target application to communicate with the second terminal, the leakage of the user's privacy of the second terminal can be avoided.
[0186] Optionally, in the embodiments of this application, the above step 302b can be implemented by the following steps 302b1 or 302b2.
[0187] Step 302b1: When the input is the first input, the second terminal determines the confirmation information corresponding to the first input as the response information.
[0188] Alternatively, in this embodiment of the application, the first input may specifically be a click on the "Accept" control.
[0189] Step 302b1: When the input is the second input, the second terminal determines the denial information corresponding to the second input as the response information.
[0190] In this embodiment of the application, the first input is different from the second input.
[0191] Alternatively, in this embodiment of the application, the second input may specifically be a click input on the "Reject" control.
[0192] Further optionally, in this embodiment of the application, the second terminal may set line a of the SDP in the received request message to 0 in order to obtain a denial message.
[0193] Step 303: The second terminal sends a response message to the first terminal.
[0194] Optionally, in this embodiment of the application, the second terminal can send a fifth message to the first terminal through the aforementioned core network entity, the fifth message including response information.
[0195] The response message sent by the core network entity to the first terminal may be the same as or different from the fifth message. In the case of the different messages, the core network entity generates a new message based on the fifth message and sends it to the first terminal; this new message contains response information.
[0196] The fifth message can be any of the following: 180, 183, 200ok, 4XY, or 5XY. Where X and Y represent any integers from 0 to 9.
[0197] Optionally, if the target application sent by the first terminal contains description information corresponding to at least two applications, the second terminal may choose to accept some applications for communication with the first terminal, and send description information of the applications that can be used for communication to the first terminal through a response message. For example:
[0198] The target application sent by the first terminal contains description information for three applications: DC APP-1ID, DC APP-2ID, and DCAPP-3ID.
[0199] The second terminal accepts two of the applications: DCAPP-1 and DCAPP-2;
[0200] The second terminal sends the description information of the target application it has accepted to the first terminal via a response message: DCAPP-1ID, DCAPP-2ID;
[0201] The first terminal and the second terminal use the accepted target application to communicate.
[0202] If both the first and second terminals have downloaded the apps corresponding to DCAPP-1ID and DCAPP-2ID, they can directly use these apps to initiate the application data channel establishment process. If neither the first nor the second terminal has downloaded the app corresponding to DCAPP-1ID and DCAPP-2ID, then the corresponding app will be downloaded, for example, based on the app ID or the mapping between the app ID and the data channel server.
[0203] Optionally, in the embodiments of this application, after step 303 above, the communication method provided in the embodiments of this application may further include step 401 or step 402 as described below.
[0204] Step 401: If the second terminal determines that it is using the target application to communicate with the first terminal, the second terminal performs the third operation.
[0205] In this embodiment of the application, the third operation includes at least one of the following: marking the target application as available and downloading the target application.
[0206] Thus, when the second terminal determines that it is using the target application to communicate with the first terminal, it can directly perform at least one operation, such as marking the target application as available and downloading the target application, without requiring the user to perform multiple operations. Therefore, the user's operation can be simplified, thereby improving the user experience.
[0207] Step 402: If the second terminal determines that it will not use the target application to communicate with the first terminal, the second terminal performs the fourth operation.
[0208] In this embodiment of the application, the fourth operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
[0209] Thus, when the second terminal determines that it will not use the target application to communicate with the first terminal, it can directly perform at least one operation, such as marking the target application as unavailable or deleting the downloaded target application, without requiring the user to perform multiple operations. Therefore, the user's operation can be simplified, thereby improving the user experience.
[0210] The communication method provided in this application embodiment allows a second terminal to receive description information of a target application from a first terminal. Based on this description information, the second terminal determines response information for the first terminal to decide whether to use the target application to communicate with the second terminal, and then sends this response information back to the first terminal. Since the second terminal determines the response information based on the target application's description information to determine whether the first terminal should use the target application to communicate with the second terminal, rather than directly using the target application to communicate with the first terminal, the leakage of user privacy on the second terminal can be avoided, thus improving terminal security.
[0211] The following examples illustrate how a second terminal receives description information of a target application from a first terminal.
[0212] Example 3
[0213] Optionally, in the embodiments of this application, combined with Figure 10 ,like Figure 12 As shown, step 301 above can be implemented through step 301a below.
[0214] Step 301a: The second terminal receives the description information of the target application sent by the first terminal through the first core network entity.
[0215] Optionally, in the embodiments of this application, combined with Figure 12 ,like Figure 13 As shown, step 301a above can be implemented through step 301a1 below.
[0216] Step 301a1: The second terminal receives the third message.
[0217] In this embodiment of the application, the aforementioned third message is sent by the first core network entity based on the first message sent by the first terminal. The third message includes description information of the target application. The first message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0218] Further optionally, in this embodiment of the application, the aforementioned third message may specifically be a SIP message.
[0219] Optionally, in this embodiment of the application, the third message further includes information about the target data channel server, which corresponds to the target application. Specifically, after step 301a1, the communication method provided in this embodiment of the application may further include the following step 501.
[0220] Step 501: If the second terminal determines that it will use the target application to communicate with the first terminal, and the second terminal has not downloaded the target application, then the second terminal downloads the target application from the target data channel server according to the information of the target data channel server.
[0221] Alternatively, if the response information is a confirmation message, and the second terminal has not downloaded the target application, then the second terminal downloads the target application from the target data channel server based on the information from the target data channel server. If the target application contains multiple applications, and some applications have been downloaded while others have not, then only the undownloaded applications need to be downloaded.
[0222] It should be noted that the description of downloading the target application on the second terminal can be found in the specific description in the above embodiments, and will not be repeated here.
[0223] Thus, if the second terminal determines to use the target application to communicate with the first terminal, and the second terminal has not downloaded the target application, the second terminal can directly download the target application from the target data channel server without requiring multiple operations from the user. Therefore, the user's operation can be simplified, thereby improving the user experience.
[0224] Example 4
[0225] Optionally, in the embodiments of this application, combined with Figure 10 ,like Figure 14 As shown, step 301 above can be implemented through step 301b below.
[0226] Step 301b: The second terminal receives the description information of the target application sent by the first terminal through the target data channel server.
[0227] In this embodiment of the application, the target data channel server corresponds to the target application.
[0228] Optionally, in the embodiments of this application, the above step 301b can be specifically implemented by the following step 301b1.
[0229] Step 301b1: The second terminal receives the fourth message.
[0230] In this embodiment of the application, the fourth message is sent by the target data channel server based on the second message sent by the first terminal. The fourth message includes description information of the target application. The second message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0231] Alternatively, in this embodiment of the application, the fourth message mentioned above can be an HTTP message.
[0232] Alternatively, in this embodiment of the application, the second terminal may use the second bootstrap data channel to receive the fourth message from the target data channel server.
[0233] Figure 15 A flowchart illustrating a communication method provided in an embodiment of this application is shown. Figure 15 As shown, the communication method provided in this application embodiment may include the following steps 601 to 603.
[0234] Step 601: The target data channel server uses the first bootstrap data channel to receive the second message sent by the first terminal.
[0235] In this embodiment of the application, the second message includes description information of the target application.
[0236] Optionally, in this embodiment of the application, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0237] In this application embodiment, the target application includes one or more applications.
[0238] Optionally, in this embodiment of the application, the second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0239] Step 602: The target data channel server determines the second terminal.
[0240] Optionally, in this embodiment of the application, the second message further includes the identification information of the second terminal. Specifically, step 602 can be implemented through step 602a as described below.
[0241] Step 602a: The target data channel server determines the second terminal based on the identification information of the second terminal.
[0242] Step 603: The target data channel server uses the second bootstrap data channel to send the fourth message to the second terminal.
[0243] In this embodiment of the application, the fourth message includes a description of the target application. The description of the target application is used by the second terminal to determine the response information, and the response information is used by the first terminal to determine whether to use the target application to communicate with the second terminal.
[0244] The communication method provided in this application embodiment allows a target data channel server to receive a second message containing description information of a target application sent by a first terminal using a first bootstrap data channel. The target data channel server can then identify a second terminal and send a fourth message containing the same description information to the second terminal using the second bootstrap data channel. This description information is used by the second terminal to determine a response, which in turn is used by the first terminal to determine whether to use the target application to communicate with the second terminal. Because the target data channel server can receive the target application description information sent by the first terminal and send it to the second terminal, the second terminal can determine the response information used by the first terminal to decide whether to use the target application to communicate with the second terminal. This allows the first terminal to determine whether to use the target application to communicate with the second terminal based on the response information, rather than directly using the target application to communicate with the second terminal. Therefore, the leakage of user privacy on the second terminal can be avoided, thus improving terminal security.
[0245] Optionally, in the embodiments of this application, after step 603 above, the communication method provided in the embodiments of this application may further include the following steps 701 and 702.
[0246] Step 701: The target data channel server uses the second bootstrap data channel to receive the response information sent by the second terminal.
[0247] Step 702: The target data channel server uses the first bootstrap data channel to send response information to the first terminal.
[0248] The communication method provided in this application can be executed by a communication device. This application uses the example of a communication device executing the communication method to illustrate the communication device provided in this application.
[0249] Figure 16 A schematic diagram of a possible structure of the communication device involved in an embodiment of this application is shown. For example... Figure 16 As shown, the communication device 50 may include: a sending module 51, used to send description information of a target application to a second terminal; a receiving module 52, used to receive response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application; and a determining module 53, used to determine whether to use the target application to communicate with the second terminal based on the response information received by the receiving module 52.
[0250] In one possible implementation, the aforementioned sending module 51 is specifically used to send description information of the target application to the second terminal through the first core network entity.
[0251] In one possible implementation, the sending module 51 is specifically used to send a first message to a first core network entity, so that the first core network entity sends a description of the target application to the second terminal based on the first message. The first message includes the description of the target application. Specifically, the first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0252] In one possible implementation, the first message also includes information about a target data channel server, which corresponds to a target application, and this information is used by the second terminal to determine the target data channel server.
[0253] In one possible implementation, the first message is a SIP message. The SIP message header of the SIP message carries a description of the target application, or the SIP message SDP carries a description of the target application.
[0254] Optionally, the sending module 51 is configured to send a SIP message to the second terminal. The SIP message carries description information of the target application, which may be carried in the SIP message header or in the SDP of the SIP message.
[0255] In one possible implementation, the P-Preferred-Service header of the SIP message carries a description of the target application, or the a line of the SDP carries a description of the target application.
[0256] In one possible implementation, the sending module 51 is specifically used to send description information of the target application to the second terminal through the target data channel server. The target data channel server corresponds to the target application.
[0257] In one possible implementation, the sending module 51 is specifically used to send a second message to the target data channel server using the first bootstrap data channel, so that the target data channel server sends a description of the target application to the second terminal based on the second message. The second message includes the description of the target application. Specifically, the second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0258] In one possible implementation, the second message further includes identification information of the second terminal, which is used by the target data channel server to send description information of the target application to the second terminal.
[0259] In one possible implementation, the sending module 51 is specifically used to send description information of the target application to the second terminal when a call connection is established between the communication device 50 and the second terminal.
[0260] In one possible implementation, the aforementioned determining module 53 is specifically used to determine whether to use the target application to communicate with the second terminal when the response information is an acknowledgment message; or, when the response information is a denial message, to determine whether to use the target application to communicate with the second terminal.
[0261] In one possible implementation, the communication device 50 provided in this application embodiment may further include: an execution module, configured to perform a first operation when the communication device 50 determines that it will use the target application to communicate with the second terminal; or, configured to perform a second operation when the communication device 50 determines that it will not use the target application to communicate with the second terminal. The first operation includes at least one of the following: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application; the second operation includes at least one of the following: marking the target application as unavailable, and deleting the downloaded target application.
[0262] Optionally, if the first operation performed by the execution module is "establishing a data channel corresponding to the target application with the second terminal", the execution module establishing the data channel corresponding to the target application with the second terminal includes: the execution module sending a SIP message to the second terminal. The SIP message carries description information of the target application. For example, the description information of the target application can be carried through the SIP message header of the SIP message, or the description information of the target application can be carried through the SDP of the SIP message.
[0263] Optionally, the P-Preferred-Service header of the SIP message carries a description of the target application, or the a line of the SDP carries a description of the target application.
[0264] Optionally, the target application may include one or more applications.
[0265] In one possible implementation, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0266] The communication device provided in this application embodiment can first send the description information of the target application to the second terminal, and determine whether to use the target application to communicate with the second terminal based on the response information, instead of directly using the target application to communicate with the second terminal. Therefore, the leakage of user privacy of the second terminal can be avoided, thus improving the security of the terminal.
[0267] The communication 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.
[0268] The communication device provided in this application embodiment can achieve... Figures 1 to 9 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0269] Figure 17 A schematic diagram of a possible structure of the communication device involved in an embodiment of this application is shown. For example... Figure 17 As shown, the communication device 60 may include: a receiving module 61, configured to receive description information of a target application sent by a first terminal; a determining module 62, configured to determine response information based on the description information of the target application received by the receiving module 61, the response information being used by the first terminal to determine whether to use the target application to communicate with the communication device 60; and a sending module 63, configured to send the response information determined by the determining module 62 to the first terminal.
[0270] In one possible implementation, the communication device 60 provided in this application embodiment may further include: a display module, which is used to display information of the target application based on the description information of the target application. The aforementioned determining module 62 is specifically used to determine response information based on user input of the target application information displayed by the display module.
[0271] In one possible implementation, the determining module 62 is specifically used to determine the confirmation information corresponding to the first input as the response information when the input is a first input; or, when the input is a second input, to determine the denial information corresponding to the second input as the response information. Here, the first input and the second input are different.
[0272] In one possible implementation, the receiving module 61 is specifically used to receive description information of the target application sent by the first terminal through the first core network entity.
[0273] In one possible implementation, the receiving module 61 is specifically used to receive a third message, which is sent by the first core network entity based on the first message sent by the first terminal. This third message includes description information of the target application. The first message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0274] In one possible implementation, the third message further includes information about a target data channel server, which corresponds to the target application. The communication device 60 provided in this embodiment may further include a download module, configured to download the target application from the target data channel server based on the information of the target data channel server if the communication device 60 determines that it is using the target application to communicate with the first terminal but has not downloaded the target application.
[0275] In one possible implementation, the receiving module 61 is specifically used to receive the description information of the target application sent by the first terminal through the target data channel server.
[0276] In one possible implementation, the receiving module 61 is specifically used to receive a fourth message, which is sent by the target data channel server based on the second message sent by the first terminal. This fourth message includes description information of the target application. The second message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting the establishment of a data channel, or requesting the download of the target application.
[0277] In one possible implementation, the communication device 60 provided in this application embodiment may further include: an execution module, configured to perform a third operation when the communication device 60 determines that it will use the target application to communicate with the first terminal; or, to perform a fourth operation when the communication device 60 determines that it will not use the target application to communicate with the first terminal. The third operation includes at least one of the following: marking the target application as available and downloading the target application; the fourth operation includes at least one of the following: marking the target application as unavailable and deleting the downloaded target application.
[0278] In one possible implementation, the target application includes one or more applications.
[0279] In one possible implementation, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0280] The communication device provided in this application embodiment can determine the response information based on the description information of the target application to determine whether the first terminal should use the target application to communicate with the communication device, instead of directly using the target application to communicate with the first terminal. Therefore, the leakage of user privacy of the communication device can be avoided, thus improving the security of the terminal.
[0281] The communication 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.
[0282] The communication device provided in this application embodiment can achieve... Figures 11 to 14 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0283] Figure 18 A schematic diagram of a possible structure of the communication device involved in an embodiment of this application is shown. For example... Figure 18 As shown, the communication device 70 may include: a receiving module 71, configured to receive a second message sent by a first terminal using a first bootstrap data channel, the second message including description information of a target application; a determining module 72, configured to determine a second terminal; and a sending module 73, configured to send a fourth message to the second terminal determined by the determining module 72 using the second bootstrap data channel, the fourth message including description information of the target application. The description information of the target application is used by the second terminal to determine a response, which in turn is used by the first terminal to determine whether to use the target application to communicate with the second terminal.
[0284] In one possible implementation, the second message further includes identification information of the second terminal. Specifically, the determining module 72 is used to determine the second terminal based on its identification information.
[0285] In one possible implementation, the second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0286] In one possible implementation, the receiving module 71 is further configured to receive response information from the second terminal using the second bootstrap data channel. The sending module 73 is further configured to send response information to the first terminal using the first bootstrap data channel.
[0287] In one possible implementation, the target application includes one or more applications.
[0288] In one possible implementation, the description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
[0289] The communication device provided in this application embodiment can receive description information of a target application sent by a first terminal and send the description information of the target application to a second terminal. This allows the second terminal to determine response information used by the first terminal to determine whether to use the target application to communicate with the second terminal. In turn, the first terminal can determine whether to use the target application to communicate with the second terminal based on the response information, instead of directly using the target application to communicate with the second terminal. Therefore, the leakage of user privacy of the second terminal can be avoided, thus improving the security of the terminal.
[0290] The communication 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 be, but is not limited to, the type of network-side device 12 listed above. Other devices can be servers, network-attached storage (NAS), etc., and this application embodiment does not specifically limit the type.
[0291] The communication device provided in this application embodiment can achieve... Figure 15 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0292] Optionally, in the embodiments of this application, such as Figure 19As shown in the illustration, this application also provides a communication device 80, including a processor 81 and a memory 82. The memory 82 stores a program or instructions that can run on the processor 81. For example, when the communication device 80 is a terminal, the program or instructions executed by the processor 81 implement the various steps of the above-described communication method embodiments and achieve the same technical effect. When the communication device 80 is a network-side device, the program or instructions executed by the processor 81 implement the various steps of the above-described communication method embodiments and achieve the same technical effect. To avoid repetition, further details are omitted here.
[0293] This application embodiment also provides a terminal, including a processor and a communication interface. The communication interface is used to send description information of a target application to a second terminal and receive response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application. The processor is used to determine, based on the response information, whether to use the target application to communicate with the second terminal. This terminal embodiment corresponds to the above-described terminal-side method embodiment; all implementation processes and methods of the above-described method embodiments can be applied to this terminal embodiment and achieve the same technical effect. Specifically, Figure 20 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.
[0294] The terminal 100 includes, but is not limited to, at least some of the following components: radio frequency unit 101, network module 102, audio output unit 103, input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, and processor 110.
[0295] Those skilled in the art will understand that the terminal 100 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 110 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 20 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.
[0296] It should be understood that, in this embodiment, the input unit 104 may include a graphics processing unit (GPU) 1041 and a microphone 1042. The GPU 1041 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 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 107 includes at least one of a touch panel 1071 and other input devices 1072. The touch panel 1071 is also called a touch screen. The touch panel 1071 may include a touch detection device and a touch controller. Other input devices 1072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0297] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 101 can transmit it to the processor 110 for processing; in addition, the radio frequency unit 101 can send uplink data to the network-side device. Typically, the radio frequency unit 101 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0298] The memory 109 can be used to store software programs or instructions, as well as various data. The memory 109 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, image playback, etc.). Furthermore, the memory 109 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 109 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0299] Processor 110 may include one or more processing units; optionally, processor 110 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 processor 110.
[0300] The radio frequency unit 101 is used to send description information of the target application to the second terminal and receive response information sent by the second terminal, which is determined by the second terminal based on the description information of the target application.
[0301] The processor 110 is used to determine, based on the response information, whether to use the target application to communicate with the second terminal.
[0302] The terminal provided in this application embodiment can first send the description information of the target application to the second terminal, and determine whether to use the target application to communicate with the second terminal based on the response information, instead of directly using the target application to communicate with the second terminal. Therefore, the leakage of user privacy of the second terminal can be avoided, thus improving the security of the terminal.
[0303] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to send description information of the target application to the second terminal through the first core network entity.
[0304] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to send a first message to the first core network entity, so that the first core network entity sends the description information of the target application to the second terminal according to the first message, the first message including the description information of the target application.
[0305] The first message mentioned above is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0306] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to send the description information of the target application to the second terminal through the target data channel server.
[0307] The aforementioned target data channel server corresponds to the target application.
[0308] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to send a second message to the target data channel server using the first bootstrap data channel, so that the target data channel server sends the description information of the target application to the second terminal according to the second message, the second message including the description information of the target application.
[0309] The second message mentioned above is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0310] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to send description information of the target application to the second terminal when a call connection is established between the terminal and the second terminal.
[0311] Optionally, in this embodiment of the application, the processor 110 is specifically configured to determine whether to use the target application to communicate with the second terminal when the response information is an acknowledgment message; or, when the response information is a denial message, determine whether to use the target application to communicate with the second terminal.
[0312] Optionally, in this embodiment of the application, the processor 110 is further configured to perform a first operation when the terminal determines that it will use the target application to communicate with the second terminal; or, when the terminal determines that it will not use the target application to communicate with the second terminal, perform a second operation.
[0313] The first operation includes at least one of the following: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application; the second operation includes at least one of the following: marking the target application as unavailable, and deleting the downloaded target application.
[0314] This application embodiment also provides a terminal, including a processor and a communication interface. The communication interface is used to receive description information of a target application from a first terminal. The processor is used to determine response information based on the description information of the target application. This response information is used by the first terminal to determine whether to use the target application to communicate with the terminal. The communication interface is also used to send response information to the first terminal. This terminal embodiment corresponds to the above-described terminal-side method embodiment. All implementation processes and methods of the above-described method embodiments can be applied to this terminal embodiment and achieve the same technical effects. Specifically, Figure 20 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.
[0315] The terminal 100 includes, but is not limited to, at least some of the following components: radio frequency unit 101, network module 102, audio output unit 103, input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, and processor 110.
[0316] Those skilled in the art will understand that the terminal 100 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 110 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 20 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.
[0317] It should be understood that, in this embodiment, the input unit 104 may include a graphics processing unit (GPU) 1041 and a microphone 1042. The GPU 1041 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 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 107 includes at least one of a touch panel 1071 and other input devices 1072. The touch panel 1071 is also called a touch screen. The touch panel 1071 may include a touch detection device and a touch controller. Other input devices 1072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0318] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 101 can transmit it to the processor 110 for processing; in addition, the radio frequency unit 101 can send uplink data to the network-side device. Typically, the radio frequency unit 101 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0319] The memory 109 can be used to store software programs or instructions, as well as various data. The memory 109 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, image playback, etc.). Furthermore, the memory 109 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 109 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0320] Processor 110 may include one or more processing units; optionally, processor 110 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 processor 110.
[0321] The radio frequency unit 101 is used to receive description information of the target application sent by the first terminal.
[0322] The processor 110 is used to determine response information based on the description information of the target application, and the response information is used by the first terminal to determine whether to use the target application to communicate with the terminal.
[0323] The radio frequency unit 101 is also used to send response information to the first terminal.
[0324] The terminal provided in this application embodiment can determine the response information based on the description information of the target application, so as to determine whether the first terminal should use the target application to communicate with the terminal, instead of directly using the target application to communicate with the first terminal. Therefore, the leakage of user privacy of the terminal can be avoided, thus improving the security of the terminal.
[0325] Optionally, in this embodiment of the application, the display unit 106 is used to display information of the target application according to the description information of the target application.
[0326] The processor 110 is specifically used to respond to user input of information for the target application and determine response information based on the input.
[0327] Optionally, in this embodiment of the application, the processor 110 is specifically configured to determine the confirmation information corresponding to the first input as the response information when the input is a first input; or, when the input is a second input, determine the denial information corresponding to the second input as the response information.
[0328] The first input mentioned above is different from the second input.
[0329] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to receive the description information of the target application sent by the first terminal through the first core network entity.
[0330] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to receive a third message, which is sent by the first core network entity based on the first message sent by the first terminal, and the third message includes description information of the target application.
[0331] The first message mentioned above is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0332] Optionally, in this embodiment of the application, the third message mentioned above also includes information about the target data channel server, which corresponds to the target application.
[0333] The radio frequency unit 101 is also used to download the target application from the target data channel server according to the information of the target data channel server if the terminal has not downloaded the target application when the terminal determines that it is using the target application to communicate with the first terminal.
[0334] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to receive the description information of the target application sent by the first terminal through the target data channel server.
[0335] The aforementioned target data channel server corresponds to the target application.
[0336] Optionally, in this embodiment of the application, the radio frequency unit 101 is specifically used to receive a fourth message, which is sent by the target data channel server according to the second message sent by the first terminal, and the fourth message includes description information of the target application.
[0337] The second message mentioned above is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
[0338] Optionally, in this embodiment of the application, the processor 110 is further configured to perform a third operation when the terminal determines that it will use the target application to communicate with the first terminal; or, when the terminal determines that it will not use the target application to communicate with the first terminal, perform a fourth operation.
[0339] The third operation mentioned above includes at least one of the following: marking the target application as available and downloading the target application; the fourth operation mentioned above includes at least one of the following: marking the target application as unavailable and deleting the downloaded target application.
[0340] This application also provides a network-side device. For example... Figure 21 As shown, the network-side device 200 includes a processor 201, a network interface 202, and a memory 203. The network interface 202 is, for example, a common public radio interface (CPRI).
[0341] Specifically, the network-side device 200 of this embodiment further includes: instructions or programs stored in memory 203 and executable on processor 201, wherein processor 201 calls the instructions or programs in memory 203 to execute. Figure 18 The methods executed by each module shown achieve the same technical effect, and to avoid repetition, they will not be described in detail here.
[0342] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described communication method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0343] 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.
[0344] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described communication method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0345] 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.
[0346] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described communication method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0347] This application also provides a communication system, including: a terminal and a network-side device. The terminal can be used to execute the steps of the communication method corresponding to the first terminal as described above, or to execute the steps of the communication method corresponding to the second terminal as described above. The network-side device can be used to execute the steps of the communication method corresponding to the target data channel server as described above.
[0348] 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.
[0349] 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.
[0350] 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 communication method characterized by comprising: include: The first terminal sends a description of the target application to the second terminal; The first terminal receives response information sent by the second terminal, the response information being determined by the second terminal based on the description information of the target application; The first terminal determines whether to use the target application to communicate with the second terminal based on the response information; The first terminal sends a description of the target application to the second terminal, including: The first terminal sends a first message to the first core network entity, so that the first core network entity sends the description information of the target application to the second terminal according to the first message, wherein the first message includes the description information of the target application; The first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application. The first message also includes information about a target data channel server, which corresponds to the target application. The information about the target data channel server is used by the second terminal to determine the target data channel server.
2. The method of claim 1, wherein, The first message is a Session Initiation Protocol (SIP) message; The SIP message header of the SIP message carries a description of the target application, or the Session Description Protocol (SDP) of the SIP message carries a description of the target application.
3. The method of claim 1, wherein, The first terminal sends a description of the target application to the second terminal, including: The first terminal sends a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description information of the target application, or the SDP of the SIP message carries the description information of the target application.
4. The method according to claim 1, characterized in that, The first terminal sends a description of the target application to the second terminal, including: The first terminal sends the description information of the target application to the second terminal through the target data channel server; The target data channel server corresponds to the target application.
5. The method according to claim 4, characterized in that, The first terminal sends the description information of the target application to the second terminal through the target data channel server, including: The first terminal uses a first bootstrap data channel to send a second message to the target data channel server, so that the target data channel server sends the description information of the target application to the second terminal according to the second message, wherein the second message includes the description information of the target application; The second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
6. The method according to claim 5, characterized in that, The second message also includes the identification information of the second terminal, which is used by the target data channel server to send the description information of the target application to the second terminal.
7. The method according to claim 1, characterized in that, The first terminal sends a description of the target application to the second terminal, including: When the first terminal and the second terminal establish a call connection, the first terminal sends the description information of the target application to the second terminal.
8. The method according to claim 1, characterized in that, The first terminal determines whether to use the target application to communicate with the second terminal based on the response information, including: If the response information is a confirmation message, the first terminal determines to use the target application to communicate with the second terminal; or... If the response is a denial message, the first terminal determines that it will not use the target application to communicate with the second terminal.
9. The method according to claim 1, characterized in that, The method further includes: If the first terminal determines that it is using the target application to communicate with the second terminal, the first terminal performs a first operation; or... If the first terminal determines that it will not use the target application to communicate with the second terminal, the first terminal performs the second operation; The first operation includes at least one of the following: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application; The second operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
10. The method according to claim 9, characterized in that, The first terminal and the second terminal establish a data channel corresponding to the target application, including: The first terminal sends a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description information of the target application, or the SDP of the SIP message carries the description information of the target application.
11. The method according to claim 2, 3 or 10, characterized in that, The SIP message's P-Preferred-Service header carries a description of the target application, or the SDP's line a carries a description of the target application.
12. The method according to any one of claims 1 to 11, characterized in that, The target application includes one or more applications.
13. The method according to any one of claims 1 to 12, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
14. A communication method, characterized in that, include: The second terminal receives the description information of the target application sent by the first terminal; The second terminal determines response information based on the description information of the target application. The response information is used by the first terminal to determine whether to use the target application to communicate with the second terminal. The second terminal sends the response information to the first terminal; The second terminal receives description information of the target application sent by the first terminal, including: The second terminal receives a third message, which is sent by the first core network entity based on the first message sent by the first terminal. The third message includes description information of the target application. The first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application. The third message also includes information about the target data channel server, which corresponds to the target application; the method further includes: If the second terminal determines to use the target application to communicate with the first terminal, and the second terminal has not downloaded the target application, then the second terminal downloads the target application from the target data channel server according to the information of the target data channel server.
15. The method according to claim 14, characterized in that, The second terminal determines response information based on the description information of the target application, including: The second terminal displays information about the target application based on the description information of the target application; The second terminal responds to the user's input of information about the target application and determines the response information based on the input.
16. The method according to claim 15, characterized in that, Determining the response information based on the input includes: If the input is the first input, the second terminal determines the confirmation information corresponding to the first input as the response information; or, When the input is the second input, the second terminal determines the denial information corresponding to the second input as the response information; The first input is different from the second input.
17. The method according to claim 14, characterized in that, The second terminal receives description information of the target application sent by the first terminal, including: The second terminal receives the description information of the target application sent by the first terminal through the target data channel server; The target data channel server corresponds to the target application.
18. The method according to claim 17, characterized in that, The second terminal receives the description information of the target application sent by the first terminal through the target data channel server, including: The second terminal receives a fourth message, which is sent by the target data channel server based on the second message sent by the first terminal. The fourth message includes description information of the target application. The second message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
19. The method according to claim 14, characterized in that, The method further includes: If the second terminal determines that it is using the target application to communicate with the first terminal, the second terminal performs a third operation; or... If the second terminal determines that it will not use the target application to communicate with the first terminal, the second terminal performs a fourth operation; The third operation includes at least one of the following: marking the target application as available and downloading the target application; The fourth operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
20. The method according to any one of claims 14 to 19, characterized in that, The target application includes one or more applications.
21. The method according to any one of claims 14 to 20, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
22. A communication method, characterized in that, include: The target data channel server uses the first bootstrap data channel to receive a second message sent by the first terminal, the second message including description information of the target application; The target data channel server determines the second terminal; The target data channel server uses the second bootstrap data channel to send a fourth message to the second terminal, the fourth message including the description information of the target application; The description information of the target application is used by the second terminal to determine the response information, and the response information is used by the first terminal to determine whether to use the target application to communicate with the second terminal. The second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
23. The method according to claim 22, characterized in that, The second message also includes the identification information of the second terminal; The target data channel server determines the second terminal, including: The target data channel server determines the second terminal based on the identification information of the second terminal.
24. The method according to claim 22, characterized in that, The method further includes: The target data channel server uses the second bootstrap data channel to receive the response information sent by the second terminal; The target data channel server uses the first bootstrap data channel to send the response information to the first terminal.
25. The method according to any one of claims 22 to 24, characterized in that, The target application includes one or more applications.
26. The method according to any one of claims 22 to 24, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
27. A communication device, characterized in that, include: The sending module is used to send description information of the target application to the second terminal; A receiving module, configured to receive response information sent by the second terminal, wherein the response information is determined by the second terminal based on the description information of the target application; The determining module is configured to determine, based on the response information received by the receiving module, whether to use the target application to communicate with the second terminal; Specifically, the sending module is used to send a first message to a first core network entity, so that the first core network entity sends the description information of the target application to the second terminal according to the first message, wherein the first message includes the description information of the target application; The first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application. The first message also includes information about a target data channel server, which corresponds to the target application. The information about the target data channel server is used by the second terminal to determine the target data channel server.
28. The communication device according to claim 27, characterized in that, The first message is a SIP message; The SIP message header of the SIP message carries a description of the target application, or the SDP of the SIP message carries a description of the target application.
29. The communication device according to claim 27, characterized in that, The sending module is used to send a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description information of the target application, or the SDP of the SIP message carries the description information of the target application.
30. The communication device according to claim 27, characterized in that, The sending module is specifically used to send the description information of the target application to the second terminal through the target data channel server; The target data channel server corresponds to the target application.
31. The communication device according to claim 30, characterized in that, The sending module is specifically used to send a second message to the target data channel server using a first bootstrap data channel, so that the target data channel server sends the description information of the target application to the second terminal according to the second message, wherein the second message includes the description information of the target application; The second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
32. The communication device according to claim 31, characterized in that, The second message also includes the identification information of the second terminal, which is used by the target data channel server to send the description information of the target application to the second terminal.
33. The communication device according to claim 27, characterized in that, The sending module is specifically used to send the description information of the target application to the second terminal when a call connection is established between the communication device and the second terminal.
34. The communication device according to claim 27, characterized in that, The determining module is specifically configured to, when the response information is a confirmation message, determine to use the target application to communicate with the second terminal; or, when the response information is a denial message, determine not to use the target application to communicate with the second terminal.
35. The communication device according to claim 27, characterized in that, The communication device further includes: an execution module; the execution module is configured to perform a first operation when the communication device determines that it is using the target application to communicate with the second terminal; or... Used to perform a second operation if the communication device determines that it will not use the target application to communicate with the second terminal; The first operation includes at least one of the following: marking the target application as available, establishing a data channel corresponding to the target application with the second terminal, and downloading the target application; The second operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
36. The communication device according to claim 35, characterized in that, The execution module establishes a data channel with the second terminal corresponding to the target application, including: The execution module sends a SIP message to the second terminal, wherein the SIP message header of the SIP message carries the description information of the target application, or the SDP of the SIP message carries the description information of the target application.
37. The communication device according to claim 28, 29 or 36, characterized in that, The SIP message's P-Preferred-Service header carries a description of the target application, or the SDP's line a carries a description of the target application.
38. The communication device according to any one of claims 27 to 37, characterized in that, The target application includes one or more applications.
39. The communication device according to any one of claims 27 to 38, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
40. A communication device, characterized in that, include: The receiving module is configured to receive description information of the target application sent by the first terminal. The determining module is configured to determine response information based on the description information of the target application received by the receiving module, and the response information is used by the first terminal to determine whether to use the target application to communicate with the communication device. A sending module, configured to send the response information determined by the determining module to the first terminal; Specifically, the receiving module is used to receive a third message, which is sent by the first core network entity based on the first message sent by the first terminal. The third message includes description information of the target application. The first message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application; The third message also includes information about the target data channel server, which corresponds to the target application. The communication device further includes: The download module is configured to, when the communication device determines that it is using the target application to communicate with the first terminal, download the target application from the target data channel server based on information from the target data channel server if the communication device has not downloaded the target application.
41. The communication device according to claim 40, characterized in that, The communication device further includes: The display module is configured to display information about the target application based on the description information of the target application. The determining module is specifically used to determine the response information based on the user's input of information about the target application displayed by the display module.
42. The communication device according to claim 41, characterized in that, The determining module is specifically used to determine the confirmation information corresponding to the first input as the response information when the input is a first input; or, when the input is a second input, to determine the denial information corresponding to the second input as the response information. The first input is different from the second input.
43. The communication device according to claim 40, characterized in that, The receiving module is specifically used to receive the description information of the target application sent by the first terminal through the target data channel server; The target data channel server corresponds to the target application.
44. The communication device according to claim 43, characterized in that, The receiving module is specifically used to receive a fourth message, which is sent by the target data channel server based on the second message sent by the first terminal. The fourth message includes the description information of the target application. The second message is used for any of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
45. The communication device according to claim 40, characterized in that, The communication device further includes: An execution module is configured to perform a third operation when the communication device determines that the target application is used to communicate with the first terminal; or to perform a fourth operation when the communication device determines that the target application is not used to communicate with the first terminal. The third operation includes at least one of the following: marking the target application as available and downloading the target application; The fourth operation includes at least one of the following: marking the target application as unavailable or deleting the downloaded target application.
46. The communication device according to any one of claims 40 to 45, characterized in that, The target application includes one or more applications.
47. The communication device according to any one of claims 40 to 46, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
48. A communication device, characterized in that, include: The receiving module is configured to receive a second message sent by a first terminal using a first bootstrap data channel, the second message including description information of a target application; The determining module is used to determine the second terminal; A sending module, configured to send a fourth message to the second terminal determined by the determining module using a second bootstrap data channel, the fourth message including description information of the target application; The description information of the target application is used by the second terminal to determine the response information, and the response information is used by the first terminal to determine whether to use the target application to communicate with the second terminal. The second message is used for at least one of the following: negotiating the application corresponding to the data channel to be established, negotiating the application used during the call, requesting to establish a data channel, or requesting to download the target application.
49. The communication device according to claim 48, characterized in that, The second message also includes the identification information of the second terminal; The determining module is specifically used to determine the second terminal based on the identification information of the second terminal.
50. The communication device according to claim 48, characterized in that, The receiving module is further configured to receive the response information sent by the second terminal using the second bootstrap data channel; The sending module is further configured to send the response information to the first terminal using the first bootstrap data channel.
51. The communication device according to any one of claims 48 to 50, characterized in that, The target application includes one or more applications.
52. The communication device according to any one of claims 48 to 51, characterized in that, The description information of the target application includes at least one of the following: the identification information of the target application, the attribute information of the target application, and the type information of the target application.
53. A 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 communication method as described in any one of claims 1 to 21.
54. A network-side device, 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 communication method as described in any one of claims 22 to 26.
55. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the communication method as described in any one of claims 1 to 26.