Communication method and apparatus, and communication system

By negotiating the use of DTLS protocol in the IMS data channel, the problem of poor flexibility caused by the security requirements of fixed protocol stacks in the prior art is solved, and the flexibility and efficiency improvement of dynamic adjustment of protocol stacks is achieved according to communication scenarios.

WO2025066513A1PCT designated stage expired Publication Date: 2025-04-03HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/108268
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2024-07-29
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

The existing IMS data channel protocol stack fixed security requirements lead to poor flexibility and cannot adapt to the security needs of different communication scenarios.

Method used

By negotiating whether to include the DTLS protocol in the data channel of the IMS session, the communication entity allows the decision to use which protocol stack according to the specific scenario, thereby improving communication flexibility.

Benefits of technology

It realizes dynamic adjustment of the protocol stack of the data channel according to security needs in different communication scenarios, improves communication flexibility and efficiency, and reduces unnecessary encryption processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024108268_03042025_PF_FP_ABST
    Figure CN2024108268_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and provides a communication method and apparatus, and a communication system. In the method, a session description protocol (SDP) proposer and an SDP responder can negotiate whether or not a protocol stack of a data channel of an IMS session in which the two parties are participating comprises a datagram transport layer security (DTLS) protocol, so as to adapt to communication scenarios having different security requirements and improve communication flexibility. The SDP proposer is one terminal in the IMS session and the SDP responder is the other terminal in the IMS session, or the SDP proposer is one terminal in the IMS session and the SDP responder is a network device in a communication network where the IMS session is located, or the SDP proposer is a network device in a communication network where the IMS session is located and the SDP responder is one terminal in the IMS session.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method, device and communication system

[0001] "This application claims priority to the patent application submitted to the State Intellectual Property Office on September 28, 2023, with application number 202311287552.0 and invention name "Communication method, device and communication system", all contents of which are incorporated by reference into this application." Technical Field

[0002] The present application relates to the field of communication technologies, and in particular to communication methods, devices, and systems. Background Art

[0003] Web real-time communication (WebRTC) is a real-time communication technology that allows network applications or websites to establish peer-to-peer (P2P) connections between browsers to achieve the transmission of audio streams, video streams, or any data other than audio streams and video streams. The above-mentioned audio streams and / or video streams can be transmitted through a media channel, and the above-mentioned data can be transmitted through a data channel (DC), which can be called a WebRTC data channel. The WebRTC data channel can use the stream control transmission protocol (SCTP) superimposed with datagram transport layer security (DTLS), and then superimposed with the user datagram protocol (UDP) as the bearer protocol, and use interactive connectivity establishment (ICE) to achieve network address translation (NAT) traversal, so that the communicating parties can perceive each other's IP (Internet Protocol) address and port, for example, as shown in Figure 1A.

[0004] To transmit data beyond audio and video streams within the Internet Protocol Multimedia Subsystem (IMS) network, the 3rd Generation Partnership Project (3GPP) released version 16, introducing a data channel for IMS networks called the IMS data channel (IMSDC). The IMS data channel uses a protocol stack similar to the WebRTC data channel, namely SCTP overlaid with DTLS, and then UDP as the bearer protocol. However, this fixed protocol stack limits the IMS data channel to meeting only a single security requirement, resulting in limited flexibility.

[0005] Summary of the Invention

[0006] The present application provides a communication method, apparatus, and communication system that can negotiate whether the protocol stack of the data channel of an IMS session includes the DTLS protocol, so as to adapt to communication scenarios with different security requirements and improve the flexibility of communication.

[0007] To achieve the above objectives, this application adopts the following technical solutions:

[0008] In a first aspect, a communication method is provided. The method can be performed by a first communication entity; alternatively, the method can be performed by a module implemented in the first communication entity, such as a chip, a chip system, or a circuit; alternatively, the method can be implemented by a logical node, a logical module, or software that can implement all or part of the functions of the first communication entity, without limitation. For ease of description, the following description uses the method performed by the first communication entity as an example. It is understood that the first communication entity is a Session Description Protocol (SDP) responder.

[0009] The method includes: a first communication entity receiving SDP proposal information from a second communication entity, and sending SDP response information to the second communication entity based on the SDP proposal information. The SDP proposal information indicates that the second communication entity proposes to use a first type protocol stack or a second type protocol stack to establish a data channel, and the SDP response information indicates that the first communication entity has decided to use the second type protocol stack to establish the data channel. The data channel is associated with an IMS session between the first communication entity and the second communication entity, the first type protocol stack includes the Datagram Transport Layer Security (DTLS) protocol, and the second type protocol stack does not include the DTLS protocol.

[0010] Based on the method provided in the first aspect above, the first communication entity and the second communication entity can negotiate whether the protocol stack used by the data channel of the IMS session in which the two participate includes the DTLS protocol, so that the data channel can be applied to different communication scenarios. For example, in scenarios where communication security requirements are high or DTLS protocol encryption is required, the protocol stack of the data channel may include the DTLS protocol; in scenarios where communication security requirements are not high or DTLS protocol encryption is not required, the protocol stack of the data channel may not include the DTLS protocol. Therefore, the method provided in the first aspect above can improve the flexibility of communication. In addition, if the negotiation result between the first communication entity and the second communication entity is that the protocol stack of the data channel does not include the DTLS protocol, then the data transmitted in the data channel does not need to be processed based on the DTLS protocol. For example, the data does not need to be encrypted based on the DTLS protocol, which can reduce the number of encryption times. Therefore, the method provided in the first aspect above can also improve data transmission efficiency, shorten data transmission delay, and reduce the performance overhead of network equipment.

[0011] In a possible implementation, the first type of protocol stack is a UDP / DTLS / SCTP protocol stack, and the second type of protocol stack is a UDP / SCTP protocol stack.

[0012] Based on the above possible implementation methods, the first communication entity and the second communication entity can negotiate whether to use the UDP / DTLS / SCTP protocol stack or the UDP / SCTP protocol stack to establish a data channel. Among them, the UDP / DTLS / SCTP protocol stack can also be replaced by the SCTP over DTLS over UDP protocol stack, or based on UDP encapsulation of the SCTP over DTLS protocol stack, or the SCTP / DTLS / UDP protocol stack, etc., which can be understood as a protocol stack of SCTP superimposed on the DTLS protocol superimposed on UDP. The UDP / SCTP protocol stack can also be replaced by the SCTP over UDP protocol stack, or based on UDP encapsulation of the SCTP protocol stack or the SCTP / UDP protocol stack, which can be understood as a protocol stack of SCTP superimposed on UDP.

[0013] In a possible implementation, the SDP proposal information includes first indication information, where the first indication information indicates that the first type of protocol stack or the second type of protocol stack is used to establish the data channel.

[0014] Based on the foregoing possible implementation manner, the first communication entity may determine, through the first indication information, that the first communication entity proposes to adopt the first type of protocol stack or the second type of protocol stack to establish a data channel.

[0015] In a possible implementation, the SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

[0016] Based on the above possible implementations, the first communication entity may determine, through the first indication information in the m lines corresponding to the data channel included in the SDP proposal information, whether the first communication entity proposes to establish the data channel using the first type protocol stack or the second type protocol stack. Optionally, the m lines corresponding to the data channel may be included in the SDP media description included in the SDP proposal information.

[0017] In one possible implementation, the first indication information indicates that the first type of protocol stack is used to establish the data channel, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, the first indication information indicates that the second type of protocol stack is used to establish the data channel, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0018] Based on the above possible implementation methods, when the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP", the first communication entity can determine that the second communication entity proposes to use the first type of protocol stack to establish a data channel; when the first indication information is "UDP / SCTP" or "SCTP / UDP", the first communication entity can determine that the second communication entity proposes to use the second type of protocol stack to establish a data channel.

[0019] In a possible implementation, the SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

[0020] Based on the above possible implementation manner, the first communication entity may indicate to the second communication entity the protocol stack to be adopted for establishing the data channel through the second indication information included in the SDP response information.

[0021] In a possible implementation manner, the SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

[0022] Based on the above possible implementation, the first communication entity may indicate to the second communication entity the protocol stack to be used for establishing the data channel through the second indication information in the m lines corresponding to the data channel included in the SDP response information. Optionally, the m lines corresponding to the data channel may be included in the SDP media description included in the SDP response information.

[0023] In a possible implementation, the second indication information is "UDP / SCTP" or "SCTP / UDP".

[0024] Based on the above possible implementation manner, when the first communication entity decides to adopt the second type of protocol stack to establish a data channel, the second indication information is "UDP / SCTP" or "SCTP / UDP".

[0025] In a possible implementation manner, the method further includes: the first communication entity receiving policy information from a call session control function entity, where the policy information is used by the first communication entity to determine a protocol stack for establishing the data channel.

[0026] Based on the above possible implementation manner, the first communication entity may determine the protocol stack for establishing the data channel according to the SDP proposal information and the above policy information.

[0027] In a possible implementation, the policy information is carried in a response message with a status code of 200.

[0028] Based on the above possible implementation manner, the first communication entity may receive the above policy information through a response message with a status code of 200, so as to obtain the policy information through an existing process.

[0029] In a possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0030] Based on the above possible implementation, the above policy information may be carried in the Feature-Caps field or the Contact field included in the response message with the status code 200.

[0031] In a possible implementation manner, the first communication entity decides to adopt the second type of protocol stack to establish the data channel based on the first type of protocol stack or the second type of protocol stack proposed by the second communication entity and the policy information.

[0032] Based on the above possible implementation manner, the first communication entity may decide to adopt the second type of protocol stack to establish the data channel according to the SDP proposal information and the above policy information.

[0033] In a possible implementation, the data channel is an auxiliary data channel or an independent data channel.

[0034] Based on the above possible implementation methods, the first communication entity and the second communication entity can negotiate whether the protocol stack adopted by the auxiliary data channel of the IMS session in which the two parties participate includes the DTLS protocol, or negotiate whether the protocol stack adopted by the independent data channel of the IMS session in which the two parties participate includes the DTLS protocol.

[0035] A second aspect provides a communication method. This method can be performed by a second communication entity; alternatively, it can be performed by a module implemented in the second communication entity, such as a chip, chip system, or circuit; alternatively, it can be implemented by a logical node, logic module, or software that implements all or part of the functions of the second communication entity, without limitation. For ease of description, the following example uses execution by the second communication entity as an example. It is understood that the second communication entity is the SDP proposer.

[0036] The method includes: a second communication entity sending SDP proposal information to a first communication entity, and receiving SDP response information from the first communication entity. The SDP proposal information indicates that the second communication entity proposes to use a first type protocol stack or a second type protocol stack to establish a data channel, and the SDP response information indicates that the first communication entity has decided to use the second type protocol stack to establish the data channel. The data channel is associated with an IMS session between the first communication entity and the second communication entity, the first type protocol stack includes the Datagram Transport Layer Security (DTLS) protocol, and the second type protocol stack does not include the DTLS protocol.

[0037] Based on the method provided in the second aspect above, the first communication entity and the second communication entity can negotiate whether the protocol stack used by the data channel of the IMS session in which the two participate includes the DTLS protocol, so that the data channel can be applicable to different communication scenarios. For example, in scenarios where communication security requirements are high or DTLS protocol encryption is required, the protocol stack of the data channel may include the DTLS protocol. In scenarios where communication security requirements are not high or DTLS protocol encryption is not required, the protocol stack of the data channel may not include the DTLS protocol. Therefore, the method provided in the second aspect above can improve the flexibility of communication. In addition, if the negotiation result between the first communication entity and the second communication entity is that the protocol stack of the data channel does not include the DTLS protocol, then the data transmitted in the data channel does not need to be processed based on the DTLS protocol. For example, the data does not need to be encrypted based on the DTLS protocol, and the number of encryption times can be reduced. Therefore, the method provided in the second aspect above can also improve data transmission efficiency, shorten data transmission delay, and reduce the performance overhead of network equipment.

[0038] In a possible implementation, the first type of protocol stack is a UDP / DTLS / SCTP protocol stack, and the second type of protocol stack is a UDP / SCTP protocol stack.

[0039] Based on the above possible implementation methods, the first communication entity and the second communication entity can negotiate whether to use the UDP / DTLS / SCTP protocol stack or the UDP / SCTP protocol stack to establish a data channel. Among them, the UDP / DTLS / SCTP protocol stack can also be replaced by the SCTP over DTLS over UDP protocol stack, or based on UDP encapsulation of the SCTP over DTLS protocol stack, or the SCTP / DTLS / UDP protocol stack, etc., which can be understood as a protocol stack of SCTP superimposed on the DTLS protocol superimposed on UDP. The UDP / SCTP protocol stack can also be replaced by the SCTP over UDP protocol stack, or based on UDP encapsulation of the SCTP protocol stack, or the SCTP / UDP protocol stack, which can be understood as a protocol stack of SCTP superimposed on UDP.

[0040] In a possible implementation, the SDP proposal information includes first indication information, where the first indication information indicates that the first type of protocol stack or the second type of protocol stack is used to establish the data channel.

[0041] Based on the above possible implementation manner, the second communication entity may propose to the first communication entity to establish a data channel by using the first type protocol stack or the second type protocol stack through the SDP proposal information including the first indication information.

[0042] In a possible implementation, the SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

[0043] Based on the above possible implementations, the second communication entity may propose to the first communication entity to establish a data channel using the first type protocol stack or the second type protocol stack through the first indication information in the m lines corresponding to the data channel included in the SDP proposal information. Optionally, the m lines corresponding to the data channel may be included in the SDP media description included in the SDP proposal information.

[0044] In one possible implementation, the first indication information indicates that the first type of protocol stack is used to establish the data channel, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, the first indication information indicates that the second type of protocol stack is used to establish the data channel, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0045] Based on the above possible implementation methods, when the second communication entity proposes to use the first type of protocol stack to establish a data channel, the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; when the second communication entity proposes to use the second type of protocol stack to establish a data channel, the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0046] In a possible implementation, the SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

[0047] Based on the above possible implementation manner, the second communication entity may determine the protocol stack adopted by the first communication entity to establish the data channel through the second indication information included in the SDP response information.

[0048] In a possible implementation manner, the SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

[0049] Based on the above possible implementations, the second communication entity can determine the protocol stack used by the first communication entity to establish the data channel based on the second indication information in the m lines corresponding to the data channel included in the SDP response information. Optionally, the m lines corresponding to the data channel can be included in the SDP media description included in the SDP response information.

