Communication method and communication device
The user location information is obtained through the data channel between the terminal device and the call assistant, which solves the problems of low positioning accuracy and time delay in the prior art, and achieves the high-precision and low-latency position acquisition effect.
Patent Information
- Application Number
- CN202510031229.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-08
- Publication Date
- 2025-05-13
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the prior art, when the call assistant acquires user location information, the positioning accuracy is low and the delay is long, which cannot meet the user's high accuracy and low latency requirements.
The user's location information is obtained through the data channel between the terminal device and the call assistant, reducing positioning delay and improving position accuracy.
It reduces the delay in the call assistant to obtain location information, improves the accuracy of location information, and improves the user experience.
Smart Images

Figure CN119997198A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and more specifically, to a communication method and a communication device. Background Art
[0002] The call assistant can be implemented based on the artificial intelligence agent (AI Agent) of the large language model (LLM). As the user's personal assistant, the call assistant can help the user during the call and complete related services based on the user's intention, such as checking the weather, checking attractions, ordering food, etc.
[0003] In the process of helping users complete tasks, the call assistant can obtain the user's location information through the access network information, or through the terminal device paging process based on the location services (LCS) architecture. However, the access network information can only locate the cell or base station, and the positioning accuracy is low; and the terminal device paging process has a long positioning delay. Summary of the invention
[0004] The present application provides a communication method and a communication device, which can obtain the user's location information through the data channel between the terminal device and the call assistant, which helps to reduce the delay of the call assistant in obtaining the location information and improve the accuracy of the location information.
[0005] In a first aspect, a communication method is provided, the method comprising: receiving first information from a terminal device, the first information being used to instruct a call assistant to execute a first service; obtaining location information of the terminal device according to the first information, the location information of the terminal device being obtained through a data channel between the call assistant and the terminal device; and executing the first service according to the location information of the terminal device.
[0006] Exemplarily, the communication method may be implemented by a network element having a call assistant function, or by components within the network element, such as a processor, circuit, chip, or chip system.
[0007] It should be understood that the call assistant mentioned in the embodiments of the present application may refer to a logical unit or functional entity that provides assistant / assistant functions to users based on artificial intelligence. The call assistant may also be replaced by other names, and the present application does not limit this.
[0008] The call assistant can identify the user's intention based on the first information, thereby determining the first service. For example, the call assistant can identify the user's intention through the intelligent agent, and determine the first service based on the user's intention. It should be understood that the services mentioned here can also be replaced by matters, tasks, etc., and this application does not limit this. For example, the first information can be voice information or video information.
[0009] In the embodiment of the present application, through the data channel between the terminal device and the call assistant, the call assistant can obtain the location information of the terminal device to perform services related to the location information of the terminal device. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the global positioning system (GPS) positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0010] For the sake of ease of description, the data channel between the call assistant and the terminal device may be referred to as the first data channel hereinafter.
[0011] In some embodiments, obtaining the location information of the terminal device based on the first information includes: determining that the location information of the terminal device needs to be obtained during the execution of the first service based on the first information; sending a first request through the data channel, the first request being used to request the location information of the terminal device; and receiving the location information of the terminal device through the data channel.
[0012] Exemplarily, the call assistant can determine whether it is necessary to obtain the location information of the terminal device during the execution of the first service based on the first information. In other words, the call assistant can determine whether it is necessary to execute the first service based on the location information of the terminal device based on the first information. In the case where it is determined based on the first information that it is necessary to obtain the location information of the terminal device during the execution of the first service, the call assistant can obtain the location information of the terminal device through the data channel.
[0013] Exemplarily, the data channel application running in the terminal device may receive a first request from a first data channel; after obtaining the location information of the terminal device, the location information of the terminal device may be sent to the call assistant through the first data channel.
[0014] In some embodiments, before receiving the first information from the terminal device, the method also includes: receiving a second request from the server, the second request is used to request the call assistant to assign an endpoint address for the data channel; sending a response message to the second request to the server, the response message to the second request includes the endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel.
[0015] When the call assistant is deployed as an independent network element, the server can request the call assistant to allocate resources, such as endpoint addresses, for the first data channel. In this way, the method for establishing a data channel between the server and the media function (MF) in the related art can be reused to establish a data channel between the MF and the call assistant (the data channel is part of the first data channel), which helps to reduce the degree of modification to the protocol and facilitates implementation.
[0016] In some embodiments, before receiving the second request from the server, the method also includes: sending second information to the server, the second information is used to trigger and determine the method for obtaining the location information of the terminal device, the second information is a notification message of the call assistant's call connection event, or the second information is a notification message of the call assistant's wake-up event.
[0017] In other words, when the second information is received, the server may be triggered to determine a method for acquiring the location information of the terminal device. Further, when it is determined that the location information of the terminal device is acquired through the data channel, the establishment of the first data channel is triggered.
[0018] Alternatively, the second information may be used to trigger the establishment of the first data channel. In the future, all terminal devices may support data channels. In this case, the step of determining the acquisition method of the location information of the terminal device may be omitted.
[0019] This method helps to create a first data channel before executing services related to the terminal device location information, thereby helping to avoid the delay caused by creating the first data channel.
[0020] In a second aspect, a communication method is provided, which includes: sending a third request, wherein the third request is used to request the creation of a data channel between a call assistant and a terminal device, wherein the data channel is used for the call assistant to obtain location information of the terminal device; and receiving a response message to the third request, wherein the response message to the third request is used to indicate that the establishment of the data channel is complete.
[0021] Exemplarily, the communication method may be implemented by a server, or by components within the server, such as a processor, a circuit, a chip, or a chip system.
[0022] In the related art, data channels support multiplexing. Therefore, the creation of the first data channel mentioned in the embodiment of the present application may refer to establishing a new connection, or may refer to creating a new logical flow on an existing connection.
[0023] In the embodiment of the present application, by creating a first data channel, the call assistant can be supported to obtain the location information of the terminal device through the first data channel. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0024] In some embodiments, the third request includes identification information, and the identification information is used to determine an endpoint of the data channel.
[0025] Considering the different deployment modes of the call assistant, the endpoint of the first data channel may be different. Therefore, by carrying the identification information in the third request, it is helpful to determine the endpoint of the first data channel. In addition, the establishment method of the first data channel can be determined according to the endpoint of the first data channel.
[0026] In some embodiments, the identification information is an endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel; or, the identification information is an application identifier of the data channel.
[0027] When the call assistant is deployed as an independent network element, the first data channel may include a data channel between the MF and the call assistant and a data channel between the MF and the terminal device. The data channel between the MF and the call assistant may be established according to the endpoint address of the call assistant, which helps to complete the establishment of the first data channel.
[0028] When the call assistant is deployed together with the MF network element, or when the call assistant function is built into the MF network element, the first data channel is the data channel between the MF and the terminal device. By extending the function of the application identifier of the data channel, it can be determined that the endpoint of the first data channel is the MF, which helps to complete the establishment of the first data channel. In addition, the application identifier can be used to determine that the first data channel is applied to the call assistant function, which helps the MF complete the processing of internal data.
[0029] In some embodiments, the identification information is the endpoint address of the call assistant, and the method further includes: sending a second request to the call assistant, the second request being used to request the call assistant to assign an endpoint address to the data channel; receiving a response message to the second request, the response message to the second request including the endpoint address of the call assistant.
[0030] When the call assistant is deployed as an independent network element, before initiating the creation of the first data channel, resources such as the endpoint address of the call assistant can be requested from the call assistant to prepare for the creation of the first data channel.
[0031] In some embodiments, the method further includes: receiving second information, the second information being related to the service of the call assistant; and determining, based on the second information, to obtain the location information of the terminal device through the data channel.
[0032] When receiving a call assistant-related service, determining a method for obtaining the location information of the terminal device is triggered. In the case where the location information of the terminal device is obtained through a data channel, the creation of a first data channel can be triggered.
[0033] Alternatively, creation of the first data channel is triggered when a service related to the call assistant is received.
[0034] In some embodiments, the second information is a notification message of a call connection event of the call assistant, or the second information is a notification message of a wake-up event of the call assistant.
[0035] That is to say, when the user starts to use the call assistant, creating the first data channel helps to complete the creation of the first data channel before executing the business related to the terminal device location information, thereby helping to avoid the delay caused by creating the first data channel.
[0036] In a third aspect, a communication method is provided, the method comprising: receiving a first request through a data channel between a call assistant and a terminal device, the first request being used to request location information of the terminal device; and sending the location information of the terminal device through the data channel.
[0037] Exemplarily, the communication method may be implemented by a terminal device, or by a component inside the terminal device, such as a processor, a circuit, a chip, or a chip system.
[0038] In the embodiment of the present application, through the data channel between the terminal device and the call assistant, the call assistant can obtain the location information of the terminal device to perform services related to the location information of the terminal device. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0039] In some embodiments, the method also includes: when receiving the first request, prompting the user of the terminal device to authorize the call assistant to obtain the location information of the terminal device; sending the location information of the terminal device through the data channel includes: after receiving the user's authorization instruction, sending the location information of the terminal device through the data channel.
[0040] High-precision location information of users usually involves the privacy security of users. In the embodiment of the present application, the location information of the terminal device is sent to the call assistant with the authorization of the user, thereby helping to meet the privacy protection needs of users.
[0041] In some embodiments, before receiving the first request through the data channel between the call assistant and the terminal device, the method also includes: receiving a fourth request, the fourth request is used to request the terminal device to create the data channel, and the fourth request includes an endpoint address of a media function network element; and creating the data channel according to the endpoint address of the media function network element.
[0042] Exemplarily, the endpoint address of the media function network element carried in the fourth request may be a newly allocated endpoint address of the first data channel, that is, creating the first data channel is to establish a new connection.
[0043] Alternatively, the endpoint address of the media function network element carried in the fourth request may be the endpoint address of an existing data channel, that is, the first data channel reuses the existing data channel.
[0044] In a fourth aspect, a communication method is provided, the method comprising: receiving a third request, the third request being used to request the creation of a data channel between a call assistant and a terminal device, the data channel being used by the call assistant to obtain location information of the terminal device; sending a response message to the third request, the response message to the third request being used to indicate that the establishment of the data channel is complete.
[0045] Exemplarily, the communication method may be implemented by a data channel signaling function (DCSF), or by components within the DCSF, such as a processor, a circuit, a chip, or a chip system.
[0046] In the related art, data channels support multiplexing. Therefore, the creation of the first data channel mentioned in the embodiment of the present application may refer to establishing a new connection, or may refer to creating a new logical flow on an existing connection.
[0047] In the embodiment of the present application, by creating a first data channel, the call assistant can be supported to obtain the location information of the terminal device through the first data channel. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0048] In some embodiments, the third request includes identification information, and the identification information is used to determine an endpoint of the data channel.
[0049] Considering the different deployment modes of the call assistant, the endpoint of the first data channel may be different. Therefore, by carrying the identification information in the third request, it is helpful to determine the endpoint of the first data channel. In addition, the establishment method of the first data channel can be determined according to the endpoint of the first data channel.
[0050] In some embodiments, the identification information is an endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel; or, the identification information is an application identifier of the data channel.
[0051] When the call assistant is deployed as an independent network element, the first data channel may include a data channel between the MF and the call assistant and a data channel between the MF and the terminal device. The data channel between the MF and the call assistant may be established according to the endpoint address of the call assistant, which helps to complete the establishment of the first data channel.
[0052] When the call assistant is deployed together with the MF network element, or when the call assistant function is built into the MF network element, the first data channel is the data channel between the MF and the terminal device. By extending the function of the application identifier of the data channel, it can be determined that the endpoint of the first data channel is the MF, which helps to complete the establishment of the first data channel. In addition, the application identifier can be used to determine that the first data channel is applied to the call assistant function, which helps the MF complete the processing of internal data.
[0053] In a fifth aspect, a communication method is provided, the method comprising: receiving a fifth request, the fifth request being used to request a media function network element to create a data channel between a terminal device and a call assistant, the data channel being used by the call assistant to obtain location information of the terminal device, wherein the fifth request carries identification information for determining an endpoint of the data channel; and creating the data channel based on the identification information.
[0054] Exemplarily, the communication method may be implemented by the MF, or by a component inside the MF, such as a processor, a circuit, a chip, or a chip system.
[0055] In some embodiments, the data channel includes a data channel between a media function network element and a call assistant and a data channel between a terminal device and a media function network element, and the creation of the data channel based on the identification information includes: if the identification information is the endpoint address of the call assistant, then establishing a data channel between the media function network element and the call assistant; and sending the endpoint address of the media function unit, wherein the endpoint address of the media function unit is used to establish a data channel between the terminal device and the media function network element.
[0056] In some embodiments, the data channel is a data channel between a terminal device and a media function network element, and creating the data channel based on the identification information includes: if the identification information is an application identifier, sending an endpoint address of the media function unit, and the endpoint address of the media function unit is used to establish a data channel between the terminal device and the media function network element.
[0057] In the embodiment of the present application, by creating a first data channel, the call assistant can be supported to obtain the location information of the terminal device through the first data channel. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0058] In a sixth aspect, a communication device is provided, which includes a unit for executing each step in a possible implementation method of any one of the first to fifth aspects above.
[0059] In a seventh aspect, a communication device is provided, which includes at least one processor and a memory, wherein the memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, a method in any possible implementation of the first to fifth aspects above is executed.
[0060] In an eighth aspect, a communication device is provided, comprising at least one processor and an interface circuit, wherein the at least one processor is used to execute a method in any possible implementation of the first to fifth aspects above.
[0061] In a ninth aspect, a computer program product is provided, which includes a computer program. When part or all of the computer program is executed by a processor, it is used to execute a method in any possible implementation of the first to fifth aspects above.
[0062] In the tenth aspect, a computer-readable storage medium is provided, which stores a computer program. When part or all of the computer program is executed, it is used to execute the method in any possible implementation of the first to fifth aspects above.
[0063] In the eleventh aspect, a chip is provided, which includes: a processor, for calling and running part or all of a computer program from a memory, so that a communication device equipped with the chip executes a method in a possible implementation manner for executing any one of the first to fifth aspects above. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 A schematic diagram of the architecture of a communication system used in an embodiment of the present application;
[0065] Figure 2 It is a schematic diagram of the structure of the intelligent agent;
[0066] Figure 3 This is an example diagram of the MF built-in call assistant function provided in an embodiment of the present application;
[0067] Figure 4 An example diagram of a call assistant provided in an embodiment of the present application deployed as an independent network element;
[0068] Figure 5 This is an example of applying the call assistant to a customer to machine (C2M) scenario;
[0069] Figure 6 This is an example of applying the call assistant to a customer to customer (C2C) scenario;
[0070] Figure 7 A flowchart of the call assistant's execution of business;
[0071] Figure 8 An example diagram of the LCS network architecture;
[0072] Fig. 9 A flow chart of a communication method provided in an embodiment of the present application;
[0073] Fig.10 A flowchart of another communication method provided in an embodiment of the present application;
[0074] Fig.11 A flowchart of another communication method provided in an embodiment of the present application;
[0075] Fig.12 A flowchart of another communication method provided in an embodiment of the present application;
[0076] Fig.13 A flowchart of another communication method provided in an embodiment of the present application;
[0077] Fig.14 A schematic block diagram of a communication device provided in an embodiment of the present application;
[0078] Fig.15 A schematic block diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0079] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0080] In the description of the embodiments of the present application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in the embodiments of the present application is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" refers to two or more than two. "At least one of the following" or its similar expression refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. In addition, in order to facilitate the clear description of the technical solution of the embodiments of the present application, in the embodiments of the present application, the words "first" and "second" are used to distinguish the same or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second", etc. do not limit the quantity and execution order, and the words "first", "second", etc. do not necessarily limit the differences.
[0081] In the various method embodiments of the embodiments of the present application, the size of the serial number does not mean the order of execution. The order of execution should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0082] It is understood that in the embodiments of the present application, "under the circumstances of...", "if...", "when...", "if..." and similar descriptions can be used interchangeably. Moreover, these descriptions all refer to corresponding processing under certain objective circumstances, but do not limit the time, nor do they require judgment actions when being implemented, nor do they mean that there are other limitations.
[0083] It can be understood that some optional features in the embodiments of the present application may not rely on other features, such as the solution on which they are currently based, in certain scenarios, and may be implemented independently to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features according to needs in certain scenarios. Accordingly, the devices provided in the embodiments of the present application may also realize these features or functions accordingly, which will not be elaborated here.
[0084] In the embodiments of the present application, unless otherwise specified, the same or similar parts between the various embodiments can refer to each other. In the various embodiments of the present application, and the various implementation methods / implementation methods / implementation methods in the various embodiments, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments and the various implementation methods / implementation methods / implementation methods in the various embodiments are consistent and can be referenced to each other. The technical features in different embodiments and the various implementation methods / implementation methods / implementation methods in the various embodiments can be combined to form new embodiments, implementation methods, implementation methods, or implementation methods according to their inherent logical relationships. The implementation methods of the present application described below do not constitute a limitation on the scope of protection of the present application.
[0085] The present application can be applied to various communication systems. For example: a new wireless voice (voice over new radio, VoNR) system based on the fifth generation (5th generation, 5G) or new radio (New radio, NR), a long-term evolution voice (voice over LTE, VoLTE) system based on long-term evolution (longterm evolution, LTE), a satellite communication system, and future communication systems. Exemplarily, the present application can also be applied to device to device (D2D) communication, vehicle-to-everything (V2X) communication, machine to machine (M2M) communication, machine type communication (MTC), and Internet of things (IoT) communication system or other communication systems.
[0086] For ease of understanding, the following Figure 1 Taking the communication system 10 shown as an example, a communication system applicable to the embodiment of the present application is described.
[0087] Figure 1 FIG. 1 is a schematic diagram of the architecture of a communication system 10 used in an embodiment of the present application. Figure 1 As shown, the communication system includes a radio access network (RAN) 100, wherein the RAN 100 includes at least one RAN node (such as Figure 1 110a and 110b in the figure, collectively referred to as 110), and may also include at least one terminal (such as Figure 1 RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment ( Figure 1 The terminal 120 is connected to the RAN node 110 in a wireless manner. Terminals and terminals and RAN nodes and RAN nodes can be connected to each other by wired or wireless means. The communication system 10 may also include a core network 200. The RAN node 110 is connected to the core network 200 in a wireless or wired manner. The core network device in the core network 200 and the RAN node 110 in the RAN 100 may be independent and different physical devices, or may be the same physical device that integrates the logical functions of the core network device and the logical functions of the RAN node. The communication system 10 may also include the Internet 300.
[0088] RAN 100 may be an evolved universal terrestrial radio access (E-UTRA) system, a new radio (NR) system, and a future radio access system defined in the 3rd generation partnership project (3GPP). RAN 100 may also be an open access network (open RAN, O-RAN or ORAN), a cloud radio access network (cloud radio access network, CRAN), or a wireless fidelity (wireless fidelity, WiFi) system. RAN 100 may also be a communication system in which two or more of the above systems are integrated.
[0089] The RAN node 110 (also referred to as access network equipment, RAN entity or access node, etc.) is used to help the terminal access the communication system by wireless means. In a possible scenario, the RAN node may be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system, etc. The RAN node may be a macro base station (e.g. Figure 1 110a in), micro base stations or indoor stations (such as Figure 1 110b in the example above), a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the RAN node may also be a server, a wearable device, a vehicle or an onboard device, etc. For example, the access network device in the vehicle to everything (V2X) technology may be a road side unit (RSU).
[0090] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, and different RAN nodes respectively implement part of the functions of the base station. For example, the RAN node can be a centralized unit (CU), a distributed unit (DU), or a radio unit (RU). The CU here can complete the functions of the radio resource control protocol and PDCP of the base station, and can also complete the function of the service data adaptation protocol (SDAP); the DU can complete the functions of the radio link control layer and the medium access control (MAC) layer of the base station, and can also complete the functions of part of the physical layer or all of the physical layer. For the specific description of the above-mentioned protocol layers, please refer to the relevant technical specifications of 3GPP. RU can be used to implement the transceiver function of the radio frequency signal. CU and DU can be two independent RAN nodes, or they can be integrated in the same RAN node, for example, integrated in the baseband unit (BBU). The RU may be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU) or a remote radio head (RRH). The CU may be further divided into two types of RAN nodes: CU-control plane (CP) and CU-user plane (UP).
[0091] In different systems, RAN nodes may have different names. For example, in an O-RAN system, CU may be called an open CU (open CU, O-CU), DU may be called an open DU (open DU, O-DU), and RU may be called an open RU (open RU, O-RU). Correspondingly, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For ease of description, the embodiments of the present application are described by taking CU, CU-CP, CU-UP, DU and RU as examples.
[0092] All or part of the functions of the RAN node in this application may also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (e.g., a cloud platform). The RAN node may also be provided with a communication module, circuit, or chip that performs corresponding communication functions. The RAN node may also be configured with program instructions for performing corresponding communication functions and corresponding program instructions. The RAN node in this application may also be a logical node, logical module, or software that can implement all or part of the functions of the RAN node. The embodiments of this application do not limit the specific technology and specific device form adopted by the RAN node.
[0093] The terminal 120 is a device with wireless transceiver function, which can send signals to the base station or receive signals from the base station. The terminal can also be called user equipment (UE), terminal equipment, access terminal, user unit, user station, mobile station (MS), remote station, remote terminal, mobile terminal (MT), user terminal, wireless communication equipment, user agent, user device and terminal device, etc. The terminal 120 can be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a mechanical arm, a smart home device, etc. The embodiments of the present application do not limit the device form of the terminal.
[0094] Exemplarily, the terminal 120 may be an Internet of Things (IoT) device (e.g., a sensor, an electric meter, a water meter, etc.), a V2X device, a station (ST) in a wireless local area network (WLAN), a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA) device, a handheld device with a wireless communication function, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device (also referred to as a wearable smart device), a tablet computer or a computer with a wireless transceiver function, a virtual reality (VR) terminal, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in remote medical, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a smart home, or a wireless terminal in a smart city. The invention relates to wireless terminals in the home, vehicle-mounted terminals, vehicles with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicles, drones with UAV to UAV (U2U) communication capabilities, etc.
[0095] The roles of the base station and the terminal can be relative, for example, Figure 1 The network element 120i can be a helicopter or a drone, which can be configured as a mobile base station. For the terminal 120j that accesses the wireless access network 100 through 120i, the terminal 120i is a base station; but for the base station 110a, 120i is a terminal, that is, 110a and 120i communicate through the wireless air interface protocol. Of course, 110a and 120i can also communicate through the interface protocol between base stations. In this case, relative to 110a, 120i is also a base station. Therefore, base stations and terminals can be collectively referred to as communication devices. Figure 1 110a and 110b in the figure may be referred to as communication devices having base station functions. Figure 1 120a-120j in the figure can be called communication devices with terminal functions.
[0096] Base stations and terminals can be fixed or movable. Base stations and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on the water surface; they can also be deployed on airplanes, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of base stations and terminals.
[0097] With the development of technology, the method of applying artificial intelligence (AI) to the field of communications has received widespread attention. Artificial intelligence agent (AI Agent, hereinafter referred to as Agent) is a basic concept in the field of artificial intelligence. It refers to a system that can operate autonomously and interact with its environment. The original intention of developing an agent is to simulate the intelligent behavior of humans or other organisms, aiming to solve problems or perform tasks automatically. The large language model (LLM) has powerful learning and planning capabilities, can handle more complex and abstract tasks, and shows unprecedented performance in natural language understanding, reasoning and decision-making. In the context of LLM, an agent can be understood as an agent that can autonomously understand, plan and make decisions, and perform complex tasks. In the embodiments of the present application, the agent mentioned below specifically refers to an AI Agent based on LLM.
[0098] Figure 2 is a schematic diagram of the structure of the intelligent agent. Figure 2 ,In the LLM-based AI Agent technology, LLM is the brain of the agent, and the agent can further expand ,capabilities such as planning 210, memory 220, tool use 230, action 240. The capabilities of the agent are ,introduced below.
[0099] Planning introduces a way of thinking similar to how humans solve tasks for intelligent agents. Planning can break down complex tasks into a series of simple subtasks, which can then be solved one by one. This approach reduces the difficulty of solving tasks in one go, helps improve the efficiency and effectiveness of problem solving, and improves the adaptability of intelligent agents to complex environments and the reliability of operations.
[0100] Planning can include reflection (evaluating and thinking about past actions and decisions); self-critics (self-assessment and improvement); chain of thoughts (logical reasoning and thought process); and subgoal decomposition (breaking down complex tasks into smaller, manageable subtasks).
[0101] In order to generate an effective planning solution, the agent can generate multiple candidate solutions at the same time and select the best solution for execution. When dealing with complex tasks, the agent can also perform iterative optimization and improvement based on real-time feedback information from the environment, so as to more efficiently solve problems involving complex reasoning. It usually includes "one-time" decomposition of tasks and planning of generation steps, such as chain of thought (CoT), plan and solve (PS); and "iterative" decomposition of tasks and planning of generation steps, such as reasoning and acting (ReAct), tree of thought (ToT).
[0102] The human memory system is a complex and efficient information processing system that can store new knowledge and review and use stored information when needed to help cope with the current environment and make wise decisions. Similarly, in Agent, the memory component constitutes the core storage unit of the intelligent body, mainly used to store the historical interaction records between the intelligent body and the environment, and can be retrieved and used at any time.
[0103] Memory can be divided into short-term memory and long-term memory. Among them, short-term memory usually corresponds to historical context, and LLM can directly memorize and learn in a certain context length; long-term memory refers to more knowledge bases that LLM can obtain, similar to the "second storage" of the brain. Long-term memory is usually combined with retrieval-augmented generation (RAG) technology, using vector database as a carrier, obtaining updates and expanding the LLM knowledge base from the vector database, acting as a large model memory hippocampus, completing the context information when LLM answers questions, and improving accuracy.
[0104] If LLM is the "brain" of the agent, then the tool is the "hands and feet" of the agent. For the knowledge that LLM lacks, such as real-time weather, real-time search results, mathematical reasoning ability, etc., the agent obtains additional information by calling external APIs. Through the use of tools, the agent can call functions such as calendar, calculator, search, and code interpreter. Tools can be functions, API interface calls, or a separately designed solution, and also include code interpreters, etc.
[0105] Action is the part where the agent actually executes the decision or responds. When faced with different tasks, the agent can choose the actions that need to be performed when making decisions, such as memory retrieval, reasoning, learning, programming, etc. It also includes environmental perception capabilities. The agent's environmental perception capabilities allow it to receive external tool call results or real-time environmental information, so as to respond to different situations more flexibly.
[0106] As a possible implementation method, the call assistant function can be realized based on the intelligent agent. The call assistant can be understood as a functional entity based on AI to help users perform business or complete tasks.
[0107] Combine the following Figure 3 and Figure 4 The deployment method of the call assistant in the IP multimedia subsystem (IMS) network structure is introduced.
[0108] Figure 3 This is an example diagram of the MF built-in call assistant function provided in the embodiment of the present application. The call assistant function may also be referred to as the subscriber ai agent function (SAAF). It should be understood that the call assistant mentioned in the embodiment of the present application may refer to a logical unit or functional entity based on AI that provides assistant / assistant functions to users, and the call assistant may also be replaced by other names, which is not limited in the present application.
[0109] See also Figure 3 MF can have built-in SAAF, and SAAF can communicate with data channel signaling function (DCSF), application server (AS), and IMS AS. Terminal equipment can access the IMS network through IMS access media gateway (IMS-AGW) to implement related functions.
[0110] AS can provide call assistant and data channel (DC) business logic orchestration. MF can add SAAF capabilities based on existing DC and rendering functions. DCSF is used to manage DC media channels and DC business triggers, and provide northbound interfaces for business calls.
[0111] Figure 4 An example diagram of the call assistant provided in an embodiment of the present application being deployed as an independent network element.
[0112] See also Figure 4 SAAF is an independent network element. SAAF can communicate with MF, such as obtaining media data, and can also communicate with DCSF and AS, such as interactive control signaling.
[0113] and Figure 3 different, Figure 4 The MF shown in the figure can provide DC and rendering functions.
[0114] In IMS-based voice / video call scenarios, the call assistant can provide network-side personal call assistant functions for subscribers. The call assistant can help users complete various tasks such as checking the weather / looking for attractions / ordering meals / recording to-do items with the help of AI Agent's planning and execution capabilities.
[0115] Optionally, the application scenarios of the call assistant may include two types of scenarios: C2M and C2C.
[0116] Figure 5 This is an example of how the call assistant is applied to the C2M scenario. Figure 5 , the user can directly call the call assistant. During the call, the call assistant can receive the user's audio information, such as helping me check the weather, helping me check attractions, helping me order food, or reminding me that there is a basketball game on Saturday morning. The call assistant can recognize the user's intention based on the audio information from the user and help the user complete the task.
[0117] Figure 6 This is an example of how the call assistant is applied to a C2C scenario. Figure 6 When a user calls a user on the other end, the user who has signed up for the call assistant service can wake up the call assistant and instruct the call assistant to complete the corresponding service, such as instructing the call assistant to help me order food.
[0118] Figure 7 The following is a flowchart of the call assistant executing the service. Figure 7 Briefly introduce the process of call assistant helping users to perform business. Figure 7 , the user can say "help me book a nearby restaurant" during the call. After receiving the above voice of the user, the call assistant can recognize the user's intention as booking a restaurant near the user's location based on the voice. The call assistant can plan the behavior to complete the intention according to the user's intention, such as obtaining the user's location information and calling an external application (such as a meal ordering application (application, referred to as APP)) to complete the user's intention. For example, the call assistant can call the meal ordering APP through the application programming interface (API) of the external application. It should be understood that since the user calls the call assistant through a terminal device, the user's location information can be understood as the location information of the terminal device.
[0119] It should be understood that in the process of calling the meal ordering APP, the call assistant needs to provide the user's location information as a key parameter. So, how the call assistant obtains the location information of the terminal device is a problem that needs to be solved.
[0120] Usually, the APP running on the terminal can call the interface provided by the operating system to directly obtain the location information of the terminal device. However, the call assistant is provided based on the IMS network and is a network-side function. It cannot use this method to obtain the location information of the terminal device.
[0121] As a possible implementation method, the call assistant can obtain the location information of the terminal device through the access network information. For example, the proxy-call session control function (P-CSCF) network element can obtain the access network information from the policy and charging control (PCC), and use the access network information carried in the P-Access-Network-Info header field during the call to use the location of the access network as the location information of the terminal device. Taking VoLTE access as an example, the "utran-cell-id-3gpp" parameter in the P-Access-Network-Info header field consists of the mobile country code (MCC), mobile network code (MNC), location area code (LAC), and cell identity (CI).
[0122] When the mobile phone accesses the mobile network, the location information of the terminal device obtained by the above method can locate the access cell or access base station of the terminal device. In other words, the location information can be accurate to the cell or base station. According to the density of the cell, the location accuracy corresponding to the access network information is within the range of about 1000 meters.
[0123] In addition, the serving-call session control function (s-CSCF) network element can obtain the location information of the terminal device from the home subscriber server (HSS). This information is similar to the access network information in the P-Access-Network-Info header field and can only locate the cell or base station.
[0124] In the emergency call process, the terminal device can actively carry the geographic location information through the Geolocation header field in the session initiation protocol (SIP) message. In ordinary calls, for the sake of user privacy protection, the terminal device will not actively carry the geographic location.
[0125] As another possible implementation, the call assistant can act as a location services (LCS) client to obtain the location information of the terminal device. Figure 8 Figure 1 is an example diagram of the LCS network architecture.
[0126] For example, the call assistant can request location information from the gateway mobile location center (GMLC). The location information obtained by this method can be accurate to the cell level, and the positioning accuracy is not high. For another example, more accurate location information can be obtained by paging the terminal. The location information obtained by this method can be accurate to a range of about 50 meters. As an example, in the LCS network, you can request location information from the GMLC, and the GMLC instructs the mobile management entity (MME) to initiate paging to the terminal device. This process passes through many network devices and a long path. The positioning time is long, and the delay may be as long as tens of seconds, which cannot meet the user experience requirements.
[0127] The above only takes the meal ordering service as an example to introduce the method for the call assistant to obtain the location information of the terminal device. It should be understood that in application scenarios such as meal ordering, scenic spot inquiry, and hotel booking, the location information of the terminal device is the key information that the call assistant needs to obtain.
[0128] In order to solve one or more of the above problems, the embodiment of the present application provides a communication method, which can obtain the location information of the terminal device through the data channel between the call assistant and the terminal device. On the one hand, the data channel between the call assistant and the terminal device passes through fewer devices, which helps to reduce the delay in obtaining the location information of the terminal device; on the other hand, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0129] Fig. 9 A flow chart of a communication method provided in an embodiment of the present application. Fig. 9 The method shown at least involves interaction between a call assistant, a terminal device, and a server. The call assistant may be any of the above-mentioned ones, or a chip, a chip system, or a processor that supports the SAAF function; the terminal device may be any of the above-mentioned terminal devices, or a chip, a chip system, or a processor that supports the terminal device to implement the method.
[0130] The following is an introduction to the method provided in the embodiment of the present application from the perspective of the interaction between the call assistant, the terminal device and the server. Fig. 9 The method shown includes steps S910 to S930.
[0131] S910, the call assistant receives first information from the terminal device. Correspondingly, the terminal device sends the first information to the call assistant.
[0132] In some embodiments, when the user wakes up the call assistant or the user calls the call assistant, the media function network element can receive the first information sent by the terminal device and forward the first information to the call assistant. In other words, the call assistant can receive the first information from the terminal device through the media function network element.
[0133] Among them, the above-mentioned first information can be used to instruct the call assistant to perform the first service. In some embodiments, the call assistant can identify the user's intention based on the first information, thereby determining the first service. Exemplarily, the call assistant can identify the user's intention through an intelligent agent, and determine the first service based on the user's intention. It should be understood that the services mentioned here can also be replaced by matters, tasks, etc., and this application does not limit this.
[0134] In some embodiments, the first information may be voice information or video information. When the first information is voice information, the call assistant may identify the user's intention based on the voice information; when the first information is video information, the call assistant may identify the user's intention based on the voice information, action information (such as gesture information) and the like in the video information.
[0135] Taking the voice message of "What are the nearby attractions" as an example, the call assistant recognizes the user's intention to query the information of attractions near the user's location based on the first information, and then determines the first service as the attraction query service, and the query range is near the user's location. It can be seen that the first service is usually consistent with the user's intention. Figure 1 In other words, the first business is user intent.
[0136] Taking the voice message of "help me order takeout" as an example, the call assistant recognizes the user's intention (ie, the first service) based on the first information as ordering takeout for the user.
[0137] S920: Obtain location information of the terminal device according to the first information.
[0138] According to the above examples, the call assistant may need to obtain the user's location information when helping the user complete tasks or executing a service. In some embodiments, the call assistant can determine whether it is necessary to obtain the location information of the terminal device during the execution of the first service based on the first information. In other words, the call assistant can determine whether it is necessary to execute the first service based on the location information of the terminal device based on the first information.
[0139] For example, the first information is a voice message of "help me order food at location A". Based on the first information, the call assistant can determine that there is no need to obtain the location information of the terminal device during the execution of the first service.
[0140] For another example, the first information is a voice message of "help me order food nearby". The call assistant can determine that the location information of the terminal device needs to be obtained during the execution of the first service based on the first information.
[0141] Exemplarily, based on the first information, the call assistant can combine the knowledge mastered by the intelligent agent, such as user habits, user schedules, and preset processing rules, to determine whether it is necessary to obtain the location information of the terminal device during the execution of the first service. For example, the preset processing rules may include using the location information of the terminal device to execute the service by default when the user does not provide the target location information. Still taking the voice message of "help me book a restaurant" as the first information as an example, when the first information does not provide location information, the call assistant can determine that the first service is to book a restaurant for the user near the user's location based on the first information and the preset processing rules.
[0142] Alternatively, if the first message does not provide a location, the call assistant may also confirm (or "clarify") the user's intention with the user, such as confirming with the user whether to reserve a restaurant near the user's location, or requesting the user's location information for the reserved restaurant. If the user confirms to reserve a restaurant near the user's location, the user's location information needs to be obtained during the execution of the first service (i.e., the restaurant reservation service).
[0143] In the case where it is necessary to obtain the location information of the terminal device during the execution of the first service determined according to the first information, the call assistant may obtain the location information of the terminal device through the data channel. The nodes involved in the first data channel may include only the call assistant and the terminal device, or may include nodes other than the call assistant and the terminal device, such as a media function network element, and this application does not limit this.
[0144] In some embodiments, the call assistant can send a first request to the terminal device through the first data channel, wherein the first request can be used to request the location information of the terminal device; the call assistant can receive the location information of the terminal device through the first data channel.
[0145] Correspondingly, the terminal device receives the first request through the first data channel, and sends the location information of the terminal device to the call assistant through the first data channel. Exemplarily, the data channel application running in the terminal device can receive the first request from the first data channel, and after obtaining the location information of the terminal device, can send the location information of the terminal device to the call assistant through the first data channel.
[0146] The data channel application running in the terminal device can be downloaded from the DCSF network element by guiding the data channel. It should be noted that the format of the data transmitted in the first data channel needs to match the data channel application. Therefore, the version of the data channel application can be specified during the interaction between the server and the call assistant. Optionally, the version of the data channel application can be determined by the local policy of the operator.
[0147] In the case where the first data channel includes a data channel between the MF and the terminal device, and a data channel between the MF and the call assistant, the data channel between the MF and the terminal device may support the DC protocol, and the data channel between the MF and the call assistant may support the hypertext transfer protocol (HTTP) or the DC protocol. Optionally, the data transmission protocol supported by the data channel between the MF and the call assistant may be determined by the local policy of the operator.
[0148] When determining the version of the data channel application, the local policy of the operator may be given priority. If the local policy of the operator only supports one version of the data channel application, the terminal device may install the data channel application of that version. If the local policy of the operator supports multiple versions, the version that matches the data transmission protocol supported by the call assistant may be given priority.
[0149] Exemplarily, the location information of the terminal device may be GPS location information. The accuracy of GPS location information can be within 50 meters. This solution helps to improve the accuracy of the location information of the terminal device obtained by the call assistant.
[0150] Exemplarily, the location information of the terminal device may be location information obtained based on the measurement result of the positioning reference signal between the terminal device and the network device, or between the terminal devices. This solution helps to improve the accuracy of the location information of the terminal device obtained by the call assistant. For example, the location information of the terminal device may be the location information that has been obtained before receiving the first request, which helps to avoid the delay caused by the measurement process of the positioning reference signal and the processing of the measurement results, thereby helping to reduce the delay of the call assistant in obtaining the location information of the terminal device.
[0151] S930, the call assistant executes the first service according to the location information of the terminal device.
[0152] In some embodiments, the call assistant can complete the first service based on the knowledge it has or the stored information, etc. For example, the first service is to query the scenic spots near the user, and when the call assistant stores the map information, the call assistant can perform the first service based on the stored map information.
[0153] In some embodiments, the call assistant needs to call an external application, such as calling an external application through an API interface to execute the first service. Exemplarily, the call assistant can determine the external application that needs to be called and the corresponding API interface based on the first service. Taking the first service as an example of reserving a restaurant for the user near the user, the call assistant can determine that the external application that needs to be called is a meal ordering APP based on the first service, and the API interface corresponding to the meal ordering APP.
[0154] For example, when calling an external application, the call assistant needs to provide the external application with the information required to execute the first service (which can be called key parameters), such as the location information of the terminal device. Taking the first service of making a restaurant reservation as an example, the key parameter that the call assistant can provide to the ordering APP is the location information of the terminal device. Taking weather query as an example, the key parameters that the call assistant can provide to the weather APP include the location information of the terminal device and the query date.
[0155] In the embodiment of the present application, through the data channel between the terminal device and the call assistant, the call assistant can obtain the location information of the terminal device to perform services related to the location information of the terminal device. Since the data channel between the call assistant and the terminal device does not pass through other nodes, or only passes through the media function network element, this solution helps to reduce the delay in obtaining the location information of the terminal device. In addition, obtaining the location information of the terminal device from the terminal device side, such as the GPS positioning information of the terminal device, helps to improve the accuracy of the location information of the terminal device.
[0156] The first data channel is introduced above, and the method for creating the first data channel will be introduced below.
[0157] In some embodiments, the creation of the first data channel may be initiated by a server, such as an application server.
[0158] Exemplarily, the server may send a third request, and the third request may be used to request the creation of a data channel between the call assistant and the terminal device. For example, the server may send a third request to a first network element, such as a DCSF, to initiate the creation of a first data channel. In the related art, the DCSF may be used to manage data channels and trigger services related to the data channels. Therefore, initiating the creation of the first data channel to the DCSF may reuse the data channel establishment method in the related art to reduce the degree of modification to the protocol.
[0159] The server may receive a response message to the third request, such as a response message to the third request from the first network element. The response message to the third request may be used to indicate that establishment of the data channel is complete, or establishment of the first data channel fails.
[0160] After the establishment of the first data channel fails, the establishment of the first data channel may be initiated again, such as sending the third request again, until the establishment of the first data channel is completed.
[0161] In some embodiments, the third request may include identification information, which may be used to determine an endpoint of the first data channel.
[0162] Exemplarily, the identification information may include an identification of a terminal device to indicate a terminal device at an endpoint of the first data channel, such as a terminal device that calls a call assistant or a terminal device that wakes up a call assistant.
[0163] Exemplarily, the identification information may be an endpoint address of the call assistant, and the endpoint address of the call assistant may be used to establish the first data channel. For example, before sending the third request, the server may request the endpoint address of the call assistant from the call assistant. The method may be applied to a scenario where the call assistant is deployed as an independent network element.
[0164] As an example, the call assistant may receive a second request from the server, and accordingly, the server may send the second request to the call assistant. The second request may be used to request the call assistant to allocate resources, such as an endpoint address, for the first data channel. After the call assistant allocates resources for the first data channel, the call assistant may send a response message of the second request to the server, and accordingly, the server may receive a response message of the second request sent by the call assistant. The response message of the second request may include the endpoint address of the call assistant.
[0165] Exemplarily, the identification information may be an application identifier of the first data channel, and the application identifier may be used to determine the endpoint of the first data channel. The method may be applied to a scenario in which a call assistant is built into a network element of an existing IMS network architecture, such as an MF network element. Taking the case in which a call assistant is built into an MF network element as an example, based on the application identifier of the first data channel, it may be identified whether the first data channel is used to transmit data for the call assistant or for transmitting data for the MF network element in the related technology (i.e., an MF network element without a built-in call assistant function).
[0166] Since the parameters related to the data channel in the related art include the application identifier, the application identifier in the embodiment of the present application can be understood as an extension of the function of the application identifier in the related art. In other words, the extended function of the application identifier is used to determine the endpoint of the first data channel.
[0167] The following is a detailed introduction to the method of creating the first data channel under different deployment modes of the call assistant.
[0168] Generally, upon receiving the third request, the DCSF may forward the third request to the IMS AS. The IMS AS may parse the content of the third request, and on the one hand, initiate a data channel creation request to the MF (such as the fifth request mentioned above), and on the other hand, initiate a data channel creation request to the terminal device (i.e., the fourth request). It should be understood that the initiation of the data channel creation request to the MF and the terminal device does not occur simultaneously, and the initiation order may refer to the description below.
[0169] According to the introduction above, one end point of the first data channel is the terminal device. Under different deployment modes of the call assistant, the other end point of the first data channel is different, such as the other end point of the first data channel can be the MF or the call assistant. If the other end point of the first data channel is the MF, the nodes involved in the first data channel include the MF and the terminal device. If the other end point of the first data channel is the call assistant, the nodes involved in the first data channel include the MF, the call assistant and the terminal device, or in other words, the first data channel includes the data channel between the call assistant and the MF, and the data channel between the MF and the terminal device.
[0170] If the identification information carried in the third request is the endpoint address of the call assistant, then the MF can determine that one end point of the first data channel is the call assistant. Further, the MF can establish a data channel between the MF and the call assistant according to the endpoint address of the call assistant. In addition, the MF can allocate an endpoint address for the data channel between the MF and the terminal device.
[0171] If the identification information carried in the third request is the application identification of the call assistant, then the MF can determine that the first data channel is applied to call assistant-related services. If the third request does not carry endpoint address information, then the MF can determine that one side endpoint of the first data channel is MF. For example, when transmitting data through the first data channel, the MF can transmit the data received through the first data channel to the call assistant, and transmit the call assistant-related data through the first data channel. In this case, the MF can allocate resources for the first data channel, such as the endpoint address, and the endpoint address of the MF can be used to establish the first data channel.
[0172] After completing the above steps, the IMS AS may send a fourth request, such as a re-INVITE request, to the UE. The fourth request may carry the endpoint address of the MF, such as the IP address and port number in the session description protocol (SDP) information. The endpoint address may be used to establish a data channel between the MF and the UE, and the data channel may be the first data channel, or the data channel may be part of the first data channel.
[0173] After receiving the fourth request, the terminal device can perceive the MF according to the endpoint address of the MF carried in the request, and establish a data channel with the MF. For example, the negotiation process of the SDP offer (offer) and the SDP answer (answer) is completed through the re-INVITE and re-INVITE 200OK requests, and the addresses of both ends are connected to complete the creation of the data channel.
[0174] In some embodiments, the data channel can be multiplexed. Taking a connection path between a terminal device and an MF as an example, the connection path may include multiple logical streams, each of which is identified as a data stream. Each data stream is associated with an application identifier for identifying the function of the data stream. Therefore, the creation of a data channel mentioned in the embodiments of the present application can be to establish a new connection (allocate a new endpoint address), or to add a logical stream to an existing connection (i.e., no new endpoint address needs to be allocated).
[0175] If creating a data channel is to add a logical flow to an existing connection, the data channel creation request may not include the allocated endpoint address.
[0176] In some embodiments, the terminal device supports the creation of a data channel, or the terminal device supports the establishment of a data channel with the call assistant, then the server can directly initiate the establishment of the first data channel.
[0177] In other embodiments, some terminal devices support the creation of data channels, while some terminal devices do not. In this case, before initiating the creation of the first data channel, the server can determine how the call assistant obtains the terminal device location information, or in other words, the server can decide how to obtain the terminal device location information.
[0178] Exemplarily, the server can determine whether the terminal device supports the creation of a data channel based on the capability information of the terminal device. When the capability information of the terminal device indicates that the terminal device supports the creation of a data channel, the server determines that the method for acquiring the location information of the terminal device is based on the first data channel. When the capability information of the terminal device indicates that the terminal device does not support the creation of a data channel, the server determines that the method for acquiring the location information of the terminal device is other methods, such as acquiring the location information of the terminal device from the access network information as mentioned above, or acquiring the location information of the terminal device from the GMLC. The capability information of the terminal device can be acquired, for example, from the initial call event of the terminal device.
[0179] There may be multiple opportunities for the server to initiate the first data channel.
[0180] In some embodiments, the call assistant may initiate the creation of the first data channel when it determines that the location information of the terminal device needs to be obtained to execute the first service. In other words, when there is a need to use the first data channel, creating the first data channel helps to avoid wasting resources.
[0181] In some embodiments, the first data channel can be created before the call assistant receives the first information. In this way, when the call assistant needs to obtain the location information of the terminal device, the first data channel has been created, which can avoid the delay caused by the creation of the first data channel, help reduce the delay of the call assistant in processing the first service, and thus help improve the user experience.
[0182] Exemplarily, the server may initiate the creation of the first data channel upon receiving the second information. That is, the second information may be used to trigger the creation of the first data channel. As mentioned above, before initiating the creation of the first data channel, the server may determine the method by which the call assistant obtains the location information of the terminal device. Therefore, the second information may also be understood as information used to trigger the determination of the method for obtaining the location information of the terminal device.
[0183] For example, the second information may be related to the call assistant service. That is, when the user uses the call assistant, the creation of the first data channel is triggered. When the user subscribes to the call assistant, the call assistant function may or may not be used when the user calls the other end user. Therefore, when the user uses the call assistant, triggering the creation of the first data channel helps to avoid waste of resources.
[0184] As an example, in the scenario where the user calls the call assistant, the second information may be a notification message of a call connection event, and in the scenario where the user calls the user, the second information may be a notification message of a wake-up event of the call assistant. It should be understood that in the scenario where the user calls the user, the call assistant may report the second information to the server.
[0185] Or, as another example, the second information may be generated based on the first information. For example, when the first service determined according to the first information needs to obtain the location information of the terminal device, the call assistant may send the second information to the server.
[0186] High-precision location information of users usually involves the privacy security of users. In the embodiment of the present application, the location information of the terminal device is sent to the call assistant with the authorization of the user, thereby helping to meet the privacy protection needs of users.
[0187] In some embodiments, when the first request is received, the terminal device may prompt the user of the terminal device to authorize the call assistant to obtain the location information of the terminal device. For example, the data channel application running on the terminal device may call the interface provided by the operating system to request authorization from the user when the first request is received.
[0188] For example, the terminal device can prompt the user through text, voice, etc., such as displaying "Call Assistant requests to obtain your location information" through a pop-up window. It should be understood that the method of prompting the user by the terminal device mentioned here is only given as an example, and the embodiment of the present application does not limit this.
[0189] After receiving the user's authorization instruction, the terminal device may send the location information of the terminal device through the first data channel. In some embodiments, the user's authorization instruction may be a voice or gesture operation. Taking the pop-up window displaying "Call Assistant requests to obtain your location information" as an example, the pop-up window may also include an area for allowing authorized operations. Receiving the user's authorization instruction may refer to: receiving the user's operation in the area for allowing authorized operations, such as a single-click operation or a double-click operation.
[0190] In some embodiments, during the execution of the first service, it is necessary to obtain the location information of the peer user. This solution is applied to the process of a user calling a peer user. For example, if the first information is "book a restaurant that is close to both of us", then the first service may be to book a restaurant between the user's location and the peer user's location. It can be seen that the first service needs to obtain the user's location information and the peer user's location information. Exemplarily, a second data channel may be established between the peer user and the call assistant to obtain the peer user's location information, which helps to improve the accuracy of the peer user's location information obtained by the call assistant, thereby helping to improve the user experience.
[0191] It should be understood that the method for establishing the second data channel is similar to the method mentioned above, and for the sake of brevity, it will not be repeated here.
[0192] In some embodiments, the terminal device can obtain the services provided by the call assistant through subscription.
[0193] Combine the following Figures 10 to 13 The communication methods provided in the embodiments of the present application are respectively introduced by way of example. Fig.10 and Fig.11 This is an example of a call assistant deployed as an independent network element. Fig.12 and Fig.13 This is an example of a call assistant built into the MF network element scenario; Fig.10 and Fig.12 This is an example of a scenario where a user calls a call assistant. Fig.11 and Fig.13This is an example of a scenario in which a user calls a call assistant while calling a peer user.
[0194] Fig.10 A flowchart of another communication method provided in an embodiment of the present application. Fig.10 The method shown may include steps 1 to 12.
[0195] Step 1: The user establishes a call with the call assistant, or in other words, the terminal device establishes a call with the call assistant.
[0196] Specifically, the terminal device can initiate a call to the call assistant, and the call process involves interactions between multiple network elements. For example, the call establishment process involves IMS AS, MF, AS, and SAAF. AS can receive call signaling from the terminal device, such as notification messages of call connection events. SAAF can receive media information from the user.
[0197] Step 2: The AS decides how to obtain the location information based on the capabilities of the terminal device.
[0198] For example, when receiving a notification message of a call connection event, the AS may decide how to obtain the location information according to the capability information of the terminal device. Alternatively, the AS may obtain the capability information of the terminal device from an initial call event.
[0199] If the capability information of the terminal device indicates that the terminal device supports the data channel, then the AS can determine to obtain the location information of the terminal device through the data channel, that is, execute step 3.
[0200] If the capability information of the terminal device indicates that the terminal device does not support the data channel, then the AS may determine that the method for obtaining the location information is other methods, such as obtaining the location information from the access network information.
[0201] Step 3: AS requests SAAF to allocate resources for the first data channel.
[0202] When receiving the request, SAAF may allocate an endpoint address for the first data channel, that is, the endpoint address of SAAF, which is used to establish the first data channel.
[0203] Step 4: AS receives a response message from SAAF. The response message may carry the endpoint address of SAAF.
[0204] In the related art, DC data transmission between MF and DCSF / DC AS can adopt HTTP protocol or DC protocol. In the embodiment of the present application, DC data interaction between MF and SAAF can also adopt any of the above two protocols, and the specific method is determined by the operator according to the local policy.
[0205] The format of the data transmitted in the first data channel needs to match the corresponding DC application. The version of the DC application can be specified during the interaction between AS and SAAF. The version is determined by the operator according to the local policy.
[0206] Step 5: The AS initiates a third request to the DCSF. The third request is used to request the creation of the first data channel.
[0207] In one possible implementation, the third request may use the Nimsas_SessionEventControl_Notify message in the existing standard. When the Nimsas_SessionEventControl_Notify is used in this application, it may include, for example, a calling ID, a called ID, a media information list, and a notification type. Fig.10 In the method shown, the calling party identification may be the identification of the terminal device, the called party identification may be the identification of the call assistant, the notification type may be a media stream change event notification, and the media information list may include information related to the first data channel.
[0208] For example, the media information list may include the endpoint address of the first data channel, such as the endpoint address assigned by SAAF to the first data channel; and the application type of the first data channel, such as the data channel is applied to the call assistant service.
[0209] For another example, the media information list may include media stream information. By combining the notification type and the media stream information, it is possible to determine which media stream to change and how to change it, such as establishing multiplexing of media streams in existing data channels, or creating new data channels.
[0210] Step 6: Create a first data channel.
[0211] The IMS AS completes the DC channel signaling negotiation with the UE and establishes the data channel between the UE / MF / SAAF.
[0212] The following is an exemplary introduction to the process of creating the first data channel in conjunction with step 6.1 to step 6.5. In other words, step 6 may include, for example, steps 6.1 to step 6.5.
[0213] Step 6.1, DCSF calls the Nimsas_MediaControl service operation.
[0214] The DCSF instructs the IMS AS to terminate the media flow from the originating UE to the MF by calling the Nimsas_MediaControl service operation, in preparation for establishing the first data channel.
[0215] In step 6.2, the IMS AS calls the Nmf_MRM_Create service operation.
[0216] The IMS AS instructs the MF to establish the first data channel by calling the Nmf_MRM_Create service operation.
[0217] This service operation can be used to instruct the MF to establish an application data channel and reserve data channel media resources based on the DC media information received from the DCSF, such as the identification information mentioned above. Fig.10 In the application scenario, the identification information may include the endpoint address of SAAF.
[0218] Exemplarily, the MF may sense the endpoint address of the SAAF, and establish a connection with the SAAF based on the address.
[0219] Exemplarily, the MF may allocate media resources for the data channel, such as an endpoint address of the MF, wherein the endpoint address of the MF may be used to establish a connection with the terminal device, thereby establishing the first data channel.
[0220] Step 6.3: The IMS AS sends a Nimsas_MediaControl response message to the DCSF.
[0221] After executing the media control instruction, the IMS AS will execute step 6.3. The response message is used to indicate that the IMS AS has performed corresponding operations according to the instruction of the DCSF.
[0222] Step 6.4: The IMS AS sends a re-INVITE request to the terminal device.
[0223] The SDP of the re-INVITE request may provide the first data channel media information and other existing media description information. The first data channel media information mentioned here may be, for example, the endpoint address of the MF mentioned above.
[0224] Step 6.5: The terminal device and the IMS AS complete the media negotiation of the data channel and establish the corresponding data channel.
[0225] After the terminal device receives the re-INVITE request, it can complete the media negotiation according to the endpoint address of the MF and establish a data channel between the terminal device and the MF. At this point, the first data channel between the terminal device and the SAAF is established and is ready to transmit data.
[0226] It should be understood that the execution order of each step in the above is only given as an example, and the present application does not limit this. For example, the execution order of step 6.3 and step 6.4 can be replaced with each other.
[0227] In some embodiments, the data channel can be multiplexed. Taking a connection path between a terminal device and an MF as an example, the connection path may include multiple logical streams, each of which is identified as a data stream. Each data stream is associated with an application identifier for identifying the function of the data stream. Therefore, the creation of a data channel mentioned in step 6 can be to establish a new connection (allocate a new endpoint address), or to add a logical stream to an existing connection (i.e., no new endpoint address needs to be allocated).
[0228] For example, the connection path between the terminal device and the MF may be a newly established connection, or may be a logical flow added to an existing connection.
[0229] Step 7: The AS receives a response message to the third request. The response message is used to indicate that the establishment of the first data channel is completed.
[0230] The response message of the third request may be, for example, a Nimsas_SessionEventControl_NotifyResponse message, which may include, for example, indication information that the establishment of the first data channel is complete.
[0231] Step 8: SAAF receives the first information from the user.
[0232] The first information may be voice information or video information. SAAF may identify the user's intention based on the first information, such as "help me order food".
[0233] Furthermore, the SAAF can determine whether the service needs to obtain the location information of the terminal device according to the user's intention. If the location information of the terminal device needs to be obtained, step 9 is executed.
[0234] Step 9: SAAF requests location information from the terminal device through the first data channel.
[0235] Step 10: The terminal device requests the user to authorize SAAF to obtain location information.
[0236] For example, when the DC application running on the terminal device receives the request from the first data channel, it initiates an authorization request according to the business logic of the application program. After the user authorizes, the location information of the terminal device, such as GPS location information, is obtained.
[0237] Step 11: The terminal device sends the location information of the terminal device to the SAAF through the first data channel.
[0238] Step 12: SAAF helps the user complete service processing based on the location information of the terminal device, such as helping the user complete a meal ordering service.
[0239] Fig.11A flowchart of another communication method provided in an embodiment of the present application. Fig.11 The method shown may include steps 1 to 15.
[0240] Step 1: A terminal device establishes a call with a terminal device at the opposite end, or in other words, a user establishes a call with a user at the opposite end.
[0241] Fig.11 UE#1 shown in the figure is a call assistant subscriber (i.e., the terminal device mentioned in the embodiment of the present application), and UE#1 is talking to the opposite terminal device UE#2. After the call is connected, the AS controls the SAAF (the SAAF on the UE#1 side) to receive the UE#1 audio forwarded from the MF.
[0242] Step 2: The user wakes up the call assistant.
[0243] Step 3: SAAF reports the wake-up event to AS.
[0244] SAAF can determine whether the user wakes up the call assistant based on the audio of the terminal device received from MF. In the case where the user wakes up the call assistant, SAAF reports the wake-up event to AS.
[0245] Step 4: The AS decides how to obtain the location information based on the capabilities of the terminal device.
[0246] When receiving the wake-up event reported by SAAF, the AS can decide how to obtain the location information according to the capability information of the terminal device. For example, when receiving the notification message of the call connection event, the AS can obtain the capability information of the terminal device from the initial call event.
[0247] If the capability information of the terminal device indicates that the terminal device supports the data channel, then the AS can determine to obtain the location information of the terminal device through the data channel, that is, execute step 5.
[0248] If the capability information of the terminal device indicates that the terminal device does not support the data channel, then the AS may determine that the method for obtaining the location information is other methods, such as obtaining the location information from the access network information.
[0249] Step 5: AS requests SAAF to allocate resources for the first data channel.
[0250] When receiving the request, SAAF may allocate an endpoint address for the first data channel, that is, the endpoint address of SAAF, which is used to establish the first data channel.
[0251] Step 6: AS receives a response message from SAAF. The response message may carry the endpoint address of SAAF.
[0252] In the related art, DC data transmission between MF and DCSF / DC AS can adopt HTTP protocol or DC protocol. In the embodiment of the present application, DC data interaction between MF and SAAF can also adopt any of the above two protocols, and the specific method is determined by the operator according to the local policy.
[0253] The format of the data transmitted in the first data channel needs to match the corresponding DC application. The version of the DC application can be specified during the interaction between AS and SAAF. The version is determined by the operator according to the local policy.
[0254] Step 7: The AS initiates a third request to the DCSF. The third request is used to request the creation of the first data channel.
[0255] The third request may be, for example, a Nimsas_SessionEventControl_Notify message in an existing standard. When the Nimsas_SessionEventControl_Notify is used in the present application, for example, it may include a calling ID, a called ID, a media information list, and a notification type. Fig.11 In the method shown, the calling party identifier may be an identifier of a terminal device, the called party identifier may be an identifier of a peer terminal device, the notification type may be a media stream change event notification, and the media information list may include information related to the first data channel.
[0256] For example, the media information list may include the endpoint address of the first data channel, such as the endpoint address assigned by SAAF to the first data channel; and the application type of the first data channel, such as the data channel is applied to the call assistant service.
[0257] For another example, the media information list may include media stream information. By combining the notification type and the media stream information, it is possible to determine which media stream to change and how to change it, such as establishing multiplexing of media streams in existing data channels, or creating new data channels.
[0258] Step 8: Create a first data channel.
[0259] The IMS AS completes the DC channel signaling negotiation with the UE and establishes the data channel between the UE / MF / SAAF.
[0260] Exemplarily, the process of establishing the first data channel may be Fig.10 For the sake of brevity, the related introduction of step 6 in the above description will not be repeated here.
[0261] Step 9: The AS receives a response message to the third request. The response message is used to indicate that the establishment of the first data channel is completed.
[0262] The response message of the third request may be, for example, a Nimsas_SessionEventControl_NotifyResponse message, which may include, for example, indication information that the establishment of the first data channel is complete.
[0263] In some embodiments, when a call assistant wake-up event is received, the call assistant can complete other business processes related to the call assistant with the AS, such as step 10, which will not be repeated in this application.
[0264] Step 11: SAAF receives first information from the user.
[0265] The first information may be voice information or video information. SAAF may identify the user's intention based on the first information, such as "help me order food".
[0266] Furthermore, the SAAF can determine whether the service needs to obtain the location information of the terminal device according to the user's intention. If the location information of the terminal device needs to be obtained, step 12 is executed.
[0267] Step 12: SAAF requests location information from the terminal device through the first data channel.
[0268] Step 13: The terminal device requests the user to authorize SAAF to obtain location information.
[0269] For example, when the DC application running on the terminal device receives the request from the first data channel, it initiates an authorization request according to the business logic of the application program. After the user authorizes, the location information of the terminal device, such as GPS location information, is obtained.
[0270] Step 14: The terminal device sends the location information of the terminal device to the SAAF through the first data channel.
[0271] Step 15: SAAF helps the user complete service processing according to the location information of the terminal device, such as helping the user complete a meal ordering service.
[0272] Fig.12 A flowchart of another communication method provided in an embodiment of the present application. Fig.12 The method shown may include steps 1 to 10.
[0273] Step 1: The user establishes a call with the call assistant.
[0274] Specifically, the terminal device can initiate a call to the call assistant, and the call process involves interactions between multiple network elements. For example, the call establishment process involves IMS AS, MF, AS, and SAAF. AS can receive call signaling from the terminal device, such as notification messages of call connection events. SAAF can receive media information from the user.
[0275] Step 2: The AS decides how to obtain the location information based on the capabilities of the terminal device.
[0276] For example, when receiving a notification message of a call connection event, the AS may decide how to obtain the location information according to the capability information of the terminal device. Alternatively, the AS may obtain the capability information of the terminal device from an initial call event.
[0277] If the capability information of the terminal device indicates that the terminal device supports the data channel, then the AS can determine to obtain the location information of the terminal device through the data channel, that is, execute step 3.
[0278] If the capability information of the terminal device indicates that the terminal device does not support the data channel, then the AS may determine that the method for obtaining the location information is other methods, such as obtaining the location information from the access network information.
[0279] Step 3: The AS initiates a third request to the DCSF. The third request is used to request the creation of the first data channel.
[0280] The third request may be, for example, a Nimsas_SessionEventControl_Notify message. Exemplarily, the third request may carry identification information, and the identification information is used to determine the endpoint of the first data channel. Fig.12 In the application scenario, the identification information that can be carried in the third request sent in step 3 is the application identification of the first data channel.
[0281] Nimsas_SessionEventControl_Notify may include, for example, a calling ID, a called ID, a media information list, and a notification type. Fig.12 In the method shown, the calling party identification may be the identification of the terminal device, the called party identification may be the identification of the call assistant, the notification type may be a media stream change event notification, and the media information list may include information related to the first data channel.
[0282] For example, the media information list may include the above identification information, that is, the application identification of the first data channel, which is used to indicate that the data channel is applied to the call assistant service. If the media information list does not include the endpoint address of the first data channel on the network side, and the application identification of the first data channel carried in the media information list is the call assistant service, then it can be determined that the endpoint of the first data channel on the network side is MF.
[0283] For another example, the media information list may include media stream information. By combining the notification type and the media stream information, it is possible to determine which media stream to change and how to change it, such as establishing multiplexing of media streams in existing data channels, or creating new data channels.
[0284] Step 4: Create a first data channel.
[0285] The IMS AS completes the DC channel signaling negotiation with the UE and establishes the data channel between the UE and the MF.
[0286] The following is an exemplary introduction to the process of creating the first data channel in conjunction with step 4.1 to step 4.5. In other words, step 4 may include, for example, step 4.1 to step 4.5.
[0287] Step 4.1, DCSF calls the Nimsas_MediaControl service operation.
[0288] The DCSF instructs the IMS AS to terminate the media flow from the originating UE to the MF by calling the Nimsas_MediaControl service operation, in preparation for establishing the first data channel.
[0289] In step 4.2, the IMS AS calls the Nmf_MRM_Create service operation.
[0290] The IMS AS instructs the MF to establish the first data channel by calling the Nmf_MRM_Create service operation.
[0291] This service operation may be used to instruct the MF to establish an application data channel and reserve data channel media resources based on the DC media information received from the DCSF, such as the identification information mentioned above.
[0292] Exemplarily, based on the identification information, the MF can determine that the endpoint of the first data channel is the MF. On the one hand, the MF can allocate media resources for the first data channel, such as the endpoint address of the MF. The endpoint address of the MF can be used to establish a connection with the terminal device, thereby establishing the first data channel. On the other hand, the MF can determine the processing method of the data transmitted through the first data channel, such as sending the data received through the first data channel to the internal SAAF module, or transmitting the data sent by the internal SAAF module through the first data channel.
[0293] Step 4.3: The IMS AS sends a Nimsas_MediaControl response message to the DCSF.
[0294] After executing the media control instruction, the IMS AS will execute step 4.3. The response message is used to indicate that the IMS AS has performed corresponding operations according to the instruction of the DCSF.
[0295] Step 4.4: The IMS AS sends a re-INVITE request to the terminal device.
[0296] The SDP of the re-INVITE request may provide the first data channel media information and other existing media description information. The first data channel media information mentioned here may be, for example, the endpoint address of the MF mentioned above.
[0297] Step 4.5: The terminal device and the IMS AS complete the media negotiation of the data channel and establish the corresponding data channel.
[0298] After the terminal device receives the re-INVITE request, it can complete the media negotiation according to the endpoint address of the MF and establish a data channel between the terminal device and the MF. At this point, the first data channel between the terminal device and the SAAF is established and is ready to transmit data.
[0299] In some embodiments, the data channel can be multiplexed. Taking a connection path between a terminal device and an MF as an example, the connection path may include multiple logical streams, each of which is identified as a data stream. Each data stream is associated with an application identifier for identifying the function of the data stream. Therefore, the creation of a data channel mentioned in step 4 can be to establish a new connection (allocate a new endpoint address), or to add a logical stream to an existing connection (i.e., no new endpoint address needs to be allocated).
[0300] For example, the connection path between the terminal device and the MF may be a newly established connection, or may be a logical flow added to an existing connection.
[0301] Step 5: The AS receives a response message to the third request. The response message is used to indicate that the establishment of the first data channel is completed.
[0302] The response message of the third request may be, for example, a Nimsas_SessionEventControl_NotifyResponse message, which may include, for example, indication information that the establishment of the first data channel is complete.
[0303] Step 6: MF receives the first information from the user.
[0304] The first information may be voice information or video information. MF may identify the user's intention based on the first information, such as "help me order food".
[0305] Furthermore, the MF may determine whether the service needs to obtain the location information of the terminal device according to the user's intention. If the location information of the terminal device needs to be obtained, step 7 is executed.
[0306] Step 7: The MF requests location information from the terminal device through the first data channel.
[0307] Step 8: The terminal device requests the user to authorize the MF to obtain location information.
[0308] For example, when the DC application running on the terminal device receives the request from the first data channel, it initiates an authorization request according to the business logic of the application program. After the user authorizes, the location information of the terminal device, such as GPS location information, is obtained.
[0309] Step 9: The terminal device sends the location information of the terminal device to the MF through the first data channel.
[0310] Step 10: MF helps the user complete business processing based on the location information of the terminal device, such as helping the user complete a meal ordering task.
[0311] Fig.13 A flowchart of another communication method provided in an embodiment of the present application. Fig.13 The method shown may include steps 1 to 13.
[0312] Step 1: A terminal device establishes a call with a terminal device at the opposite end, or in other words, a user establishes a call with a user at the opposite end.
[0313] Fig.13 The UE#1 shown in the figure is a call assistant subscriber (i.e., the terminal device mentioned in the embodiment of the present application), and UE#1 is talking to the opposite terminal device UE#2. After the call is connected, the media flow between UE#1 and UE#2 passes through MF.
[0314] Step 2: The user wakes up the call assistant.
[0315] Step 3: MF reports the wake-up event to AS.
[0316] The MF can determine whether the user wakes up the call assistant based on the audio of the terminal device. If the user wakes up the call assistant, the MF reports the wake-up event to the AS.
[0317] Step 4: The AS decides how to obtain the location information based on the capabilities of the terminal device.
[0318] When receiving the wake-up event reported by the MF, the AS can decide how to obtain the location information according to the capability information of the terminal device. For example, when receiving the notification message of the call connection event, the AS can obtain the capability information of the terminal device from the initial call event.
[0319] If the capability information of the terminal device indicates that the terminal device supports the data channel, then the AS can determine to obtain the location information of the terminal device through the data channel, that is, execute step 5.
[0320] If the capability information of the terminal device indicates that the terminal device does not support the data channel, then the AS may determine that the method for obtaining the location information is other methods, such as obtaining the location information from the access network information.
[0321] Step 5: The AS initiates a third request to the DCSF. The third request is used to request the creation of the first data channel.
[0322] The third request may be, for example, a Nimsas_SessionEventControl_Notify message. Exemplarily, the third request may carry identification information, and the identification information is used to determine the endpoint of the first data channel. Fig.13 In the application scenario, the identification information that can be carried in the third request sent in step 3 is the application identification of the first data channel.
[0323] Nimsas_SessionEventControl_Notify may include, for example, a calling ID, a called ID, a media information list, and a notification type. Fig.13 In the method shown, the calling party identifier may be an identifier of a terminal device, the called party identifier may be an identifier of a peer terminal device, the notification type may be a media stream change event notification, and the media information list may include information related to the first data channel.
[0324] For example, the media information list may include the above identification information, that is, the application identification of the first data channel, which is used to indicate that the data channel is applied to the call assistant service. If the media information list does not include the endpoint address of the first data channel on the network side, and the application identification of the first data channel carried in the media information list is the call assistant service, then it can be determined that the endpoint of the first data channel on the network side is MF.
[0325] For another example, the media information list may include media stream information. By combining the notification type and the media stream information, it is possible to determine which media stream to change and how to change it, such as establishing multiplexing of media streams in existing data channels, or creating new data channels.
[0326] Step 6: Create a first data channel.
[0327] The IMS AS completes the DC channel signaling negotiation with the UE and establishes the data channel between the UE and the MF.
[0328] Exemplarily, the process of establishing the first data channel may be Fig.12 For the sake of brevity, the related introduction of step 4 in the above description will not be repeated here.
[0329] Step 7: The AS receives a response message to the third request. The response message is used to indicate that the establishment of the first data channel is completed.
[0330] The response message of the third request may be, for example, a Nimsas_SessionEventControl_NotifyResponse message, which may include, for example, indication information that the establishment of the first data channel is complete.
[0331] In some embodiments, when a call assistant wake-up event is received, the call assistant can complete other business processes related to the call assistant with the AS, such as step 8, which will not be repeated in this application.
[0332] Step 9: MF receives the first information from the user.
[0333] The first information may be voice information or video information. MF may identify the user's intention based on the first information, such as "help me order food".
[0334] Furthermore, the MF may determine whether the service needs to obtain the location information of the terminal device according to the user's intention. If the location information of the terminal device needs to be obtained, step 10 is executed.
[0335] Step 10: The MF requests location information from the terminal device through the first data channel.
[0336] Step 11: The terminal device requests the user to authorize the MF to obtain location information.
[0337] For example, when the DC application running on the terminal device receives the request from the first data channel, it initiates an authorization request according to the business logic of the application program. After the user authorizes, the location information of the terminal device, such as GPS location information, is obtained.
[0338] Step 12: The terminal device sends the location information of the terminal device to the MF through the first data channel.
[0339] Step 13: MF helps the user complete business processing according to the location information of the terminal device, such as helping the user complete a meal ordering service.
[0340] In the embodiment of the present application, the call assistant obtains the location information of the terminal device through the first data channel, and can obtain the location information of the terminal device with high precision. Taking the GPS location information of the terminal device as an example, the location accuracy can be accurate to within 50 meters.
[0341] In addition, when the user calls the call assistant or wakes up the call assistant, the first data channel is created, so that the user can request the user's location information through the first data channel at any time during the call, which helps to reduce the delay of the call assistant obtaining the location information, thereby reducing the delay of the call assistant processing the user's business, which helps to improve the user experience. Taking the deployment of SAAF and MF in the user's roaming area as an example, the delay in obtaining the location information of the terminal device through the first data channel can be optimized to less than 1s.
[0342] The embodiment of the present application requests authorization from the user when acquiring the location information of the terminal device, and provides the real-time geographic location information of the terminal device to the call assistant after the user's authorization, which helps to protect the user's privacy.
[0343] It should be noted that the call assistant in the embodiment of the present application can also be replaced by other names, such as call assistant, AI assistant, etc., and this application does not limit this.
[0344] It should be noted that in the embodiments of the present application, different requests can be implemented through different request messages or through the same request message, and the present application does not limit this. For example, the second request and the third request mentioned above can be implemented through the same request message or through different request messages.
[0345] It should be understood that the voice information involved in the embodiments of the present application can be replaced by audio information.
[0346] The above describes the method embodiment provided by the present application, and the following describes the device embodiment provided by the present application. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment, so the content not described in detail can be referred to the method embodiment above, and for the sake of brevity, it will not be repeated here.
[0347] Fig.14 A schematic block diagram of a communication device provided in an embodiment of the present application. Fig.14 As shown, the communication device 1400 may include a transceiver unit 1410 and / or a processing unit 1420. The transceiver unit 1410 may implement corresponding communication functions, and the processing unit 1420 is used to perform data processing. The transceiver unit 1410 may also be referred to as a communication interface or a communication unit. Optionally, the device 1400 may also include a storage unit, which may be used to store instructions and / or data, and the processing unit 1420 may read the instructions and / or data in the storage unit, so that the device implements the aforementioned method embodiment.
[0348] In one possible design, the device 1400 may be the call assistant in the above method embodiment, or may be a chip, processor or chip system that implements the call assistant function. The device 1400 may be used to execute the steps or processes executed by the call assistant in any of the above method embodiments.
[0349] Specifically, the transceiver unit 1410 can be used to receive first information from a terminal device, where the first information is used to instruct the call assistant to execute a first service.
[0350] The processing unit 1420 can be used to obtain the location information of the terminal device according to the first information, where the location information of the terminal device is obtained through a data channel between the call assistant and the terminal device; and execute the first service according to the location information of the terminal device.
[0351] In some embodiments, obtaining the location information of the terminal device based on the first information includes: determining that the location information of the terminal device needs to be obtained during the execution of the first service based on the first information; sending a first request through the data channel, the first request being used to request the location information of the terminal device; and receiving the location information of the terminal device through the data channel.
[0352] In some embodiments, the transceiver unit 1410 can be used to receive a second request from the server before receiving the first information from the terminal device, and the second request is used to request the call assistant to assign an endpoint address for the data channel; send a response message to the second request to the server, and the response message to the second request includes the endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel.
[0353] In some embodiments, the transceiver unit 1410 can be used to send second information to the server before receiving a second request from the server, and the second information is used to trigger a method for obtaining the location information of the terminal device, and the second information is a notification message of a call connection event of the call assistant, or the second information is a notification message of a wake-up event of the call assistant.
[0354] In a possible design, the device 1400 may be a server in the above method embodiment, or may be a chip, processor or chip system that implements the server function. The device 1400 may be used to execute the steps or processes executed by the server in any of the above method embodiments.
[0355] Specifically, the transceiver unit 1410 can be used to send a third request, wherein the third request is used to request the creation of a data channel between the call assistant and the terminal device, and the data channel is used by the call assistant to obtain the location information of the terminal device; and receive a response message to the third request, wherein the response message to the third request is used to indicate that the establishment of the data channel is complete.
[0356] In some embodiments, the third request includes identification information, and the identification information is used to determine an endpoint of the data channel.
[0357] In some embodiments, the identification information is an endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel; or, the identification information is an application identifier of the data channel.
[0358] In some embodiments, the identification information is the endpoint address of the call assistant, and the transceiver unit 1410 can be used to send a second request to the call assistant, and the second request is used to request the call assistant to assign an endpoint address to the data channel; receive a response message to the second request, and the response message to the second request includes the endpoint address of the call assistant.
[0359] In some embodiments, the transceiver unit 1410 may be used to receive second information, where the second information is related to the service of the call assistant. The processing unit 1420 may be used to determine, based on the second information, to obtain the location information of the terminal device through the data channel.
[0360] In some embodiments, the second information is a notification message of a call connection event of the call assistant, or the second information is a notification message of a wake-up event of the call assistant.
[0361] In a possible design, the device 1400 may be a terminal device in the above method embodiment, or may be a chip, processor or chip system that implements the functions of the terminal device. The device 1400 may be used to execute the steps or processes executed by the terminal device in any of the above method embodiments.
[0362] Specifically, the transceiver unit 1410 can be used to receive a first request through a data channel between the call assistant and the terminal device, wherein the first request is used to request location information of the terminal device; and send the location information of the terminal device through the data channel.
[0363] In some embodiments, the processing unit 1420 can be used to prompt the user of the terminal device to authorize the call assistant to obtain the location information of the terminal device when receiving the first request. The sending of the location information of the terminal device through the data channel includes: after receiving the authorization instruction of the user, sending the location information of the terminal device through the data channel.
[0364] In some embodiments, the transceiver unit 1410 may be configured to receive a fourth request before receiving the first request through the data channel between the call assistant and the terminal device, the fourth request being used to request the terminal device to create the data channel, the fourth request including the endpoint address of the media function network element. The processing unit 1420 may be configured to create the data channel according to the endpoint address of the media function network element.
[0365] In a possible design, the device 1400 may be the DCSF in the above method embodiment, or may be a chip, processor or chip system that implements the DCSF function. The device 1400 may be used to execute the steps or processes executed by the DCSF in any of the above method embodiments.
[0366] Specifically, the transceiver unit 1410 can be used to receive a third request, wherein the third request is used to request the creation of a data channel between the call assistant and the terminal device, and the data channel is used by the call assistant to obtain the location information of the terminal device; and send a response message to the third request, wherein the response message to the third request is used to indicate that the establishment of the data channel is complete.
[0367] In some embodiments, the third request includes identification information, and the identification information is used to determine an endpoint of the data channel.
[0368] In some embodiments, the identification information is an endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel; or, the identification information is an application identifier of the data channel.
[0369] It should be understood that the "unit" in the device 1400 can be implemented by hardware, can be implemented by software, and can also be implemented by hardware executing the corresponding software implementation. For example, the "unit" can refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit and / or other suitable components that support the described functions. For another example, the transceiver unit 1410 can be replaced by a transceiver transceiver circuit (for example, it can include a receiving circuit and a transmitting circuit), and the processing unit 1420 can be replaced by a processor or a processing circuit.
[0370] Fig.15 A schematic block diagram of another communication device provided in an embodiment of the present application. The communication device 1500 may be a terminal device / network device, or may be a chip, a chip system, or a processor in a terminal device / network device that implements the above method. The device may be used to implement the method described in the above method embodiment, and the details may refer to the description in the above method embodiment.
[0371] The communication device 1500 may include one or more processors 1510, which may also be referred to as processing units, and may implement certain control functions. The processor 1510 may be a general-purpose processor or a dedicated processor, etc. For example, it may be a baseband processor or a central processing unit. The baseband processor may be used to process the communication protocol and communication data, and the central processing unit may be used to control the communication device, execute the software program, and process the data of the software program.
[0372] In an optional design, the processor 1510 may also store instructions and / or data, which can be executed by the processor 1510 so that the communication device 1500 executes the method described in the above method embodiment.
[0373] In another optional design, the communication device 1500 may include a communication interface 1520 for implementing the receiving and sending functions. For example, the communication interface 1520 may be a transceiver circuit, an interface, an interface circuit, or a transceiver. The transceiver circuit, interface, interface circuit, or transceiver for implementing the receiving and sending functions may be separate or integrated. The above-mentioned transceiver circuit, interface, interface circuit, or transceiver may be used for reading and writing code / data, or the above-mentioned transceiver circuit, interface, interface circuit, or transceiver may be used for transmission or transfer of signals.
[0374] Optionally, the communication device 1500 may include one or more memories 1530, on which instructions may be stored, and the instructions may be executed on the processor 1510, so that the communication device 1500 performs the method described in the above method embodiment. Optionally, data may also be stored in the memory 1530. Optionally, instructions and / or data may also be stored in the processor 1510. The processor 1510 and the memory 1530 may be provided separately or integrated together.
[0375] It should be understood that in a possible design, each step in the method embodiment provided in the embodiment of the present application can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software. The steps of the method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor executing, or a combination of hardware and software modules in a processor executing. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
[0376] It should be noted that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor can be combined and performed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0377] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0378] An embodiment of the present application also provides a computer program product, which includes: a computer program code, when the computer program code is executed on a computer, the computer executes each step or process executed by the call assistant / server / terminal device in any of the above method embodiments.
[0379] An embodiment of the present application also provides a computer-readable storage medium, which stores program code. When the program code runs on a computer, the computer executes each step or process performed by the call assistant / server / terminal device in any of the above method embodiments.
[0380] An embodiment of the present application also provides a communication device, including a processor and an interface, wherein the interface is used to send and / or receive signals, so that the processor executes each step or process performed by the call assistant / server / terminal device in any of the above method embodiments.
[0381] The above-mentioned various device embodiments and method embodiments completely correspond to each other, and the corresponding steps are executed by the corresponding modules or units. For example, the communication unit or communication interface executes the receiving or sending steps in the method embodiment, and the other steps except sending and receiving can be executed by the processing unit or processor.
[0382] In the embodiments of the present application, each term and English abbreviation is provided for the convenience of description and shall not constitute any limitation to the present application. The embodiments of the present application do not exclude the possibility of defining other terms that can achieve the same or similar functions in existing or future protocols.
[0383] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable storage media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).
[0384] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0385] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can be based on the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0386] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0387] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0388] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0389] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that contains one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).
[0390] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0391] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A communication method, characterized in that: include: Receiving first information from a terminal device, where the first information is used to instruct the call assistant to execute a first service; Acquiring location information of the terminal device according to the first information, where the location information of the terminal device is acquired through a data channel between the call assistant and the terminal device; Execute the first service according to the location information of the terminal device.
2. The method according to claim 1, characterized in that The acquiring the location information of the terminal device according to the first information includes: Determining, according to the first information, that the location information of the terminal device needs to be obtained during the execution of the first service; Sending a first request through the data channel, where the first request is used to request location information of the terminal device; The location information of the terminal device is received through the data channel.
3. The method according to claim 1 or 2, characterized in that: Before receiving the first information from the terminal device, the method further includes: receiving a second request from the server, wherein the second request is used to request the call assistant to allocate an endpoint address for the data channel; A response message of the second request is sent to the server, wherein the response message of the second request includes an endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel.
4. The method according to claim 3, characterized in that Before receiving the second request from the server, the method further includes: Sending a second message to the server, the second message is used to trigger and determine a method for obtaining the location information of the terminal device, the second message is a notification message of a call connection event of the call assistant, or the second message is a notification message of a wake-up event of the call assistant.
5. A communication method, characterized in that: include: Sending a third request, where the third request is used to request the creation of a data channel between the call assistant and the terminal device, where the data channel is used for the call assistant to obtain location information of the terminal device; A response message to the third request is received, where the response message to the third request is used to indicate that establishment of the data channel is complete.
6. The method according to claim 5, characterized in that The third request includes identification information, and the identification information is used to determine an endpoint of the data channel.
7. The method according to claim 6, characterized in that The identification information is the endpoint address of the call assistant, and the endpoint address of the call assistant is used to establish the data channel; or, the identification information is the application identifier of the data channel.
8. The method according to claim 7, characterized in that The identification information is the endpoint address of the call assistant, and the method further includes: Sending a second request to the call assistant, where the second request is used to request the call assistant to allocate an endpoint address for the data channel; A response message to the second request is received, wherein the response message to the second request includes an endpoint address of the call assistant.
9. The method according to any one of claims 5 to 8, characterized in that: The method further comprises: receiving second information, where the second information is related to the service of the call assistant; Determine, according to the second information, how to obtain the location information of the terminal device through the data channel.
10. The method according to claim 9, characterized in that The second information is a notification message of a call connection event of the call assistant, or the second information is a notification message of a wake-up event of the call assistant.
11. A communication method, characterized in that: include: receiving a first request through a data channel between the call assistant and the terminal device, where the first request is used to request location information of the terminal device; The location information of the terminal device is sent through the data channel.
12. The method according to claim 11, characterized in that The method further comprises: Upon receiving the first request, prompting the user of the terminal device to authorize the call assistant to obtain the location information of the terminal device; The sending the location information of the terminal device through the data channel includes: After receiving the authorization instruction from the user, the location information of the terminal device is sent through the data channel.
13. The method according to claim 11 or 12, characterized in that: Before receiving the first request through the data channel between the call assistant and the terminal device, the method further includes: receiving a fourth request, where the fourth request is used to request the terminal device to create the data channel, and the fourth request includes an endpoint address of the media function network element; The data channel is created according to the endpoint address of the media function network element.
14. A communication device, characterized in that: The method comprises a unit for executing each step of the method according to any one of claims 1 to 4.
15. A communication device, characterized in that: The method comprises means for executing the steps of the method according to any one of claims 5 to 10.
16. A communication device, characterized in that: The method comprises means for executing the steps of the method according to any one of claims 11 to 13.
17. A readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed, the computer is caused to perform the method according to any one of claims 1 to 4, or any one of claims 5 to 10, or any one of claims 11 to 13.
18. A computer program product, characterized in that The method comprises computer program instructions, wherein the computer program instructions cause the computer to execute the method according to any one of claims 1 to 4, or any one of claims 5 to 10, or any one of claims 11 to 13.
Citation Information
Patent Citations
Content pushing method and device, storage medium and chip system
CN114465975A
Method for enhancing real-time call service and communication device
CN118524357A
Prefab Modular Outlet Assembly for Bathroom Cabinets
KR102600414B1
Communication establishment method and apparatus, terminal device, and network side device
WO2024051627A1
Information transmission method and apparatus, and system
WO2024198845A1