[0050] In a possible implementation, the second indication information is "UDP / SCTP" or "SCTP / UDP".

[0051] Based on the above possible implementation manner, when the second indication information is "UDP / SCTP" or "SCTP / UDP", the second communication entity determines that the first communication entity decides to use the second type of protocol stack to establish the data channel.

[0052] In a possible implementation manner, the method further includes: the second communication entity receiving policy information from a call session control function entity, where the policy information is used by the second communication entity to determine a proposed protocol stack for establishing the data channel.

[0053] Based on the above possible implementation manners, the second communication entity may determine, according to the above policy information, whether to propose to adopt the first type of protocol stack or the second type of protocol stack to establish the data channel.

[0054] In a possible implementation, the policy information is carried in a response message with a status code of 200.

[0055] Based on the above possible implementation manner, the second communication entity may receive the above policy information through a response message with a status code of 200, so as to obtain the policy information through an existing process.

[0056] In a possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0057] Based on the above possible implementation, the above policy information may be carried in the Feature-Caps field or the Contact field included in the response message with the status code 200.

[0058] In a possible implementation, the data channel is an auxiliary data channel or an independent data channel.

[0059] Based on the above possible implementation methods, the first communication entity and the second communication entity can negotiate whether the protocol stack adopted by the auxiliary data channel of the IMS session in which the two parties participate includes the DTLS protocol, or negotiate whether the protocol stack adopted by the independent data channel of the IMS session in which the two parties participate includes the DTLS protocol.

[0060] In a third aspect, a communication method is provided, which can be executed by a call session control function (CSCF) entity; or, it can also be executed by a module applied to the CSCF entity, such as a chip, a chip system or a circuit; or, it can also be implemented by a logical node, a logical module or software that can implement all or part of the CSCF entity functions, without limitation. For ease of description, the following explanation is given by taking the execution by the CSCF entity as an example. Exemplarily, the CSCF entity can be a serving CSCF (S-CSCF) entity. The method includes: determining policy information, the policy information being used by the communication entity to determine a proposed protocol stack for establishing a data channel, or being used by the communication entity to decide a protocol stack for establishing a data channel, the data channel being associated with an IMS session in which the communication entity participates; and sending the policy information to the communication entity.

[0061] Based on the method provided in the third aspect above, the CSCF entity can send the above-mentioned policy information to the communication entity (such as a terminal), so that the communication entity can determine the proposed protocol stack for establishing a data channel based on the policy information, or decide the protocol stack for establishing a data channel based on the policy information.

[0062] In a possible implementation, the policy information is carried in a response message with a status code of 200.

[0063] Based on the above possible implementation, the CSCF entity may send the above policy information to the communication entity through a response message with a status code of 200, so as to implement the delivery of the policy information through an existing process.

[0064] In a possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0065] Based on the above possible implementation, the CSCF entity may deliver the above policy information via the Feature-Caps field or the Contact field included in the response message with the status code 200.

[0066] In a possible implementation, the data channel includes an auxiliary data channel and / or an independent data channel.

[0067] Based on the above possible implementation manner, the CSCF entity may indicate the protocol stack of the auxiliary data channel and / or the protocol stack of the independent data channel.

[0068] In a fourth aspect, a communication device is provided for implementing the above-mentioned method. The communication device may be the first communication entity in the above-mentioned first aspect, or a device including the above-mentioned first communication entity, or a module in the first communication entity in the above-mentioned first aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or software implementation that can implement some or all of the functions of the first communication entity; or the communication device may be the second communication entity in the above-mentioned second aspect, or a device including the above-mentioned second communication entity, or a module in the second communication entity in the above-mentioned second aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or software implementation that can implement some or all of the functions of the second communication entity; or the communication device may be the CSCF entity in the above-mentioned third aspect, or a device including the above-mentioned CSCF entity, or a module in the CSCF entity in the above-mentioned third aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or software implementation that can implement some or all of the functions of the CSCF entity. The communication device includes corresponding modules, units, or means for implementing the above-mentioned method, and the modules, units, or means may be implemented by hardware, software, or by executing corresponding software implementations by hardware. The hardware or software includes one or more modules or units corresponding to the above functions.

[0069] In conjunction with the fourth aspect, in one possible implementation, the communication device may include a processing module and an interface module. The processing module may be configured to implement the processing functions described in any of the above aspects and any possible implementations thereof. The processing module may, for example, be a processor. The interface module, also referred to as an interface unit, may be configured to implement the sending and / or receiving functions described in any of the above aspects and any possible implementations thereof. The interface module may be comprised of an interface circuit, a transceiver, a transceiver, or a communication interface.

[0070] In combination with the fourth aspect above, in a possible implementation, the interface module includes a sending module and a receiving module, which are respectively used to implement the sending and receiving functions in any of the above aspects and any possible implementations thereof.

[0071] In a fifth aspect, a communication device is provided, comprising: a processor; the processor is configured to be coupled to a memory and, after reading instructions from the memory, execute the method according to any of the above aspects in accordance with the instructions. The communication device may be the first communication entity described in the first aspect, or a device including the first communication entity, or a module in the first communication entity described in the first aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the first communication entity; or the communication device may be the second communication entity described in the second aspect, or a device including the second communication entity, or a module in the second communication entity described in the second aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the second communication entity; or the communication device may be the CSCF entity described in the third aspect, or a device including the CSCF entity, or a module in the CSCF entity described in the third aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the CSCF entity.

[0072] In conjunction with the fifth aspect above, in one possible implementation, the communication device further includes a memory for storing program instructions and data. Optionally, the memory is integrated with the processor; or the memory is independent of the processor.

[0073] In conjunction with the fifth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.

[0074] In a sixth aspect, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is configured to receive a computer program or instruction and transmit it to the processor; the processor is configured to execute the computer program or instruction so that the communication device performs the method described in any of the above aspects. The communication device may be the first communication entity described in the first aspect, or a device including the first communication entity, or a module in the first communication entity described in the first aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the first communication entity; or the communication device may be the second communication entity described in the second aspect, or a device including the second communication entity, or a module in the second communication entity described in the second aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the second communication entity; or the communication device may be the CSCF entity described in the third aspect, or a device including the CSCF entity, or a module in the CSCF entity described in the third aspect, such as a chip, a chip system, or a circuit, or a logical node, a logical module, or a software implementation that can implement some or all of the functions of the CSCF entity.

[0075] In conjunction with the sixth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.

[0076] In a seventh aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium. When the computer-readable storage medium is run on a computer, the computer can execute the method described in any one of the above aspects.

[0077] In an eighth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method described in any one of the above aspects.

[0078] In a ninth aspect, a communication system is provided, which includes a first communication entity for executing the method described in the first aspect, and a second communication entity for executing the method described in the second aspect.

[0079] In combination with the ninth aspect above, in a possible implementation, the communication system further includes a CSCF entity for executing the method described in the third aspect above.

[0080] Among them, the technical effects brought about by any possible implementation method in the fourth to ninth aspects can be referred to the technical effects brought about by any aspect in the first to third aspects or different possible implementation methods in any aspect, and will not be repeated here.

[0081] It is understandable that, provided that the solutions are not contradictory, the solutions in each aspect can be combined. BRIEF DESCRIPTION OF THE DRAWINGS

[0082] FIG1A is a schematic diagram of the protocol stack used in WebRTC;

[0083] FIG1B is a schematic diagram of an IMS session;

[0084] FIG1C is a first schematic diagram of the protocol stack of an IMS session provided by this application;

[0085] FIG1D is a second schematic diagram of the protocol stack of the IMS session provided by this application;

[0086] FIG2 is a schematic diagram of the communication system architecture provided by this application;

[0087] FIG3A is a schematic diagram of a communication scenario provided by this application;

[0088] FIG3B is a schematic diagram of a data channel provided by this application;

[0089] FIG3C is a second schematic diagram of a communication scenario provided by this application;

[0090] FIG3D is a second schematic diagram of a data channel provided by this application;

[0091] FIG4 is a schematic diagram of the hardware structure of the communication device provided by this application;

[0092] FIG5 is a flow chart of the communication method provided in this application;

[0093] FIG6 is a second flow chart of the communication method provided by this application;

[0094] FIG7 is a third flow chart of the communication method provided by this application;

[0095] FIG8 is a fourth flow chart of the communication method provided by this application;

[0096] FIG9 is a schematic diagram of the structure of the communication device provided in this application. DETAILED DESCRIPTION

[0097] Before introducing the technical solution of this application, the relevant technical terms involved in this application are explained. It is understood that these explanations are intended to make this application easier to understand and should not be regarded as limiting the scope of protection claimed in this application.

[0098] 1. Terminal

[0099] The terminals described in this application, such as terminal 302, terminal 303, terminal 313, or terminal 314 in the following embodiments, may be referred to as user equipment (UE), terminal device, access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, wireless communication device, user agent, or user device, and are devices with wireless or wired communication capabilities. For example, a terminal may be connected to a wireless access device via an air interface, or a terminal may be connected to a wired access device via a wired interface. In terms of product form, a terminal may include a handheld device, vehicle-mounted device, wearable device, or computing device with communication capabilities. Exemplarily, the terminal may be a mobile phone, a tablet computer, a computer with wireless communication function (such as a laptop computer, a PDA, etc.), a mobile internet device (MID), a virtual reality (VR) terminal, an augmented reality (AR) terminal, a smart watch, a smart bracelet, smart glasses, 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 wireless terminal in a smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, other processing devices connected to a wireless modem, a terminal in an Internet of Things (IoT) system, a desktop computer, or a 3rd Generation Partnership Project (3GP) system. project, 3GPP) standard specifications, etc., are not restricted.

[0100] 2. Call service

[0101] The call service described in this application refers to a voice or video call service in which a terminal participates as the caller or called party, connecting to one or more other terminals via a communications network (such as an IMS network). The IMS network is an open system based on IP bearer technology that provides users with various multimedia services.

[0102] In this application, a call service can cover the entire process from the start of dialing to the end of the call, or it can cover a portion of the process from the start of dialing to the end of the call, such as the process from the time the parties involved in the call service enter the call state to the end of the call. A call service can be a one-to-one call service or a one-to-many call service (such as a conference); this application uses a one-to-one call service as an example, but the relevant solutions can also be applied to one-to-many call services.

[0103] 3. IMS session

[0104] The IMS session described in this application refers to a session corresponding to a call service, which is used to transmit data in the call service, such as data between terminals in the call service, and / or data between a terminal and a communication network in the call service, etc. An IMS session can be understood as a logical connection between communication devices in a call service. For example, it can be understood as a logical connection between terminals in a call service, which can transmit data between terminals; or it can be understood as a logical connection between a terminal and a communication network in a call service, which is used to transmit data between the terminal and the communication network. In specific applications, an IMS session can be negotiated (or established) based on a session initiation protocol (SIP) / SDP. It should be understood that an IMS session can also be replaced by a communication session, an IMS communication session, a session or a call service session, etc., without limitation.

[0105] It is understood that a call service can correspond to at least one IMS session. Taking the call service between terminal 1 and terminal 2 as an example, the call service corresponds to one IMS session, such as the IMS session between terminal 1 and terminal 2. Taking the call service between terminal 1, terminal 2, and terminal 3 as an example, the call service corresponds to one IMS session, such as the IMS session between terminal 1, terminal 2, and terminal 3. Alternatively, the call service corresponds to three IMS sessions, such as the IMS session between terminal 1 and terminal 2, the IMS session between terminal 1 and terminal 3, and the IMS session between terminal 2 and terminal 3.

[0106] It is understandable that in order to transmit various types of data, channels for transmitting corresponding types of data can be established in the IMS session. Exemplarily, channels can be divided into media channels and data channels according to the data type. In some scenarios, media channels can be further divided into audio channels and video channels. For example, in Figure 1B, terminal 1 and terminal 2 can communicate through the IMS network, and the IMS session between terminal 1 and terminal 2 includes a data channel, an audio channel, and a video channel. It should be understood that Figure 1B is only an example of an IMS session. In specific applications, the IMS session may include a data channel but not a media channel, or the IMS session may include one of an audio channel and a video channel as well as a data channel, without limitation.

[0107] In this application, the audio channel can be used to transmit voice, and the video channel can be used to transmit video. The data channel is described in detail below.

[0108] 4. Data Channel

[0109] The data channels described in the embodiments of the present application, such as data channels 304 to 306, data channels 315 to 319, etc. in the following embodiments, unless otherwise specified, refer to data channels in the IMS network, also known as IMS data channels, which are associated with the IMS session of the terminal, or created during the IMS session of the terminal, and can be used to transmit application data or applications related to the terminal (for generating / consuming application data) during the duration of the IMS session.

[0110] Illustratively, based on the relationship between the data channel and the audio / video call, the data channel in the embodiment of the present application can be divided into at least the following types.

[0111] (1) During an IMS session, when an audio or video call is being conducted between the terminal and another session participant (which can be another terminal or a network element), a data channel also exists. This data channel can be called an auxiliary data channel or a dependent data channel.

[0112] (2) During an IMS session, when a data channel exists between the terminal and other session participants, and there is no traditional voice call or video call, the data channel at this time can be called a standalone data channel or an independent data channel.

[0113] Whether it is an auxiliary data channel or an independent data channel, it can be used to transmit any type of application data between the participants of the session. For example, the uses of the data channel in the embodiment of the present application or the types of data that can be transmitted are at least the following.

[0114] Exemplarily, the application data transmitted by the data channel may be interactive application data (interactive data for short). Interactive application data may be application data used to support interactive operations (e.g., data or code / script used to generate a graphical user interface (GUI) for users to perform interactive operations, such as a "Like" button or a "Red Envelope" button). It may also be application data generated by executing the interactive operation (e.g., control instructions, control signals, or output files generated after the interactive operation by the session participants, such as the number of "Likes" or the amount in a "Red Envelope"). It may also be data collected or stored by the terminal, for example, data collected by the terminal through an input / output (I / O) module, such as images or videos captured by a camera, voice captured by a microphone, text, symbols, or emoticons input through a keyboard, or data generated by actions such as clicking / swiping on a touch screen.

[0115] Exemplarily, the application data transmitted by the data channel may also be communication enhancement application data (communication enhancement data), referred to as communication enhancement data. Communication enhancement data may be data generated based on the content of an audio call / video call, such as converting the voice in an audio call / video call into text, or converting sign language in a video call into text or voice. It may also be data superimposed on the audio call / video call, such as AR special effects images, etc. It may also be data independent of the audio call / video call, such as geographic location data, screen sharing data, etc.

[0116] Exemplarily, the application data transmitted by the data channel may also be a remote control command, which can provide a remote control service or a remote IOT device connection service for the user. It is understood that in the above case, the data channel may also be used to transmit the remote control command.

[0117] Exemplarily, the application transmitted by the data channel can be an application installation package, executable code or script. The application can be an interactive enhanced application or a communication enhanced application used to enhance the interactive effect / communication effect of traditional voice calls / video calls, or it can be a remote control application / IoT communication application, which is not limited in the embodiments of the present application.

[0118] For example, depending on their usage, auxiliary data channels or independent data channels can be divided into: bootstrap data channel (BDC) and application data channel (ADC). In this application, BDC is used by the terminal to obtain application programs from the data channel server (DCS). ADC is used to transmit application data.

[0119] A possible implementation is to negotiate (or establish) a data channel based on SIP / SDP.

[0120] Exemplarily, the SDP offerer and the SDP answerer determine, through the SIP / SDP media negotiation process, the IP address and port used by both parties for data transmission, information related to the protocol stack of the data channel, and media information corresponding to the data channel, thereby establishing one or more data channels in the IMS session. The SDP offerer and the SDP answerer are two terminals in the same IMS session; or, the SDP offerer is a terminal in the IMS session, and the SDP answerer is a network device in the communication network, such as an IMS application server (AS); or, the SDP offerer is a network device in the communication network, and the SDP answerer is a terminal in the IMS session.

[0121] It is understood that the SDP offerer and SDP answerer can negotiate the BDC and ADC based on the SIP / SDP media negotiation process. They can obtain one or more applications from the DCS via the BDC, run the applications before, during, or after a call, and transmit application data via the ADC, thereby enabling users to experience richer real-time interactive services beyond voice, video, and text. It is also understood that the SDP offerer and SDP answerer can negotiate both the BDC and ADC simultaneously, or first negotiate the BDC and then the ADC, without limitation.

[0122] To distinguish ADC from BDC, the stream ID of the ADC and the stream ID of the BDC can be set to different values ​​in the SDP message or SIP message. For example, the stream ID of the BDC is less than 1000, and the stream ID of the ADC is greater than or equal to 1000.

[0123] It can be understood that, unless otherwise specified, the description of the data channel in this application is applicable to the auxiliary data channel, independent data channel, BDC and ADC, and a unified description is made here and no further details are given below.

[0124] 5. IMS Session Protocol Stack

[0125] In this application, the protocol stack of an IMS session is used to indicate the sum of protocols applicable to an IMS session and can reflect the data transmission process within the IMS session. As mentioned earlier, an IMS session can transmit voice, video, text, and other data other than voice, video, and text. Therefore, to meet the transmission requirements of different data types, different protocols can be configured for different data channels. For example, the protocol stack of an IMS session can be shown in Figure 1C.

[0126] In Figure 1C, the lowest-level protocol for the audio, video, and data channels is the Internet Protocol (IP), and above IP is UDP. For these channels, the protocols above UDP vary, as described below. For the audio or video channels, above UDP is the Real-time Transport Protocol (RTP) or the RTP Control Protocol (RTCP). RTP can encapsulate payloads of voice, video, or text. Above this is the conversational multimedia application, and above RTCP is also a conversational multimedia application. For the data channel, above UDP is the DTLS protocol, above DTLS is SCTP, above SCTP is the data channel, and above the data channel is the conversational multimedia application.

[0127] 6. Data channel protocol stack

[0128] As can be seen from Figure 1C, the protocol stack of the data channel is based on the UDP encapsulated SCTP over DTLS protocol stack.

[0129] SCTP is a widely used transport layer protocol in telecommunications networks. It can be configured to meet diverse transmission requirements, offering advantages over other transport layer protocols. For example, Table 1 provides a capability comparison of the Transmission Control Protocol (TCP), UDP, and SCTP. As shown in Table 1, SCTP's reliability and delivery mode are configurable, and SCTP also supports flow control and congestion control. Therefore, by configuring SCTP's reliability and / or delivery mode, data transmitted over data channels can meet diverse transmission requirements. For example, if real-time performance is critical and packet loss is a concern, SCTP can be configured to support ordered reliable mode over the data channel. In some scenarios, flow control and / or congestion control can also be added to further ensure data transmission quality. The DTLS protocol provides confidentiality and integrity protection for data transmission and offers a bidirectional authentication mechanism for both communicating parties to ensure secure data transmission. UDP is compatible with a variety of networks, so using UDP to encapsulate packets allows packets to be transmitted across these networks and recognized by network devices such as routers and NAT devices. Therefore, the data channel uses SCTP overlaid with the DTLS protocol, and then overlaid with UDP as the bearer protocol.

[0130] Table 1

[0131] Optionally, in addition to SCTP, DTLS, and UDP, data channels can use NAT traversal technology to allow both communicating parties to know each other's IP addresses and ports. For example, ICE can integrate session traversal utilities for NAT (STUN) and traversal using relays around NAT (TURN) to allow both communicating parties to know each other's IP addresses and ports.

[0132] It should be understood that in specific applications, there are multiple technologies for implementing NAT traversal, and ICE is only one of them. Therefore, ICE can be replaced with other NAT traversal technologies without limitation. Furthermore, SCTP or UDP are only one protocol suitable for data channels and can be replaced with other protocols. For example, SCTP can be replaced with Quick UDP Internet Connection (QUIC).

[0133] As can be seen from the above description, the protocol stack of the data channel includes the DTLS protocol, which has the function of transport-layer encryption of data in the data channel. The data transmitted in the data channel is typically user-plane data. This data is encapsulated through the protocol stack shown in Figure 1C to obtain an IP data packet. When transmitted between the terminal and the base station, this IP data packet is also encapsulated through the Packet Data Convergence Protocol (PDCP), which also supports encrypted data transmission. Therefore, during the data transmission process, the data is encrypted by at least the DTLS protocol and PDCP, that is, repeated encryption occurs.

[0134] In some scenarios, in order to avoid repeated encryption, the DTLS protocol in the data channel protocol stack can be omitted. Therefore, the present application provides a protocol stack for an IMS session. This protocol stack is mainly an extension of the protocol stack of the data channel. Specifically, it can be shown in Figure 1D. In Figure 1D, the protocol stack of the audio channel or video channel is the same as the protocol stack of the audio channel and video channel in Figure 1C. For the data channel, the bottom layer is IP, above IP is UDP, above UDP is SCTP, above SCTP is the data channel, and above the data channel is the session multimedia application. Compared with Figure 1C, the protocol stack of the data channel shown in Figure 1D omits the DTLS protocol. In other words, the data channel described in this application can support two protocol stacks. Therefore, the data channel described in this application can adapt to more communication scenarios, such as scenarios where DTLS protocol encryption is required and scenarios where DTLS protocol encryption is not required, which can improve the flexibility of communication.

[0135] Optionally, for the data channel protocol stack shown in Figure 1D, in addition to SCTP and UDP, the data channel can also use NAT traversal technology to allow both communicating parties to know each other's IP addresses and ports. For example, ICE can integrate the STUN and TURN mechanisms to allow both communicating parties to know each other's IP addresses and ports.

[0136] It should be understood that in specific applications, there are multiple technologies for implementing NAT traversal, and ICE is only one of them. Therefore, ICE can be replaced with other NAT traversal technologies without limitation. Furthermore, SCTP or UDP are only one protocol suitable for data channels and can be replaced with other protocols. For example, SCTP can be replaced with QUIC.

[0137] In summary, in the present application, the data channel supports at least two types of protocol stacks. For example, one type of protocol stack includes the DTLS protocol (corresponding to the first type of protocol stack in the following embodiment), and the other type of protocol stack does not include the DTLS protocol (corresponding to the second type of protocol stack in the following embodiment). In order to enable the SDP proposer and the SDP responder to determine the protocol stack of the data channel to be ultimately used, the present application provides a communication method. In this communication method, the SDP proposer and the SDP responder can negotiate whether the protocol stack of the data channel of the IMS session in which both parties participate includes the DTLS protocol. Therefore, the method can determine the protocol stack of the data channel for communication scenarios with different security requirements and improve the flexibility of communication. In addition, if the negotiation result between the SDP proposer and the SDP responder is that the protocol stack of the data channel does not include the DTLS protocol, the method can also reduce the number of encryptions and improve transmission efficiency. The method will be specifically described in the methods shown in Figures 5 to 8 below, and will not be repeated here.

[0138] It can be understood that the method provided in the present application can be used in various communication systems. For example, the communication system can be a long term evolution (LTE) system, a fifth generation (5G) communication system, a wireless fidelity (WiFi) system, a 3GPP-related communication system, a future evolution communication system (such as a sixth generation (6G) communication system, etc.), or a system integrating multiple systems, etc., without limitation. Among them, 5G can also be called new radio (NR). The method provided in the present application is described below using the communication system 20 shown in Figure 2 as an example. Figure 2 is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided in the present application.

[0139] Figure 2 is a schematic diagram of the architecture of a communication system 20 provided by this application. In Figure 2, the communication system 20 may include at least two communication entities, such as a communication entity 201 and a communication entity 202. The communication entity 201 and the communication entity 202 may communicate with each other via an IMS network.

[0140] For example, communication entity 201 and communication entity 202, respectively serving as the SDP offerer and SDP responder, may negotiate whether the protocol stack of the data channel of the IMS session in which they participate includes the DTLS protocol. The IMS session in which communication entity 201 and communication entity 202 participate may be understood as the IMS session through which communication entity 201 and communication entity 202 can communicate. For example, the IMS session is a session between communication entity 201 and communication entity 202, or the session between communication entity 201 and communication entity 202 is a segment of the IMS session.

[0141] It is understandable that the communication entity 201 and the communication entity 202 may be located in the same IMS network or in different IMS networks.

[0142] Figures 3A and 3C are schematic diagrams of communication scenarios provided by this application. Figure 3A shows a communication scenario when the calling terminal and the called terminal are in the same IMS network, and Figure 3C shows a communication scenario when the calling terminal and the called terminal are in different IMS networks. A detailed description is provided below.

[0143] In Figure 3A, terminals 302 and 303 can communicate via IMS network 301, which serves as both a call originating and terminating network. Terminal 302 is the calling terminal and terminal 303 is the called terminal, or alternatively, terminal 302 is the called terminal and terminal 303 is the calling terminal. IMS network 301 includes a DC AS (Direct Connection Service), a network exposure function (NEF) entity and a DCS (Direct Connection Service) connected to the DC AS, a home subscriber server (HSS) / unified data management (UDM) entity and an IMS AS connected to the DCS, a CSCF entity connected to the IMS AS and HSS / UDM entities, and an IMS access media gateway (IMS-AGW) connected to the CSCF entity.

[0144] The DCS may include a data channel signaling function (DCSF) entity and an MF entity. Optionally, the DCS also includes a data channel application repository (DCAR) entity. Figure 3A shows that the DCSF and DCAR are deployed on the same entity, while the MF is deployed separately on another entity. In specific applications, the deployment methods of the DCSF, DCAR, and MF are not limited. For example, the DCSF, DCAR, and MF may be deployed separately on different entities, or at least two of the DCSF, DCAR, and MF may be deployed on the same entity.

[0145] The CSCF entity is a functional entity within the IMS and the core of the entire IMS. It is primarily responsible for signaling control during multimedia call sessions. It manages IMS user authentication, IMS bearer plane quality of service (QoS), coordinates with other network elements to control SIP sessions, and performs service negotiation and resource allocation. Depending on their functionality, CSCF entities can be divided into proxy CSCF (P-CSCF), interrogating CSCF (I-CSCF), and serving CSCF (S-CSCF). Figure 3A shows that the I-CSCF and S-CSCF are deployed on the same entity, while the P-CSCF is deployed on a separate entity. In specific applications, the deployment of the I-CSCF, S-CSCF, and P-CSCF is not limited. For example, the I-CSCF, S-CSCF, and P-CSCF can be deployed on different entities, or at least two of them can be deployed on the same entity.

[0146] It can be understood that the communication system 20 can be applied to the communication scenario shown in FIG. 3A . For example, the communication entity 201 is the terminal 302, the communication entity 202 is the terminal 303, and the terminal 302 and the terminal 303 can negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 302 and the terminal 303 participate includes the DTLS protocol, and the data channel is, for example, the data channel 304 between the terminal 302 and the terminal 303 shown in FIG3B; or, the communication entity 201 is the terminal 302, the communication entity 202 is the IMS AS (or DCSF entity), and the terminal 302 and the IMS AS (or DCSF entity) can negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 302 and the IMS AS (or DCSF entity) participate includes the DTLS protocol, and the data channel is, for example, the data channel 305 between the terminal 302 and the MF shown in FIG3B; or, the communication entity 201 is the terminal 303, the communication entity 202 is the IMS AS (or DCSF entity), and the terminal 303 and the IMS AS (or DCSF entity) can negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 303 and the IMS participate includes the DTLS protocol. Whether the protocol stack of the data channel in the IMS session in which the AS (or DCSF entity) participates includes the DTLS protocol, the data channel is, for example, the data channel 306 between the terminal 303 and the MF shown in FIG3B .

[0147] In Figure 3C , terminals 313 and 314 can communicate via IMS network 311 and IMS network 312. One of IMS network 311 and IMS network 312 is a call originating network, and the other is a call terminating network. For example, if terminal 313 is a calling terminal and terminal 314 is a called terminal, IMS network 311 is the call originating network and IMS network 312 is the call terminating network. If terminal 313 is a called terminal and terminal 314 is a calling terminal, IMS network 311 is the call terminating network and IMS network 312 is the call originating network. IMS network 311 and IMS network 312 include similar entities. For example, IMS network 311 or IMS network 312 includes a DC AS, an NEF entity and a DCS in communication with the DC AS, an HSS / UDM entity and an IMSAS in communication with the DCS, a CSCF entity in communication with the IMS AS, an IMS-AGW and an interconnection border control function (IBCF) entity in communication with the CSCF entity, and a transition gateway (TrGW) in communication with the IMS-AGW. For an introduction to the DCS and CSCF entities, refer to the corresponding description in FIG. 3A .

[0148] It can be understood that the communication system 20 can be applied to the communication scenario shown in FIG. 3C . For example, the communication entity 201 is the terminal 313, the communication entity 202 is the terminal 314, and the terminal 313 and the terminal 314 may negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 313 and the terminal 314 participate includes the DTLS protocol, and the data channel is, for example, the data channel 315 between the terminal 313 and the terminal 314 shown in FIG3D; or, the communication entity 201 is the terminal 313, the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 311, and the terminal 313 and the IMS AS (or DCSF entity) may negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 313 and the IMS AS (or DCSF entity) participate includes the DTLS protocol, and the data channel is, for example, the data channel 316 between the terminal 313 and the MF in the IMS network 311 shown in FIG3D; or, the communication entity 201 is the terminal 313, the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 312, and the terminal 313 and the IMS The AS (or DCSF entity) may negotiate whether a protocol stack of a data channel in an IMS session in which the terminal 313 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. The data channel is, for example, the data channel 317 between the terminal 313 and the MF in the IMS network 312 shown in FIG3D . Alternatively, the communication entity 201 is the terminal 314, the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 312, the terminal 314 and the IMS AS (or DCSF entity) may negotiate whether a protocol stack of a data channel in which the terminal 314 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. The data channel is, for example, the data channel 318 between the terminal 314 and the MF in the IMS network 312 shown in FIG3D . Alternatively, the communication entity 201 is the terminal 314, the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 311, the terminal 314 and the IMS AS (or DCSF entity) may negotiate whether a protocol stack of a data channel in which the terminal 314 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. Whether the protocol stack of the data channel in the IMS session in which the AS (or DCSF entity) participates includes the DTLS protocol, the data channel is, for example, the data channel 319 between the terminal 314 and the MF in the IMS network 311 shown in FIG3D .

[0149] In order to more clearly understand the communication scenarios provided by this application, the functions of various entities in Figures 3A and 3C are specifically explained below.

[0150] The DC AS can be used to provide data channel service logic. In Figures 3A and 3C, the DC AS is deployed in the IMS network and can directly connect to other entities in the IMS network through interfaces (such as service-oriented interfaces). In specific applications, the DC AS can also be deployed outside the IMS network and connected to other network elements in the IMS network through an NEF entity (or IMS edge network management).

[0151] The NEF entity can be used to securely open various services of the core network (such as the 5G core network) to third parties.

[0152] The DCSF entity can provide data channel signaling control functions.

[0153] DCAR can be used to store data channel applications. For example, after a developer completes a data channel application, they upload it to the operator's DCS, which then saves it to DCAR. When needed, the DCS downloads the data channel application from DCAR to its local server for subsequent processing.

[0154] The HSS / UMD entity is responsible for storing IMS user subscription data. Specifically, for 4G networks, the IMS network includes the HSS, which is responsible for storing IMS user subscription data in 4G networks. For 5G networks, the IMS network includes the UMD entity, which is responsible for storing IMS user subscription data in 5G networks.

[0155] The IMS AS is the top-level application layer device in the IMS network, providing basic and supplementary services such as multimedia conferencing, converged communications, SMS gateway, and standard attendant console. The IMS AS interacts with the CSCF entity to trigger and execute various network services. The IMS AS negotiates data channels with terminals. For example, the IMS AS can be a Multimedia Telephony Application Server (MMTEL AS) or a Telephony Application Server (TAS).

[0156] The MF entity can be used to provide data channel media resource management functions.

[0157] The S-CSCF entity is responsible for IMS user registration, authentication, session management, routing, and service triggering.

[0158] The I-CSCF entity is the unified entry point of the IMS user's home network and is responsible for allocating or querying the S-CSCF that serves the user.

[0159] The P-CSCF entity is the entry point for users to access the IMS network and is responsible for forwarding SIP signaling between IMS users and their home network.

[0160] IMS AGW can provide IMS network access gateway and media gateway functions.

[0161] The IBCF entity can implement signaling intercommunication, topology hiding, and IP security protection functions for voice, video, and multimedia services.

[0162] The TrGW entity can implement media intercommunication, topology hiding, and IP security protection for voice, video, and multimedia services, and also supports voice codec format conversion and other functions.

[0163] It should be understood that Figure 3A or Figure 3C are only examples of communication scenarios to which the method provided in the present application can be applied. In specific applications, the communication scenarios to which the method provided in the present application can be applied can also be in other forms. For example, it can include more or fewer entities than Figure 3A or Figure 3C, without limitation.

[0164] It is understood that the communication system 20 shown in FIG2 is for illustrative purposes only and is not intended to limit the technical solutions of the present application. Those skilled in the art will appreciate that, in a specific implementation, the communication system 20 may further include other devices, and the number of communication entities may be determined based on specific needs and is not limited.

[0165] Optionally, each communication entity in FIG. 2 of the present application may also be referred to as a communication device, which may be a general device or a dedicated device, and the present application does not make any specific limitation on this.

[0166] Optionally, the relevant functions of the communication entity in Figure 2 of the present application can be implemented by a single device, or by multiple devices, or by one or more functional modules within a single device, and this application does not impose any specific restrictions on this. It is understood that the above functions can be network elements in hardware devices, software functions running on dedicated hardware, or a combination of hardware and software, or virtualized functions instantiated on a platform (e.g., a cloud platform).

[0167] In specific implementations, the communication entities shown in Figure 2 may adopt the structure shown in Figure 4, or include the components shown in Figure 4. Figure 4 shows a schematic diagram of the hardware structure of a communication device applicable to the present application. The communication device 40 includes at least one processor 401 and at least one communication interface 404, which are used to implement the method provided in the present application. The communication device 40 may also include a communication circuit 402 and a memory 403.

[0168] The processor 401 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.

[0169] The communication link 402 may include a path for transmitting information between the above components, such as a bus.

[0170] Communication interface 404 is used to communicate with other devices or communication networks. Communication interface 404 can be any transceiver-like device, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, a transceiver, a pin, a bus, an interface circuit, or a transceiver circuit.

[0171] The memory 403 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may be independent and coupled to the processor 401 via a communication line 402. The memory 403 may also be integrated with the processor 401. The memory provided in this application may generally be non-volatile.

[0172] Among them, the memory 403 is used to store computer-executable instructions involved in executing the solution provided by this application, and is controlled by the processor 401. The processor 401 is used to execute the computer-executable instructions stored in the memory 403, thereby implementing the method provided by this application. Alternatively, optionally, in this application, the processor 401 may also perform the processing-related functions of the method provided below in this application, and the communication interface 404 is responsible for communicating with other devices or communication networks, which is not specifically limited in this application.

[0173] Optionally, the computer-executable instructions in this application may also be referred to as application code, which is not specifically limited in this application.

[0174] The coupling in this application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.

[0175] As an embodiment, the processor 401 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 4 .

[0176] As an embodiment, the communication device 40 may include multiple processors, such as processor 401 and processor 407 in FIG4 . Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0177] As an embodiment, the communication device 40 may further include an output device 405 and / or an input device 406. The output device 405 is coupled to the processor 401 and can display information in a variety of ways. For example, the output device 405 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 406 is coupled to the processor 401 and can receive user input in a variety of ways. For example, the input device 406 can be a mouse, a keyboard, a touch screen device, or a sensor device.

[0178] It is understandable that the composition structure shown in Figure 4 does not constitute a limitation on the communication device. In addition to the components shown in Figure 4, the communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0179] The method provided by the present application will be described below with reference to the accompanying drawings. Each network element in the following embodiment may include the components shown in FIG4 , which will not be described in detail.

[0180] It is understood that in this application, "transmit" can be understood as sending and / or receiving, depending on the specific context. "Transmit" can be a noun or a verb. When the subject performing the action is not emphasized, "transmit" is often used instead of "send" and / or "receive". For example, the phrase "transmit data" can be understood as "sending data" from the perspective of the sender, and as "receiving data" from the perspective of the receiver.

[0181] It is understood that the term "connection" in this application can refer to direct or indirect connection; in addition, it can refer to electrical connection or communication connection. For example, when two electrical components A and B are connected, it can refer to A and B being directly connected, or it can refer to A and B being indirectly connected through other electrical components or a connection medium, so that electrical signals can be transmitted between A and B. For another example, when two devices A and B are connected, it can refer to A and B being directly connected, or it can refer to A and B being indirectly connected through other communication devices or a communication medium, so that A and B can communicate.

[0182] It can be understood that the message names between the various communication entities or the names of the parameters in the messages in the following embodiments of the present application are only examples, and other names may be used in specific implementations, and the present application does not make specific limitations on this.

[0183] It can be understood that in this application, "sending information to... (such as a communication entity)" can be understood as the destination end of the information being the communication entity. It can include sending information to the communication entity directly or indirectly. "Receiving information from... (such as a communication entity)" can be understood as the source end of the information being the communication entity, which can include receiving information from the communication entity directly or indirectly. The information may be processed as necessary between the source end and the destination end of the information transmission, such as format changes, etc., but the destination end can understand the valid information from the source end. Similar expressions in this application can be understood similarly and will not be repeated here.

[0184] It is understood that in this application, " / " can indicate that the objects associated with each other are in an "or" relationship, for example, A / B can mean A or B; "and / or" can be used to describe that there are three relationships between the associated objects, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, expressions similar to "at least one of A, B and C" or "at least one of A, B or C" are usually used to indicate any of the following: A exists alone; B exists alone; C exists alone; A and B exist at the same time; A and C exist at the same time; B and C exist at the same time; A, B and C exist at the same time. The above uses A, B and C as an example to illustrate the optional items of the item. When there are more elements in the expression, the meaning of the expression can be obtained according to the above rules.

[0185] In order to facilitate the description of the technical solutions of the present application, in the present application, words such as "first" and "second" may be used to distinguish between technical features with the same or similar functions. The words such as "first" and "second" do not limit the quantity and execution order, and the words such as "first" and "second" do not necessarily limit them to be different. In the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" should not be interpreted as being more preferred or more advantageous than other embodiments or design. The use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0186] It is understood that the "embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments in the entire specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It is understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the present application.

[0187] It can be understood that in this application, "when...", "in the case of...", "if" and "if" all mean that corresponding processing will be taken under certain objective circumstances, and do not limit the time, nor do they require judgment actions when implementing them, nor do they mean that there are other limitations.

[0188] The term "simultaneously" in this application may be understood as at the same time point, within a period of time, or within the same cycle.

[0189] In this application, unless otherwise specified, "a plurality of" can be understood as two or more than two. For example, a plurality of terminals can be understood as two or more than two terminals.

[0190] It is understood that some optional features in this application may, in certain scenarios, be implemented independently of other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features in certain scenarios as needed. Accordingly, the devices provided in this application may also implement these features or functions accordingly, which will not be described in detail here.

[0191] It is understandable that the same step or steps or technical features with the same function in different embodiments of the present application can be referenced to each other.

[0192] The communication method provided in this application is described below by taking the communication entity 201 shown in FIG. 2 as the SDP proposer and the communication entity 202 as the SDP responder as an example.

[0193] It is understood that in the present application, communication entity 201 and / or communication entity 202 may perform some or all of the steps in the present application. These steps are merely examples, and the present application may also perform other steps or variations of various steps. In addition, the steps may be performed in a different order than presented in the present application, and it is possible that not all of the steps in the present application need to be performed.

[0194] It is understandable that the method provided below in this application uses communication entity 201 and communication entity 202 as the execution subjects of the interaction diagram as an example to illustrate the method, but this application does not limit the execution subjects of the interaction diagram. For example, the communication entity (such as communication entity 201 or communication entity 202) in the method provided in the following embodiments of this application can also be a chip, chip system, or processor that supports the communication entity to implement the method, or a logical node, logic module, or software that can implement all or part of the functions of the communication entity.

[0195] As shown in FIG5 , a communication method provided by the present application may include the following steps:

[0196] S501 : The communication entity 201 sends SDP offer information (SDP offer) to the communication entity 202 . Correspondingly, the communication entity 202 receives the SDP offer information from the communication entity 201 .

[0197] In the present application, the SDP proposal information may instruct the communication entity 201 to propose (offer) to establish (or negotiate) a data channel using the first type protocol stack or the second type protocol stack.

[0198] The data channel is associated with the IMS session between communication entity 201 and communication entity 202 and can be used to transmit application data or applications between communication entity 201 and communication entity 202. Optionally, the data channel is a BDC or ADC. It will be understood that the IMS session is an IMS session in which communication entity 201 and communication entity 202 participate. For a detailed description of the data channel, BDC, and ADC, please refer to the previous description of the data channel. For a detailed description of the IMS session, please refer to the previous description of the IMS session.

[0199] It should be understood that, depending on the roles of the communication entity 201 and the communication entity 202, the data channel may be one of the above-mentioned data channels 304 to 306, or one of the above-mentioned data channels 315 to 319. For details, please refer to the corresponding description in FIG3B or FIG3D above, which will not be repeated here.

[0200] It will be understood that the present application does not limit the number and / or type of data channels that the communication entity 201 indicates in the SDP proposal information to propose establishing using the first type protocol stack or the second type protocol stack. For example, the SDP proposal information indicates that the communication entity 201 proposes to establish data channel 1 using the first type protocol stack or the second type protocol stack, where data channel 1 is ADC or BDC. For another example, the SDP proposal information indicates that the communication entity 201 proposes to establish data channel 1 and data channel 2 using the first type protocol stack or the second type protocol stack, where data channel 1 is ADC and data channel 2 is BDC, or both data channel 1 and data channel 2 are ADC, or both data channel 1 and data channel 2 are BDC.

[0201] In a possible design, the first type of protocol stack includes the DTLS protocol, and the second type of protocol stack does not include the DTLS protocol.

[0202] For example, the first type of protocol stack is a protocol stack that combines SCTP with DTLS and UDP, which can be recorded as a UDP / DTLS / SCTP protocol stack, or a SCTP / DTLS / UDP protocol stack, or a SCTP over DTLS over UDP protocol stack, or a UDP-encapsulated SCTP over DTLS protocol stack. The second type of protocol stack is a protocol stack that combines SCTP with UDP, which can be recorded as a UDP / SCTP protocol stack, or a SCTP / UDP protocol stack, or a SCTP over UDP protocol stack, or a UDP-encapsulated SCTP protocol stack.

[0203] In one possible design, the SDP proposal information includes first indication information, where the first indication information indicates whether to use the first type protocol stack or the second type protocol stack to establish the data channel. For example, the SDP proposal information includes a first SDP media description corresponding to the data channel, where the first SDP media description includes an m-line. The m-line can be used to indicate relevant information for establishing the data channel to the communication entity 201. For example, the m-line includes the first indication information.

[0204] Exemplarily, if the first indication information indicates that a data channel is established using a first type of protocol stack, the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, if the first indication information indicates that a data channel is established using a second type of protocol stack, the first indication information is "UDP / SCTP" or "SCTP / UDP". It will be understood that for ease of description, this application uses the example of the first indication information being "UDP / DTLS / SCTP" or "UDP / SCTP". In addition, in addition to the above-mentioned first SDP media description, the SDP proposal information may also include SDP media descriptions corresponding to one or more other data channels, without limitation.

[0205] Optionally, the first SDP media description also includes lines c, b, and a related to the data channel, which are respectively used to carry the IP address, IP port, SCTP port, stream ID, DTLS protocol related information corresponding to the data channel or at least one of the media information of the data channel.

[0206] The following describes the contents of the SDP proposal information.

[0207] As an example, if the SDP proposal information indicates that the communication entity 201 proposes to establish a data channel using the first type of protocol stack, the content of the SDP proposal information may be as shown in Table 2-1. In Table 2-1, the first SDP media description includes the content from "m=application52718UDP / DTLS / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, the mth line includes "m=application 52718UDP / DTLS / SCTP webrtc-datachannel", and in the mth line, the first indication information is "UDP / DTLS / SCTP". In addition, line c (i.e., c=IN IP4 192.0.2.1) indicates that the IP address of the data channel is "192.0.2.1", line a indicates that the IP port of the data channel is 52718 (e.g., a=candidate:1 1UDP 2130706431 192.0.2.1 52718typ host), the SCTP port of the data channel is "5002" (e.g., a=sctp-port:5002), and the stream ID of the data channel is "0" (e.g., a=dcmap:0 subprotocol="http"). The relevant information of the DTLS protocol includes "a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB" and "a=tls-id:abc3de65cddef001be82". The a=fingerprint attribute line can indicate the certificate fingerprint of the DTLS protocol, and the a=tls-id attribute line can indicate the connection identifier of the DTLS protocol (or called the DTLS coupled identifier or the DTLS connection identifier).

[0208] Table 2-1

[0209] When the SDP proposal information indicates that communication entity 201 proposes to establish two data channels using either the first or second protocol stack, the SDP proposal information may include the content shown in Table 2-2 or Table 2-3. Compared to Table 2-1, Table 2-2 includes an additional line: "a=dcmap:10subprotocol="http"." Therefore, Table 2-2 indicates that the SDP proposal information indicates that communication entity 201 proposes to establish two data channels using the first protocol stack, one with a stream ID of "0" and the other with a stream ID of "10." As can be understood, the stream IDs of both data channels are less than 1000, so both are BDCs.

[0210] Table 2-2

[0211] Compared to Table 2-1, Table 2-3 includes an additional line: "a=dcmap:1100subprotocol="http"." Therefore, Table 2-3 indicates that the SDP proposal information indicates that communication entity 201 proposes to establish two data channels using the first protocol stack, one with a stream ID of "0" and the other with a stream ID of "1100." As can be understood, one of the data channels has a stream ID less than 1000, making it a BDC, while the other has a stream ID greater than 1000, making it an ADC.

[0212] Table 2-3

[0213] As another example, if the SDP proposal information indicates that the communication entity 201 proposes to use the second type of protocol stack to establish a data channel, the content included in the SDP proposal information can be as shown in Table 3. In Table 3, the first SDP media description includes content from "m=application 52718UDP / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, line m includes "m=application 52718UDP / SCTP webrtc-datachannel", and in line m, the first indication information is "UDP / SCTP". In addition, line c indicates that the IP address of the data channel is "192.0.2.1", line a indicates that the IP port of the data channel is 52718, the SCTP port of the data channel is "5002", and the stream ID of the data channel is "0". Because the second type of protocol stack does not include the DTLS protocol, the first SDP media description does not include relevant information about the DTLS protocol.

[0214] Table 3

[0215] It can be understood that the contents shown in Table 2 and Table 3 are examples of SDP proposal information. In specific applications, the SDP proposal information may include more or less information than that shown in Table 2 or Table 3, without limitation.

[0216] In a possible design, the SDP proposal information is carried in an invite request (INVITE), an update request (UPDATE), or a re-INVITE request (re-INVITE).

[0217] S502 : The communication entity 202 sends SDP answer information (SDP answer) to the communication entity 201 according to the SDP proposal information. Correspondingly, the communication entity 201 receives the SDP answer information from the communication entity 202 .

[0218] In the present application, the SDP response information indicates that the communication entity 202 decides to use the second type of protocol stack to establish a data channel.

[0219] In one possible design, the SDP response information includes second indication information, and the second indication information indicates a decision to adopt the second type of protocol stack to establish a data channel. For example, the SDP response information includes SDP media descriptions corresponding to data channels of the same number and in the same order as those in the SDP proposal information, for example, including a second SDP media description corresponding to the above-mentioned data channel, and the second SDP media description is an SDP media description associated with the above-mentioned first SDP media description. The second SDP media description includes an m-line, and the m-line can be used to indicate relevant information for the communication entity 202 to establish a data channel. For example, the m-line includes the second indication information, and the second indication information is "UDP / SCTP" or "SCTP / UDP". It can be understood that for the sake of ease of description, this application takes the second indication information as "UDP / SCTP" as an example for introduction.

[0220] Optionally, the second SDP media description further includes lines c, b, and a related to the data channel, which are respectively used to carry at least one of the IP address, IP port, SCTP port, stream ID, or media information of the data channel.

[0221] The following describes the contents of the SDP response information.

[0222] As an example, the content included in the SDP response information may be as shown in Table 4. In Table 4, the second SDP media description includes content from "m=application 1224 UDP / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, line m includes "m=application 1224 UDP / SCTP webrtc-datachannel", and in line m, the second indication information is "UDP / SCTP". In addition, line c indicates that the IP address of the data channel is "192.0.2.10", line a indicates that the IP port of the data channel is 1224, the SCTP port of the data channel is "5001", and the stream ID of the data channel is "0". Because the second type of protocol stack does not include the DTLS protocol, the second SDP media description may not include relevant information of the DTLS protocol.

[0223] Table 4

[0224] The above description illustrates a scenario where the SDP response information instructs communication entity 202 to use the second protocol stack to establish a data channel. Alternatively, in specific applications, the SDP response information may also instruct communication entity 202 to use the first protocol stack to establish a data channel. In this case, the second indication information is "UDP / DTLS / SCTP." Optionally, the second SDP media description also includes information related to the DTLS protocol.

[0225] As an example, the content included in the SDP response information may be as shown in Table 5. In Table 5, the second SDP media description includes content from "m=application 1224 UDP / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, line m includes "m=application 1224 UDP / DTLS / SCTP webrtc-datachannel", and in line m, the second indication information is "UDP / DTLS / SCTP". In addition, line c indicates that the IP address of the data channel is "192.0.2.10", line a indicates that the IP port of the data channel is 1224, the SCTP port of the data channel is "5001", and the stream ID of the data channel is "0". Related information of the DTLS protocol includes "a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB" and "a=tls-id:abc3de65cddef001be82". The former can indicate the DTLS protocol certificate fingerprint and the latter can indicate the DTLS protocol connection identifier.

[0226] Table 5

[0227] It can be understood that the contents shown in Table 4 and Table 5 are examples of SDP response information. In specific applications, the SDP response information may include more or less information than the contents shown in Table 4 or Table 5, without limitation.

[0228] In summary, the communication entity 201 can propose the protocol stack used by the data channel in the SDP proposal information sent to the communication entity 202. After receiving the SDP proposal information, the communication entity 202 can determine the protocol stack ultimately used by the data channel (that is, the communication entity 202 can determine the protocol stack of the data channel) and indicate the protocol stack ultimately used by the data channel in the SDP response information sent to the communication entity 201. Afterwards, the communication entity 201 and the communication entity 202 can establish a data channel based on the determined protocol stack and then communicate. For example, if the protocol stack ultimately used by the data channel is a first-class protocol stack, the communication entity 201 and the communication entity 202 use SCTP superimposed on DTLS and then superimposed on UDP as the data bearer protocol; if the protocol stack ultimately used by the data channel is a second-class protocol stack, the communication entity 201 and the communication entity 202 use SCTP superimposed on UDP as the data bearer protocol.

[0229] As an example, the communication entity 202 may use the policy shown in Table 6 to determine the protocol stack ultimately adopted by the data channel. For example, if the communication entity 201 proposes to use the first type of protocol stack to establish the data channel, the communication entity 202 may decide to use the first type of protocol stack to establish the data channel, or decide to use the second type of protocol stack to establish the data channel; if the communication entity 201 proposes to use the second type of protocol stack to establish the data channel, the communication entity 202 may decide to use the second type of protocol stack to establish the data channel.

[0230] Table 6

[0231] In one possible design, the SDP response information is carried in a response message with a status code of 180 (such as a 180 message), a response message with a status code of 183 (such as a 183 message), or a response message with a status code of 200 (such as a 200 message).

[0232] In the above example, the protocol stack ultimately adopted by the data channel is determined by communication entity 202. In addition to this approach, the protocol stack ultimately adopted by the data channel can also be determined by an entity other than communication entity 201 and communication entity 202. For example, communication entity 201 and communication entity 202 can send their proposed protocol stacks for the data channel to communication entity 203, and communication entity 203 will determine the protocol stack ultimately adopted by the data channel.

[0233] Among them, the actions of the communication entity 201 or the communication entity 202 in the above S501-S502 can be executed by the processor 401 in the communication device 40 shown in Figure 4 calling the application code stored in the memory 403, and this application does not impose any restrictions on this.

[0234] Based on the method shown in Figure 5, communication entity 201 and communication entity 202 can negotiate whether the protocol stack used by the data channel of the IMS session in which they participate includes the DTLS protocol, allowing the data channel to be adapted to different communication scenarios. For example, in scenarios where communication security requirements are high or DTLS protocol encryption is required, the data channel protocol stack can include the DTLS protocol. In scenarios where communication security requirements are low or DTLS protocol encryption is not required, the data channel protocol stack may not include the DTLS protocol. Therefore, the method shown in Figure 5 can improve communication flexibility. In addition, if the negotiation between communication entity 201 and communication entity 202 results in the data channel protocol stack not including the DTLS protocol, the data transmitted in the data channel does not need to be processed based on the DTLS protocol. For example, if the data does not need to be encrypted based on the DTLS protocol, the number of encryption cycles can be reduced. Therefore, the method shown in Figure 5 can also improve data transmission efficiency, shorten data transmission latency, and reduce the performance overhead of network equipment.

[0235] Optionally, in a possible implementation of the method shown in FIG5 , a network device in a communication network (such as an IMS network) may indicate to the communication entity 201 and / or the communication entity 202 the respective applicable data channel protocol stack policies. In this way, the communication entity 201 may determine whether to propose the first type of protocol stack or the second type of protocol stack in the SDP proposal information based on its own applicable policies. The communication entity 202 may determine the protocol stack ultimately adopted by the data channel based on its own applicable policies and the proposal of the communication entity 201. The above process is described below using the network device being an S-CSCF entity as an example. It should be understood that the S-CSCF entity may also be replaced by a CSCF entity, etc. For example, as shown in FIG6 , the method shown in FIG5 further includes the following steps:

[0236] S500A: The S-CSCF entity sends first policy information to the communication entity 201. Correspondingly, the communication entity 201 receives the first policy information from the S-CSCF entity.

[0237] In the method shown in FIG6 , the S-CSCF entity is, for example, the S-CSCF entity in FIG3A , or the S-CSCF entity in the IMS network 311 or the S-CSCF entity in the IMS network 312 in FIG3C .

[0238] In the present application, the first policy information is used by the communication entity 201 to determine a proposed protocol stack for establishing a data channel.

[0239] In one possible implementation, the operator configures the first policy information in the S-CSCF entity. After the communication entity 201 initiates a registration process with the communication network, the S-CSCF entity determines the first policy information and sends the first policy information to the communication entity 201.

[0240] Optionally, the first policy information corresponding to communication entities in the same communication network is the same, and the first policy information corresponding to communication entities in different communication networks may be the same or different.

[0241] For example, taking terminal 302 and terminal 303 shown in FIG3A as an example, both terminal 302 and terminal 303 are located in IMS network 301, and the first policy information sent by the S-CSCF entity to terminal 302 and terminal 303 is the same. Taking terminal 313 and terminal 314 shown in FIG3C as an example, terminal 313 is located in IMS network 311, and terminal 314 is located in IMS network 312. The first policy information sent by the S-CSCF entity in IMS network 311 to terminal 313 and the first policy information sent by the S-CSCF entity in IMS network 312 to terminal 314 may be the same or different.

[0242] In one possible design, the first policy information may indicate whether the data channel of the IMS session in which the communication entity 201 participates adopts the first type of protocol stack or the second type of protocol stack. The data channel of the IMS session in which the communication entity 201 participates includes ADC and / or BDC. In other words, the first policy information may indicate to the communication entity 201 which protocol stack the data channel should adopt when subsequently negotiating the data channel. In this way, the communication entity 201 may propose the protocol stack of the data channel to be adopted based on the first policy information. For example, if the first policy information indicates that the data channel of the IMS session in which the communication entity 201 participates adopts the first type of protocol stack, the communication entity 201 indicates in the above-mentioned SDP proposal information that the communication entity 201 proposes to adopt the first type of protocol stack to establish the data channel; if the first policy information indicates that the data channel of the IMS session in which the communication entity 201 participates adopts the second type of protocol stack, the communication entity 201 indicates in the above-mentioned SDP proposal information that the communication entity 201 proposes to adopt the second type of protocol stack to establish the data channel.

[0243] In one possible design, the first policy information is carried in a response message with a status code of 200 (e.g., a 200 OK message). It should be understood that, in addition to this approach, the 200 response message may also not carry the first policy information. In this case, communication entity 201 may default to using the first type of protocol stack for the data channel of the IMS session in which communication entity 201 participates. Of course, communication entity 201 may also default to using the second type of protocol stack for the data channel of the IMS session in which communication entity 201 participates.

[0244] It is understood that in specific applications, the first policy information can indicate the protocol stack in various ways. For example, the protocol stack can be indicated by extending a new instruction or parameter in the SIP header field, by adding a new SIP header field, by indicating the protocol stack in a declarative or assignment manner, by indicating whether encryption is used, or by directly indicating the protocol stack of the data channel. The following examples 1 to 5 are used as examples to describe the first policy information. However, it should be understood that the method of indicating the protocol stack in the first policy information is not limited to the following examples.

[0245] Example 1: The first policy information is included in the Feature-Caps field of the 200OK message.

[0246] Exemplarily, the first policy information declaratively indicates the protocol stack. For example, the content of the 200OK message may be as shown in Table 7. In Table 7, the first policy information includes "g.3gpp.datachannel-unencrypted," indicating that the protocol stack is a second-category protocol stack, namely, the SCTP / UDP protocol stack. For another example, the content of the 200OK message may be as shown in Table 8. In Table 8, the first policy information includes "g.3gpp.datachannel-encrypted," indicating that the protocol stack is a first-category protocol stack, namely, the SCTP / DTLS / UDP protocol stack.

[0247] Table 7

[0248] Table 8

[0249] Exemplarily, the first policy information indicates the protocol stack in an assignment manner. For example, the content included in the 200OK message may be as shown in Table 9. In Table 9, the first policy information includes "datachannel-encrypted="No"", indicating that the protocol stack is the second type of protocol stack, that is, the SCTP / UDP protocol stack. For another example, the content included in the 200OK message may be as shown in Table 10. In Table 10, the first policy information includes "datachannel-encrypted="Yes"", indicating that the protocol stack is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack.

[0250] Table 9

[0251] Table 10

[0252] Example 2: The first policy information is included in the Contact field of the 200OK message.

[0253] Exemplarily, the first policy information declaratively indicates the protocol stack. For example, the content of the 200OK message may be as shown in Table 11. In Table 11, the first policy information includes "g.3gpp.datachannel-unencrypted," indicating that the protocol stack is a second-category protocol stack, namely, the SCTP / UDP protocol stack. For another example, the content of the 200OK message may be as shown in Table 12. In Table 12, the first policy information includes "g.3gpp.datachannel-encrypted," indicating that the protocol stack is a first-category protocol stack, namely, the SCTP / DTLS / UDP protocol stack.

[0254] Table 11

[0255] Table 12

[0256] Exemplarily, the first policy information indicates the protocol stack in an assignment manner. For example, the content included in the 200OK message may be as shown in Table 13. In Table 13, the first policy information includes "datachannel-encrypted="No"", indicating that the protocol stack is the second type of protocol stack, that is, the SCTP / UDP protocol stack. For another example, the content included in the 200OK message may be as shown in Table 14. In Table 14, the first policy information includes "datachannel-encrypted="Yes"", indicating that the protocol stack is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack.

[0257] Table 13

[0258] Table 14

[0259] In the above example, the first policy information is included in the Feature-Caps field or the Contact field of the 200OK message. However, in specific applications, the first policy information may also be included in fields other than the Feature-Caps field and the Contact field, and the declarative or assignment form may also be in other forms, without limitation.

[0260] Example 3: The first policy information is included in a newly added field of the 200OK message.

[0261] Exemplarily, the newly added field of the 200OK message is "IMSDC-protocol". The contents of the 200OK message may be as shown in Table 15. In Table 15, the first policy information includes "UDP / SCTP", indicating that the protocol stack is the second-class protocol stack, namely, the SCTP / UDP protocol stack. Alternatively, the contents of the 200OK message may be as shown in Table 16. In Table 16, the first policy information includes "UDP / DTLS / SCTP", indicating that the protocol stack is the first-class protocol stack, namely, the SCTP / DTLS / UDP protocol stack.

[0262] Table 15

[0263] Table 16

[0264] Example 4: The newly added field of the 200OK message does not carry content related to the protocol stack of the data channel.

[0265] Exemplarily, the newly added field of the 200OK message is "IMSDC-protocol". The content included in the 200OK message may be as shown in Table 17. In Table 17, the newly added field "IMSDC-protocol" does not carry any information, or the newly added field "IMSDC-protocol" is empty. At this time, "IMSDC-protocol" can be regarded as the first policy information, or it can be understood that the 200OK message does not carry the first policy information. The protocol stack indicated by the 200OK message shown in Table 17 is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack. Of course, the protocol stack indicated by the 200OK message shown in Table 17 may also be the second type of protocol stack, that is, the SCTP / UDP protocol stack. This application does not make specific restrictions and can be set as needed.

[0266] Table 17

[0267] It should be understood that the "IMSDC-protocol" in this application is only an example of a newly added field in the 200OK message. In specific applications, the newly added field may also have other naming methods, which are not limited.

[0268] Example 5: The 200 OK message does not carry any content related to the protocol stack of the data channel.

[0269] For example, the content included in the 200OK message may be as shown in Table 18. In Table 18, the 200OK message does not carry content related to the protocol stack of the data channel. In this case, the 200OK message can be regarded as the first policy information, or it can be understood that the 200OK message does not carry the first policy information. The protocol stack indicated by the 200OK message shown in Table 18 is the first type of protocol stack, namely the SCTP / DTLS / UDP protocol stack. Of course, the protocol stack indicated by the 200OK message shown in Table 18 may also be the second type of protocol stack, namely the SCTP / UDP protocol stack. This is not specifically limited in this application and can be set as needed.

[0270] Table 18

[0271] It should be understood that the S-CSCF entity may send the first policy information multiple times, and the protocol stack indicated by the first policy information sent each time may be different, so as to adjust the data channel protocol stack that the communication entity 201 should adopt when negotiating the data channel as needed.

[0272] S500B: The S-CSCF entity sends the second policy information to the communication entity 202. Correspondingly, the communication entity 202 receives the second policy information from the S-CSCF entity.

[0273] It is understood that the S-CSCF entity in S500B and the S-CSCF entity in S500A can be the same entity or different entities. For example, in the communication scenario shown in FIG3A , the S-CSCF entity in S500B and the S-CSCF entity in S500A are the same, both being S-CSCF entities in IMS network 301. In the communication scenario shown in FIG3B , the S-CSCF entity in S500B and the S-CSCF entity in S500A are different, one being an S-CSCF entity in IMS network 311 and the other being an S-CSCF entity in IMS network 312.

[0274] In the present application, the second policy information is used by the communication entity 202 to determine a protocol stack for establishing a data channel.

[0275] In one possible implementation, the operator configures the second policy information in the S-CSCF entity. After the communication entity 202 initiates a registration process with the communication network, the S-CSCF entity determines the second policy information and sends the second policy information to the communication entity 202.

[0276] Optionally, the second policy information corresponding to communication entities in the same communication network is the same, and the second policy information corresponding to communication entities in different communication networks may be the same or different.

[0277] In one possible design, the second policy information may indicate whether the data channel of the IMS session in which communication entity 202 participates adopts the first protocol stack or the second protocol stack. The data channel of the IMS session in which communication entity 202 participates includes ADC and / or BDC. In other words, the second policy information may indicate to communication entity 202 the protocol stack that communication entity 202 should adopt during subsequent data channel negotiation. In this way, communication entity 202 can determine the protocol stack for establishing the data channel based on the second policy information and the SDP proposal information.

[0278] Exemplarily, the communication entity 202 may adopt the policy shown in Table 19 to determine the protocol stack for establishing the data channel. For example, if the communication entity 201 proposes to adopt the first type of protocol stack to establish the data channel, and the protocol stack indicated by the second policy information is the first type of protocol stack, the communication entity 202 decides to adopt the first type of protocol stack to establish the data channel; if the communication entity 201 proposes to adopt the first type of protocol stack to establish the data channel, and the protocol stack indicated by the second policy information is the second type of protocol stack, the communication entity 202 decides to adopt the second type of protocol stack to establish the data channel; if the communication entity 201 proposes to adopt the second type of protocol stack to establish the data channel, and the protocol stack indicated by the second policy information is the first type of protocol stack, the communication entity 202 decides to adopt the second type of protocol stack to establish the data channel; if the communication entity 201 proposes to adopt the second type of protocol stack to establish the data channel, and the protocol stack indicated by the second policy information is the second type of protocol stack, the communication entity 202 decides to adopt the second type of protocol stack to establish the data channel.

[0279] Table 19

[0280] In one possible design, the second policy information is carried in a response message with a status code of 200 (e.g., a 200 OK message). It should be understood that, in addition to this approach, the 200 response message may also not carry the second policy information. In this case, communication entity 202 may default to using the first type of protocol stack for the data channel of the IMS session in which communication entity 202 participates. Of course, communication entity 202 may also default to using the second type of protocol stack for the data channel of the IMS session in which communication entity 202 participates.

[0281] It can be understood that the manner in which the second policy information indicates the protocol stack is similar to the manner in which the first policy information indicates the protocol stack. For details, reference may be made to the corresponding description in S500A above, and details will not be repeated here.

[0282] It should be understood that the S-CSCF entity may send the second policy information multiple times, and the protocol stack indicated by the second policy information sent each time may be different, so as to adjust the data channel protocol stack that the communication entity 202 should adopt when negotiating the data channel as needed.

[0283] It is understandable that the present application does not limit the execution order of S500A and S500B. For example, S500A may be executed first and then S500B, or S500B may be executed first and then S500A, or S500A and S500B may be executed simultaneously.

[0284] Among them, the actions of the S-CSCF entity or communication entity 201 or communication entity 202 in the above S500A and S500B can be executed by the processor 401 in the communication device 40 shown in Figure 4 calling the application code stored in the memory 403, and this application does not impose any restrictions on this.

[0285] It will be appreciated that the above description is based on the example of S500A and S500B being executed before S501. However, in specific applications, S500A or S500B may be executed independently of S501 and S502. In other words, the present application further provides a communication method, which may include S500A and / or S500B, for a network device in a communication network (such as an IMS network) to indicate to a terminal in the communication network the policy of the respective applicable data channel protocol stack.

[0286] To better understand the communication method provided by this application, the following describes the complete process of the communication method provided by this application using the communication scenario shown in Figure 3C as an example. It is understandable that the descriptions of the various features in the method shown in Figure 5, the method shown in Figure 6, the method shown in Figure 7 below, and the method shown in Figure 8 below can refer to each other.

[0287] First, the specific process of the network equipment in the communication network (such as the IMS network) indicating the policy of the data channel protocol stack applicable to each communication entity is introduced. It can be understood that the process of the network equipment indicating the policy of the data channel protocol stack to each communication entity is similar. For the convenience of description, this application takes the I / S-CSCF entity in the IMS network 311 indicating the policy of the data channel protocol stack to the terminal 313 as an example. Among them, the I / S-CSCF entity can be understood as having the functions of the I-CSCF entity and the S-CSCF entity. In the method shown in Figure 7, the operations performed by the I / S-CSCF entity can be understood as being performed by a module in the I / S-CSCF entity that has the S-CSCF function. The I / S-CSCF entity in the method shown in Figure 7 can be replaced by an S-CSCF entity.

[0288] As shown in FIG7 , another communication method provided by the present application may include the following steps:

[0289] S701: The terminal 313 sends a first registration request to the I / S-CSCF entity through the P-CSCF entity. Correspondingly, the I / S-CSCF entity receives the first registration request from the terminal 313 through the P-CSCF entity.

[0290] In this application, the first registration request may be used to request registration of the terminal 313 in the IMS network 311. Exemplarily, the first registration request includes information such as the IP multimedia private identity (IMPI) of the terminal 313 and the contact address of the user corresponding to the terminal 313.

[0291] Exemplarily, the terminal 313 initiates a registration process to the IMS network 311, and the first registration request it sends can be routed to the I / S-CSCF entity via the P-CSCF entity. In specific applications, the I-CSCF and S-CSCF can be deployed on different entities. In this case, the first registration request sent by the terminal 313 can be routed to the I-CSCF entity via the P-CSCF entity. After receiving the first registration request, the I-CSCF entity sends a user authorization request (user authorization request, UAR) to the HSS / UDM entity. The UAR is used to request the address of the S-CSCF entity. After receiving the UAR, the HSS / UDM entity sends a user authorization response (user authorization answer, UAA) to the I-CSCF entity. The UAR includes the address or capability set of the S-CSCF entity. After receiving the UAR, the I-CSCF entity determines the S-CSCF entity to which the first registration request is to be sent, and forwards the first registration request to the S-CSCF entity. It can be understood that if the UAR includes the address of the S-CSCF entity, the I-CSCF entity forwards the first registration request to the S-CSCF entity. If the UAR includes the capability set of the S-CSCF entity, the I-CSCF entity queries the capability set table of the local S-CSCF entity, selects an S-CSCF entity that meets the capability set requirements indicated by the UAR, and forwards the first registration request to the S-CSCF entity.

[0292] S702: The I / S-CSCF entity sends a multimedia authentication request (MAR) to the HSS / UDM entity. Correspondingly, the HSS / UDM entity receives the MAR from the I / S-CSCF entity.

[0293] In this application, MAR is used to request an authentication vector (AV).

[0294] S703: The HSS / UDM entity sends a multimedia authentication answer (MAA) to the I / S-CSCF entity. Correspondingly, the I / S-CSCF entity receives the MAA from the HSS / UDM entity.

[0295] In this application, MAA may include an authentication quintuple, for example, an expected response (XRES), a random challenge (RAND), an authentication token (AUTN), an integrity key (IK), and a cipher key (CK).

[0296] After receiving the MAA, the I / S-CSCF entity may save the XRES for subsequent verification of the user's authentication response.

[0297] S704: The I / S-CSCF entity sends a 401 response to the terminal 313 via the P-CSCF entity. Correspondingly, the terminal 313 receives the 401 response from the I / S-CSCF entity.

[0298] In this application, the 401 response may include RAND, AUTN, IK, and CK.

[0299] S705: The terminal 313 authenticates the AUTN according to the shared key stored in the local subscriber identity module (ISIM).

[0300] It can be understood that if the terminal 313 passes the AUTN authentication, it means that the 401 response comes from the user's real home network.

[0301] S706: The terminal 313 sends a second registration request to the I / S-CSCF entity via the P-CSCF entity. Correspondingly, the I / S-CSCF entity receives the second registration request from the terminal 313 via the P-CSCF entity.

[0302] In this application, the second registration request includes a response (RES) calculated by the terminal 313 based on the RAND.

[0303] S707 : The I / S-CSCF entity authenticates the terminal 313 .

[0304] It is understood that after receiving the second registration request, the I / S-CSCF entity compares the previously stored XRES with the RES included in the second registration request. If the two match, the I / S-CSCF entity determines that the terminal 313 has passed the network authentication and the I / S-CSCF entity executes S708.

[0305] S708: The I / S-CSCF entity sends a service assignment request (SAR) to the HSS / UDM entity. Correspondingly, the HSS / UDM entity receives the SAR from the I / S-CSCF entity.

[0306] In this application, SAR is used to request the subscription data of the terminal 313.

[0307] S709: The HSS / UDM entity sends a server assignment answer (SAA) to the I / S-CSCF entity. Correspondingly, the I / S-CSCF entity receives the SAA from the HSS / UDM entity.

[0308] In this application, SAA includes the subscription data of the terminal 313.

[0309] S710: The I / S-CSCF entity sends a 200 OK message to the terminal 313 via the P-CSCF entity. Correspondingly, the terminal 313 receives the 200 OK message from the I / S-CSCF entity.

[0310] The 200 OK message includes the subscription data of the terminal 313. The 200 OK message also includes the first policy information or the second policy information.

[0311] It is understandable that after receiving the 200OK message, the terminal 313 can negotiate the protocol stack of the data channel according to the first policy information or the second policy information.

[0312] The actions of the terminal 313 or the I / S-CSCF entity in the above S701-S710 may be executed by the processor 401 in the communication device 40 shown in FIG4 calling the application code stored in the memory 403, and this application does not impose any limitation on this.

[0313] Based on the method shown in Figure 7, after initiating the registration process, the terminal 313 can obtain the data channel protocol stack policy through the 200OK message of successful registration, so as to determine whether to propose the first type of protocol stack or the second type of protocol stack in the SDP proposal information according to the policy, or determine the protocol stack ultimately adopted by the data channel according to the policy and the proposal of the SDP proposer.

[0314] The method shown in FIG7 is a process in which the I / S-CSCF entity in IMS network 311 indicates the data channel protocol stack policy to terminal 313. It should be understood that the I / S-CSCF entity in IMS network 312 may also use logic similar to the method shown in FIG7 to indicate the data channel protocol stack policy to terminal 314. For details, please refer to the corresponding description in FIG7 and will not be repeated here.

[0315] As can be understood, after obtaining the data channel protocol stack policy, terminal 313 can negotiate whether the protocol stack of the data channel of the IMS session in which it participates includes the DTLS protocol. The following describes the specific process of negotiation between terminal 313 and the IMS AS in IMS network 312 to determine whether the protocol stack of data channel 317 includes the DTLS protocol, using terminal 313 as the SDP proposer and the IMS AS in IMS network 312 as the SDP responder as an example. Data channel 317 is either an ADC or a BDC.

[0316] As shown in FIG8 , another communication method provided by the present application may include the following steps:

[0317] S801: The terminal 313 obtains first policy information.

[0318] For the specific process of S801 , reference may be made to the corresponding description in S500A above, or the description in S701 to S710 .

[0319] S802: The terminal 313 sends a first invitation request to an IMS AS (hereinafter referred to as the first IMS AS) in the IMS network 311 according to the first policy information. Correspondingly, the first IMS AS receives the first invitation request from the terminal 313.

[0320] In this application, the first invitation request includes first SDP proposal information, indicating that terminal 313 proposes to establish (or negotiate) a data channel using the first or second protocol stack. For a detailed description of the first SDP proposal information, refer to the description of the SDP proposal information in the method shown in FIG. 5 or FIG. 6 . Optionally, the first SDP proposal information also includes audio and video media description information.

[0321] It can be understood that if the first policy information indicates that the data channel of the IMS session in which the terminal 313 participates adopts the first type of protocol stack, the terminal 313 indicates in the first SDP proposal information that the terminal 313 proposes to adopt the first type of protocol stack to establish the data channel 317, and the content included in the first SDP proposal information can be as shown in Table 20; if the first policy information indicates that the data channel of the IMS session in which the terminal 313 participates adopts the second type of protocol stack, the terminal 313 indicates in the first SDP proposal information that the terminal 313 proposes to adopt the second type of protocol stack to establish the data channel 317, and the content included in the first SDP proposal information can be as shown in Table 21.

[0322] Table 20

[0323] Table 21

[0324] In one possible implementation, the first invitation request sent by the terminal 313 is routed to the first IMS AS providing services for the terminal 313 via the IMS core (such as the P-CSCF entity and the I / S-CSCF entity in the IMS network 311 ).

[0325] S803: The first IMS AS sends a first notification message to a DCSF entity (hereinafter referred to as the first DCSF entity) in the IMS network 311. Correspondingly, the first DCSF entity receives the first notification message from the first IMS AS.

[0326] In this application, the first notification message may include a session and a media event.

[0327] S804: The first DCSF entity invokes the first IMS AS service to inform the first IMS AS of the processing strategy for the data channel 317.

[0328] Illustratively, after receiving the first notification message, the first DCSF entity may determine whether the terminal 313 can establish a data channel and a policy for establishing the data channel, so that the first IMS AS processes the SDP media description corresponding to the data channel in the first SDP proposal information according to the policy.

[0329] S805: The first IMS AS sends a second invitation request to an IMS AS (hereinafter referred to as the second IMS AS) in the IMS network 312. Correspondingly, the second IMS AS receives the second invitation request from the first IMS AS.

[0330] In this application, the second invitation request includes second SDP proposal information. The second SDP proposal information is the SDP proposal information obtained by the first IMS AS after processing the SDP media description corresponding to the data channel in the first SDP proposal information according to the above-mentioned policy. It is understood that the above-mentioned "a=dcmap:100subprotocol="http"" is information between terminal 313 and IMS network 312, so the second SDP proposal information includes "a=dcmap:100subprotocol="http"". It is understood that the first IMS AS's corresponding processing of the SDP media description corresponding to the data channel does not include modification of the data channel protocol stack.

[0331] In a possible implementation, the second invitation request sent by the first IMS AS is routed to the second IMS AS via the IMS core in the IMS network 311 and the IMS core in the IMS network 312 .

[0332] S806: The second IMS AS sends a second notification message to a DCSF entity (hereinafter referred to as the second DCSF entity) in the IMS network 312. Correspondingly, the second DCSF entity receives the second notification message from the second IMS AS.

[0333] In this application, the second notification message may include a session and a media event.

[0334] S807: The second DCSF entity invokes the second IMS AS service to inform the second IMS AS of the processing strategy of the data channel 318.

[0335] S808: The second IMS AS applies for corresponding data channel resources from the MF entity (hereinafter referred to as the second MF entity) in the IMS network 312 according to the processing policy of the data channel 318.

[0336] S809: The second IMS AS sends a third invitation request to the terminal 314. Correspondingly, the terminal 314 receives the third invitation request from the second IMS AS.

[0337] In this application, the third invitation request includes third SDP offer information. The third SDP offer information is obtained by the second IMS AS updating the second SDP offer information based on the requested data channel resources. It will be understood that the aforementioned "a=dcmap:100 subprotocol="http"" is information between terminal 313 and IMS network 312, so the third SDP offer information does not include "a=dcmap:100subprotocol="http"".

[0338] In a possible implementation, the third invitation request sent by the second IMS AS is routed to the terminal 314 via the IMS core in the IMS network 312 .

[0339] S810 : The terminal 314 sends a first 183 response to the second IMS AS. Correspondingly, the second IMS AS receives the first 183 response from the terminal 314 .

[0340] In the present application, the first 183 response includes first SDP answer information. The first SDP answer information is answer information of the third SDP proposal information.

[0341] It can be understood that after S810 , the data channel 318 is established (or negotiated) successfully.

[0342] In one possible implementation, the first 183 response sent by the terminal 314 is routed to the second IMS AS via the IMS core in the IMS network 312 .

[0343] S811: The second IMS AS sends a third notification message to the second DCSF entity. Correspondingly, the second DCSF entity receives the third notification message from the second IMS AS.

[0344] In this application, the third notification message may include session and media events.

[0345] S812: The second IMS AS determines the protocol stack of the data channel 317 according to the protocol stack indicated by the second SDP proposal information and the data channel protocol stack policy in the IMS network 312. For example, the second IMS AS determines to establish the data channel 317 using the second type of protocol stack.

[0346] In the present application, the data channel protocol stack policy in the IMS network 312 may be configured in the second IMS AS by the operator.

[0347] It is understandable that the process of the second IMS AS determining the protocol stack of the data channel 317 is similar to the process of the communication entity 202 determining the protocol stack of the data channel described in the method shown in Figure 5 or Figure 6. Please refer to the corresponding description above and will not be repeated here.

[0348] S813: The second IMS AS sends a second 183 response to the first IMS AS. Correspondingly, the first IMS AS receives the second 183 response from the second IMS AS.

[0349] In the present application, the second 183 response includes a second SDP response message, indicating that the second IMS AS has decided to use the second type protocol stack to establish the data channel 317. The second SDP response message may be an information response to the second SDP proposal message. For example, the second SDP response message may include the content shown in Table 22. For further description of the second SDP response message, refer to the description of the SDP response message in Figures 5 or 6.

[0350] Table 22

[0351] In a possible implementation, the second IMS AS sends the second 183 response, which may be routed to the first IMS AS via the IMS core in the IMS network 312 and the IMS core in the IMS network 311 .

[0352] S814: The first IMS AS sends a fourth notification message to the first DCSF entity. Correspondingly, the first DCSF entity receives the fourth notification message from the first IMS AS.

[0353] In this application, the fourth notification message may include session and media events.

[0354] S815: The first IMS AS sends a third 183 response to the terminal 313. Correspondingly, the terminal 313 receives the third 183 response from the first IMS AS.

[0355] In this application, the third 183 response includes third SDP answer information. The third SDP answer information is answer information of the first SDP proposal information.

[0356] After S815 , the SIP PRACK / 200 process may continue to be executed.

[0357] S816: The data channel 317 between the terminal 313 and the second MF entity is established. The protocol stack of the data channel 317 does not include the DTLS protocol.

[0358] After S816 , the SIP 180 / PRACK / 200 / ACK process can be completed. At this point, the IMS call is connected.

[0359] Based on the method shown in Figure 8 , terminal 313 and the second IMS AS can negotiate to establish data channel 317. During the negotiation process, they can discuss whether the protocol stack of data channel 317 includes the DTLS protocol. In the method shown in Figure 8 , the protocol stack of data channel 317 does not include the DTLS protocol. Therefore, data transmitted in data channel 317 does not need to be processed based on the DTLS protocol, which can reduce the number of encryptions, improve data transmission efficiency, and shorten data transmission latency.

[0360] It will be appreciated that the method shown in FIG8 is a process for negotiating between terminal 313 and the second IMS AS whether the protocol stack of data channel 317 includes the DTLS protocol. In specific applications, terminal 313 and the first IMS AS may also negotiate whether the protocol stack of the data channel includes the DTLS protocol. The first IMS AS and terminal 314 may also negotiate whether the protocol stack of the data channel includes the DTLS protocol. The second IMS AS and terminal 314 may also negotiate whether the protocol stack of the data channel includes the DTLS protocol. The above process is similar to the logic of the method shown in FIG8 and will not be further described.

[0361] The various embodiments mentioned above in this application can be combined without limitation if there is no contradiction between the solutions.

[0362] The above mainly introduces the solution provided by this application from the perspective of interaction between various entities. Accordingly, this application also provides a communication device, which can be the communication entity 201 in the above method embodiment, or a device including the above communication entity 201, or a component that can be used for the communication entity 201; or, the communication device can be the communication entity 202 in the above method embodiment, or a device including the above communication entity 202, or a component that can be used for the communication entity 202; or, the communication device can be the CSCF entity (such as an S-CSCF entity or an I / S-CSCF entity) in the above method embodiment, or a device including the above CSCF entity, or a component that can be used for the CSCF entity. It is understandable that in order to implement the above functions, the above communication entity 201, communication entity 202, or CSCF entity includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily appreciate that, in combination with the units and algorithmic operations of the various examples described in the embodiments disclosed herein, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians 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.

[0363] The present application may divide the communication entity 201, the communication entity 202, or the CSCF entity into functional modules based on the above-described method examples. For example, each functional module may be divided according to its function, or two or more functions may be integrated into a single processing module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules. It should be understood that the module division in the present application is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used.

[0364] For example, FIG9 illustrates a schematic diagram of the structure of a communication device 90, where the functional modules are divided in an integrated manner. Communication device 90 includes an interface module 901 and a processing module 902. Interface module 901, also known as an interface unit, is used to perform transceiver operations and may be, for example, an interface circuit, a transceiver, a transceiver, or a communication interface. Processing module 902, also known as a processing unit, is used to perform operations other than transceiver operations and may be, for example, a processing circuit or a processor.

[0365] In some embodiments, the communication device 90 may further include a storage module (not shown in FIG. 9 ) for storing program instructions and data.

[0366] Exemplarily, the communication device 90 is used to implement the functions of the communication entity 202. The communication device 90 is, for example, the communication entity 202 described in the embodiment shown in FIG5 or FIG6 , or the terminal 313 described in the embodiment shown in FIG7 , or the second IMS AS described in the embodiment shown in FIG8 .

[0367] Interface module 901 is configured to receive SDP proposal information from a second communication entity. The SDP proposal information indicates that the second communication entity proposes to establish a data channel using either the first or second protocol stack. The data channel is associated with an IMS session between communication device 90 and the second communication entity. The first protocol stack includes the DTLS protocol, while the second protocol stack does not. For example, interface module 901 may be configured to execute S501.

[0368] The processing module 902 is configured to send an SDP response message to the second communication entity via the interface module 901 according to the SDP proposal message. The SDP response message indicates that the communication device 90 has decided to use the second type of protocol stack to establish a data channel. For example, the processing module 902 can be configured to execute S502.

[0369] In one possible implementation, the first type of protocol stack is an SCTP / DTLS / UDP protocol stack or a UDP / DTLS / SCTP protocol stack, and the second type of protocol stack is an SCTP / UDP protocol stack or a UDP / SCTP protocol stack.

[0370] In a possible implementation, the SDP proposal information includes first indication information, where the first indication information indicates to use the first type of protocol stack or the second type of protocol stack to establish a data channel.

[0371] In a possible implementation manner, the SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

[0372] In one possible implementation, the first indication information indicates that a data channel is established using a first type of protocol stack, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, the first indication information indicates that a data channel is established using a second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0373] In a possible implementation, the SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

[0374] In a possible implementation manner, the SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

[0375] In a possible implementation, the second indication information is "UDP / SCTP" or "SCTP / UDP".

[0376] In a possible implementation, the interface module 901 is further configured to receive policy information from a call session control function entity, where the policy information is used by the communication device 90 to determine a protocol stack for establishing a data channel.

[0377] In one possible implementation, the policy information is carried in a response message with a status code of 200.

[0378] In one possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0379] In a possible implementation, the communication device 90 decides to adopt the second type of protocol stack to establish the data channel based on the first type of protocol stack or the second type of protocol stack proposed by the second communication entity and the policy information.

[0380] In one possible implementation, the data channel is an auxiliary data channel or an independent data channel.

[0381] When used to implement the functions of the communication entity 202, for other functions that the communication device 90 can implement, please refer to the embodiment shown in Figure 5, the embodiment shown in Figure 6, the embodiment shown in Figure 7 or the embodiment shown in Figure 8, and no further details will be given.

[0382] Alternatively, illustratively, the communication device 90 is used to implement the functions of the communication entity 201. The communication device 90 is, for example, the communication entity 201 in the embodiment shown in FIG5 or FIG6, or the terminal 313 in the embodiment shown in FIG7 or FIG8.

[0383] The interface module 901 is configured to send SDP proposal information to the first communication entity. The SDP proposal information indicates that the communication device 90 proposes to use the first type protocol stack or the second type protocol stack to establish a data channel, where the data channel is associated with the IMS session between the first communication entity and the communication device 90. The first type protocol stack includes the DTLS protocol, while the second type protocol stack does not include the DTLS protocol. For example, the interface module 901 can be configured to execute S501.

[0384] The interface module 901 is further configured to receive an SDP response message from the first communication entity, wherein the SDP response message indicates that the first communication entity has decided to use the second type of protocol stack to establish a data channel. For example, the interface module 901 may be configured to execute S502.

[0385] In a possible implementation, the first type of protocol stack is an SCTP / DTLS / UDP protocol stack or a UDP / DTLS / SCTP protocol stack, and the second type of protocol stack is an SCTP / UDP protocol stack or a UDP / SCTP protocol stack.

[0386] In a possible implementation, the SDP proposal information includes first indication information indicating that a first type of protocol stack or a second type of protocol stack is used to establish a data channel.

[0387] In a possible implementation, the SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

[0388] In one possible implementation, the first indication information indicates that a data channel is established using a first type of protocol stack, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, the first indication information indicates that a data channel is established using a second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0389] In a possible implementation, the SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

[0390] In a possible implementation, the SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

[0391] In a possible implementation, the second indication information is "UDP / SCTP" or "SCTP / UDP".

[0392] In a possible implementation, the interface module 901 is further configured to receive policy information from a call session control function entity, where the policy information is used by the communication device 90 to determine a proposed protocol stack for establishing a data channel.

[0393] In a possible implementation, the policy information is carried in a response message with a status code of 200.

[0394] In a possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0395] In a possible implementation, the data channel is an auxiliary data channel or an independent data channel.

[0396] When used to implement the functions of the communication entity 201, for other functions that the communication device 90 can implement, please refer to the embodiment shown in Figure 5, the embodiment shown in Figure 6, the embodiment shown in Figure 7 or the embodiment shown in Figure 8, and no further details will be given.

[0397] Alternatively, illustratively, the communication device 90 is used to implement the functions of a CSCF entity. The communication device 90 is, for example, the S-CSCF entity described in the embodiment shown in FIG6 or the I / S-CSCF entity described in the embodiment shown in FIG7.

[0398] The processing module 902 is configured to determine policy information. The policy information is used by the communication entity to determine a proposed protocol stack for establishing a data channel, or to determine a protocol stack for establishing a data channel associated with an IMS session in which the communication entity participates.

[0399] The interface module 901 is configured to send policy information to a communication entity. For example, the interface module 901 may be configured to execute S500A and / or S500B.

[0400] In a possible implementation, the policy information is carried in a response message with a status code of 200.

[0401] In a possible implementation, the policy information is included in the Feature-Caps field or the Contact field of the response message.

[0402] In a possible implementation, the data channel includes an auxiliary data channel and / or an independent data channel.

[0403] When used to implement the functions of the CSCF entity, for other functions that the communication device 90 can implement, reference can be made to the relevant introduction of the embodiment shown in FIG6 or the embodiment shown in FIG7 , and no further details will be given.

[0404] In a simple embodiment, those skilled in the art may conceive that the communication device 90 may be in the form shown in Figure 4. For example, the processor 401 in Figure 4 may call computer-executable instructions stored in the memory 403 to enable the communication device 90 to execute the method described in the above embodiment.

[0405] Exemplarily, the functions / implementation processes of the interface module 901 and the processing module 902 in FIG9 can be implemented by the processor 401 in FIG4 calling computer-executable instructions stored in the memory 403. Alternatively, the functions / implementation processes of the processing module 902 in FIG9 can be implemented by the processor 401 in FIG4 calling computer-executable instructions stored in the memory 403, and the functions / implementation processes of the interface module 901 in FIG9 can be implemented by the communication interface 404 in FIG4.

[0406] Exemplarily, the functions / implementation processes of the interface module 901 and the processing module 902 in FIG9 can be implemented by the processor 401 in FIG4 calling computer-executable instructions stored in the memory 403. Alternatively, the functions / implementation processes of the processing module 902 in FIG9 can be implemented by the processor 401 in FIG4 calling computer-executable instructions stored in the memory 403, and the functions / implementation processes of the interface module 901 in FIG9 can be implemented by the communication interface 404 in FIG4.

[0407] It is understandable that one or more of the above modules or units can be implemented by software, hardware or a combination of the two. When any of the above modules or units is implemented by software, the software exists in the form of computer program instructions and is stored in a memory, and a processor can be used to execute the program instructions and implement the above method flow. The processor can be built into an SoC (system on chip) or an ASIC, or it can be an independent semiconductor chip. In addition to the core used to execute software instructions to perform calculations or processing within the processor, it can further include necessary hardware accelerators, such as field programmable gate arrays (FPGAs), PLDs (programmable logic devices), or logic circuits that implement dedicated logic operations.

[0408] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, a microprocessor, a digital signal processing (DSP) chip, a microcontroller unit (MCU), an artificial intelligence processor, an ASIC, a SoC, an FPGA, a PLD, a dedicated digital circuit, a hardware accelerator or a non-integrated discrete device, which can run the necessary software or not rely on the software to execute the above method flow.

[0409] Optionally, the present application also provides a chip system, comprising: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instruction in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system also includes a memory. Optionally, the chip system can be composed of a chip, or can include a chip and other discrete devices, which is not specifically limited in this application.

[0410] Optionally, the present application also provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware. The program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device of any of the above-mentioned embodiments, such as a hard disk or memory of the communication device. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned communication device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above-mentioned communication device. Furthermore, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned communication device and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned communication device. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0411] Optionally, the present application also provides a computer program product. All or part of the processes in the above method embodiments may be completed by a computer program instructing related hardware. The program may be stored in the above computer program product, and when executed, the program may include the processes in the above method embodiments.

[0412] Optionally, the present application also provides a computer instruction. All or part of the process in the above method embodiment can be completed by the computer instruction to instruct related hardware (such as a computer, processor, communication entity or CSCF entity, etc.). The program can be stored in the above computer-readable storage medium or in the above computer program product.

[0413] Optionally, the present application also provides a communication system, including: at least two of the communication entity 201, the communication entity 202 and the CSCF entity in the above embodiment.

[0414] Optionally, the present application further provides a communication system, including: the terminal 313 in the above embodiment and a second IMS AS.

[0415] Optionally, the present application also provides a communication system, including: the above-mentioned terminal 313 and an I / S-CSCF entity.

[0416] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0417] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, 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.

[0418] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0419] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0420] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A communication method, characterized in that: The method comprises: Receiving session description protocol SDP proposal information, wherein the SDP proposal information indicates that the second communication entity proposes to use a first type of protocol stack or a second type of protocol stack to establish a data channel, wherein the data channel is associated with an Internet Protocol Multimedia Subsystem IMS session between the first communication entity and the second communication entity, wherein the first type of protocol stack includes a datagram transport layer security DTLS protocol, and the second type of protocol stack does not include a DTLS protocol; SDP response information is sent according to the SDP proposal information, and the SDP response information indicates that the first communication entity decides to adopt the second type of protocol stack to establish the data channel.

2. The method according to claim 1, characterized in that: The first type of protocol stack is a User Datagram Protocol UDP / DTLS / Stream Control Transmission Protocol SCTP protocol stack, and the second type of protocol stack is a UDP / SCTP protocol stack.

3. The method according to claim 1 or 2, characterized in that: The SDP proposal information includes first indication information, where the first indication information indicates that the data channel is established by using the first type of protocol stack or the second type of protocol stack.

4. The method according to claim 3, characterized in that: The SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

5. The method according to claim 3 or 4, characterized in that: The first indication information indicates that the data channel is established by using the first type of protocol stack, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, The first indication information indicates that the data channel is established by using the second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

6. The method according to any one of claims 1 to 5, characterized in that The SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

7. The method according to claim 6, characterized in that The SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

8. The method according to claim 6 or 7, characterized in that: The second indication information is "UDP / SCTP" or "SCTP / UDP".

9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: Policy information is received, where the policy information is used by the first communication entity to determine a protocol stack for establishing the data channel.

10. The method according to claim 9, characterized in that The policy information is carried in the response message with the status code 200.

11. The method according to claim 10, characterized in that The policy information is included in the Feature-Caps field or the Contact field of the response message.

12. The method according to any one of claims 9 to 11, characterized in that: The first communication entity decides to adopt the second type of protocol stack to establish the data channel according to the first type of protocol stack or the second type of protocol stack proposed by the second communication entity and the policy information.

13. The method according to any one of claims 1 to 12, characterized in that The data channel is an auxiliary data channel or an independent data channel.

14. A communication method, characterized in that: The method comprises: Sending a session description protocol SDP proposal information, wherein the SDP proposal information indicates that the second communication entity proposes to use a first type of protocol stack or a second type of protocol stack to establish a data channel, wherein the data channel is associated with an Internet Protocol Multimedia Subsystem IMS session between the first communication entity and the second communication entity, wherein the first type of protocol stack includes a datagram transport layer security DTLS protocol, and the second type of protocol stack does not include a DTLS protocol; SDP response information is received, where the SDP response information indicates that the first communication entity decides to use the second type of protocol stack to establish the data channel.

15. The method according to claim 14, characterized in that The first type of protocol stack is a User Datagram Protocol UDP / DTLS / Stream Control Transmission Protocol SCTP protocol stack, and the second type of protocol stack is a UDP / SCTP protocol stack.

16. The method according to claim 14 or 15, characterized in that The SDP proposal information includes first indication information, where the first indication information indicates that the data channel is established by using the first type of protocol stack or the second type of protocol stack.

17. The method according to claim 16, characterized in that The SDP proposal information includes m lines corresponding to the data channel, and the m lines include the first indication information.

18. The method according to claim 16 or 17, characterized in that The first indication information indicates that the data channel is established by using the first type of protocol stack, and the first indication information is "UDP / DTLS / SCTP" or "SCTP / DTLS / UDP"; or, The first indication information indicates that the data channel is established by using the second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

19. The method according to any one of claims 14 to 18, characterized in that The SDP response information includes second indication information, where the second indication information indicates a decision to adopt the second type of protocol stack to establish the data channel.

20. The method according to claim 19, characterized in that The SDP response information includes m lines corresponding to the data channel, and the m lines included in the SDP response information include the second indication information.

21. The method according to claim 19 or 20, characterized in that The second indication information is "UDP / SCTP" or "SCTP / UDP".

22. The method according to any one of claims 14 to 21, characterized in that The method further comprises: Policy information is received, where the policy information is used by the second communication entity to determine a proposed protocol stack for establishing the data channel.

23. The method according to claim 22, characterized in that The policy information is carried in the response message with the status code 200.

24. The method according to claim 23, characterized in that The policy information is included in the Feature-Caps field or the Contact field of the response message.

25. The method according to any one of claims 14 to 24, characterized in that The data channel is an auxiliary data channel or an independent data channel.

26. A communication method, characterized in that: The method comprises: determining policy information, the policy information being used by the communication entity to determine a proposed protocol stack for establishing a data channel, or being used by the communication entity to decide a protocol stack for establishing a data channel, the data channel being associated with an Internet Protocol Multimedia Subsystem (IMS) session in which the communication entity participates; The policy information is sent to .

27. The method according to claim 26, characterized in that The policy information is carried in the response message with the status code 200.

28. The method according to claim 27, characterized in that The policy information is included in the Feature-Caps field or the Contact field of the response message.

29. The method according to any one of claims 26 to 28, characterized in that The data channel includes an auxiliary data channel and / or an independent data channel.

30. A communication device, characterized in that: The method comprises a unit or module for executing the method according to any one of claims 1 to 13, or comprises a unit or module for executing the method according to any one of claims 14 to 25, or comprises a unit or module for executing the method according to any one of claims 26 to 29.

31. A communication device, characterized in that: include: A processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the device executes the method as claimed in any one of claims 1 to 13, or executes the method as claimed in any one of claims 14 to 25, or executes the method as claimed in any one of claims 26 to 29.

32. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instructions are executed, the computer performs the method according to any one of claims 1 to 13, or the method according to any one of claims 14 to 25, or the method according to any one of claims 26 to 29.

33. A computer program product, comprising computer program code, characterized in that: When the computer program code runs on a computer, the computer is enabled to implement the method of any one of claims 1 to 13, or the method of any one of claims 14 to 25, or the method of any one of claims 26 to 29.

34. A communication system, characterized in that: include: An apparatus for performing the method as claimed in any one of claims 1 to 13, and an apparatus for performing the method as claimed in any one of claims 14 to 25.

35. The communication system according to claim 34, characterized in that The communication system further comprises: an apparatus for executing the method as claimed in any one of claims 26 to 29.

Citation Information

Patent Citations

  • Communication method, device and communication system

    CN119728653A

  • Data transmission method, user equipment and control plane node

    CN112887975A

  • Communication method based on IMS data channel and equipment

    CN114079650A

  • A method of controlling a session related to a service

    US20180124126A1