Communication method, device and communication system

By negotiating the use of DTLS protocol in the IMS data channel, the problem of insufficient flexibility of the protocol stack in the prior art is solved, and efficient communication is achieved to adapt to different communication scenarios.

CN119728653APending Publication Date: 2025-03-28HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311287552.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The fixed protocol stack of existing IMS data channels cannot meet the diverse security needs of different communication scenarios and is less flexible.

Method used

By negotiating whether to include the DTLS protocol in the data channel of the IMS session, it allows flexible selection of the protocol stack in different communication scenarios, such as using the UDP/DTLS/SCTP protocol stack or the UDP/SCTP protocol stack.

Benefits of technology

It improves communication flexibility, can adapt to communication scenarios with different security needs, reduces unnecessary encryption times, improves data transmission efficiency and reduces the performance overhead of network equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728653A_ABST
    Figure CN119728653A_ABST
Patent Text Reader

Abstract

The invention provides a communication method and device and a communication system, and relates to the technical field of communication. In the method, a session description protocol (SDP) proposal party and an SDP responder can negotiate whether a protocol stack of a data channel of an IMS session in which the two parties participate comprises a datagram transport layer security (DTLS) protocol or not, so as to adapt to communication scenes with different security requirements and improve the flexibility of communication. Wherein the SDP proposal party is one terminal in the IMS session, and the SDP responder is another terminal in the IMS session, or the SDP proposal party is one terminal in the IMS session, and the SDP responder is network equipment in a communication network in which the IMS session is located, or the SDP proposal party is network equipment in the communication network in which 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

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a communication method, device and communication system. Background Art

[0002] 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 stream and / or video stream 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 the 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 (Ineternet Protocol) address and port, for example, Figure 1A shown.

[0003] In order to transmit data other than audio and video streams in the Internet Protocol Multimedia Subsystem (IMS) network, the 3rd Generation Partnership Project (3GPP) 16th version (release 16) introduced a data channel for the IMS network, called the IMS data channel (IMSDC). The IMS data channel can use a protocol stack similar to the WebRTC data channel, that is, SCTP superimposed on DTLS, and then superimposed on UDP as the bearer protocol. However, this fixed protocol stack will make the IMS data channel only meet a single security requirement and have poor flexibility. Summary of the invention

[0004] The present application provides a communication method, an apparatus, and a communication system, which 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.

[0005] In order to achieve the above purpose, the present application adopts the following technical solutions:

[0006] In a first aspect, a communication method is provided, which can be performed by a first communication entity; or, it can also be performed by a module applied to the first communication 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 functions of the first communication entity, without limitation. For ease of description, the following is an example of execution by the first communication entity. It can be understood that the first communication entity is a session description protocol (SDP) responder.

[0007] The method comprises: a first communication entity receives SDP proposal information from a second communication entity, and sends SDP response information to the second communication entity according to the SDP proposal information. 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, and the SDP response information indicates that the first communication entity decides to use the second type of 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 of protocol stack includes a datagram transport layer security DTLS protocol, and the second type of protocol stack does not include a DTLS protocol.

[0008] 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, for scenarios with high communication security requirements or requiring DTLS protocol encryption, the protocol stack of the data channel may include the DTLS protocol; for scenarios with low communication security requirements or not requiring DTLS protocol encryption, 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 the transmission efficiency of data, shorten the data transmission delay, and reduce the performance overhead of network equipment.

[0009] 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.

[0010] 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 the UDP encapsulation 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 the UDP encapsulation SCTP protocol stack or the SCTP / UDP protocol stack, which can be understood as a protocol stack of SCTP superimposed on UDP.

[0011] In a possible implementation manner, the SDP proposal information includes first indication information, where the first indication information indicates that the data channel is established by adopting the first type of protocol stack or the second type of protocol stack.

[0012] Based on the possible implementation manners described above, the first communication entity may determine, through the first indication information, that the first communication entity proposes to use the first type of protocol stack or the second type of protocol stack to establish a data channel.

[0013] 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.

[0014] Based on the above possible implementations, the first communication entity may determine that the first communication entity proposes to use the first type of protocol stack or the second type of protocol stack to establish the data channel 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.

[0015] In one possible implementation, the first indication information indicates that the data channel is established 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 using the second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0016] 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.

[0017] In a possible implementation manner, 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.

[0018] Based on the above possible implementation manner, the first communication entity may indicate to the second communication entity the protocol stack used to decide to establish the data channel through the second indication information included in the SDP response information.

[0019] 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.

[0020] Based on the above possible implementations, the first communication entity may indicate to the second communication entity the protocol stack used to establish 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.

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

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

[0023] 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.

[0024] Based on the above possible implementation manners, 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.

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

[0026] 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.

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

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

[0029] In a possible implementation manner, 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.

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

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

[0032] 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.

[0033] In a second aspect, a communication method is provided, which can be executed by a second communication entity; or, it can also be executed by a module applied to the second communication 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 functions of the second communication entity, without limitation. For ease of description, the following is an example of execution by the second communication entity. It can be understood that the second communication entity is the SDP proposer.

[0034] The method comprises: a second communication entity sends SDP proposal information to a first communication entity, and receives SDP response information from the first communication entity. 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, and the SDP response information indicates that the first communication entity decides to use the second type of 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 of protocol stack includes a datagram transport layer security DTLS protocol, and the second type of protocol stack does not include a DTLS protocol.

[0035] 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 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, and 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, which can reduce the number of encryption times. Therefore, the method provided in the second aspect above can also improve the transmission efficiency of data, shorten the data transmission delay, and reduce the performance overhead of network equipment.

[0036] 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.

[0037] 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 the UDP encapsulation 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 the UDP encapsulation SCTP protocol stack, or the SCTP / UDP protocol stack, which can be understood as a protocol stack of SCTP superimposed on UDP.

[0038] In a possible implementation manner, the SDP proposal information includes first indication information, where the first indication information indicates that the data channel is established by adopting the first type of protocol stack or the second type of protocol stack.

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

[0040] 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.

[0041] 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 of protocol stack or the second type of 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.

[0042] In one possible implementation, the first indication information indicates that the data channel is established 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 using the second type of protocol stack, and the first indication information is "UDP / SCTP" or "SCTP / UDP".

[0043] 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".

[0044] In a possible implementation manner, 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.

[0045] 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.

[0046] 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.

[0047] 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 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 can be included in the SDP media description included in the SDP response information.

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

[0049] 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 a data channel.

[0050] 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.

[0051] Based on the possible implementation manners described above, the second communication entity may determine, according to the 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.

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

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

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

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

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

[0057] 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.

[0058] 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 a 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 is an example of execution by a CSCF entity. Exemplarily, the CSCF entity can specifically be a serving CSCF (S-CSCF) entity. The method includes: determining policy information, the policy information is used by a communication entity to determine a proposed protocol stack for establishing a data channel, or used by a communication entity to determine a protocol stack for establishing a data channel, and the data channel is associated with an IMS session in which the communication entity participates; sending the policy information to the communication entity.

[0059] Based on the method provided in the third aspect above, the CSCF entity can send the above 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.

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

[0061] Based on the above possible implementation manner, 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.

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

[0063] Based on the possible implementation manner described above, the CSCF entity may send the policy information described above through the Feature-Caps field or the Contact field included in the response message with the status code of 200.

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

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

[0066] In a fourth aspect, a communication device is provided for implementing the above method. The communication device may be the first communication entity in the above first aspect, or a device including the above first communication entity, or a module in the first communication entity in the above 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 in the above second aspect, or a device including the above second communication entity, or a module in the second communication entity in the above 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 in the above third aspect, or a device including the above CSCF entity, or a module in the CSCF entity in the above 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. The communication device includes a module, unit, or means corresponding to the implementation of the above method, and the module, unit, or means may be implemented by hardware, software, or by hardware executing the corresponding software implementation. The hardware or software includes one or more modules or units corresponding to the above functions.

[0067] In conjunction with the fourth aspect, in a possible implementation, the communication device may include a processing module and an interface module. The processing module may be used to implement the processing function in any of the above aspects and any possible implementation thereof. The processing module may be, for example, a processor. The interface module, which may also be referred to as an interface unit, is used to implement the sending and / or receiving functions in any of the above aspects and any possible implementation thereof. The interface module may be composed of an interface circuit, a transceiver, a transceiver or a communication interface.

[0068] 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.

[0069] In a fifth aspect, a communication device is provided, comprising: a processor; the processor is coupled to a memory, and after reading an instruction in the memory, executes the method as described in any one of the above aspects according to the instruction. The communication device may be the first communication entity in the above first aspect, or a device including the above first communication entity, or a module in the first communication entity in the above 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 functions of the first communication entity; or the communication device may be the second communication entity in the above second aspect, or a device including the above second communication entity, or a module in the second communication entity in the above 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 functions of the second communication entity; or the communication device may be the CSCF entity in the above third aspect, or a device including the above CSCF entity, or a module in the CSCF entity in the above 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 functions of the CSCF entity.

[0070] In conjunction with the fifth aspect, in a possible implementation, the communication device further includes a memory, the memory being used to store program instructions and data. Optionally, the memory is integrated with the processor; or, the memory is independent of the processor.

[0071] In conjunction with the fifth aspect, in a 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 it can include a chip and other discrete devices.

[0072] In a sixth aspect, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is used to receive a computer program or instruction and transmit it to the processor; the processor is used to execute the computer program or instruction so that the communication device executes the method as described in any of the above aspects. The communication device can be the first communication entity in the above first aspect, or a device including the above first communication entity, or a module in the first communication entity in the above 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 realize part or all of the functions of the first communication entity; or, the communication device can be the second communication entity in the above second aspect, or a device including the above second communication entity, or a module in the second communication entity in the above 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 realize part or all of the functions of the second communication entity; or, the communication device can be the CSCF entity in the above third aspect, or a device including the above CSCF entity, or a module in the CSCF entity in the above 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 realize part or all of the functions of the CSCF entity.

[0073] In conjunction with the sixth aspect, in a 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 it can include a chip and other discrete devices.

[0074] In a seventh aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and 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.

[0075] 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.

[0076] In a ninth aspect, a communication system is provided, comprising 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.

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

[0078] Among them, the technical effects brought about by any possible implementation method in the fourth to ninth aspects can refer 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.

[0079] It can be understood that, under the premise that the solutions are not contradictory, the solutions in each aspect can be combined. BRIEF DESCRIPTION OF THE DRAWINGS

[0080] Figure 1A This is a schematic diagram of the protocol stack used in WebRTC;

[0081] Figure 1B is a schematic diagram of an IMS session;

[0082] Figure 1C Schematic diagram 1 of the protocol stack of the IMS session provided for this application;

[0083] Figure 1D Schematic diagram of the protocol stack for the IMS session provided in this application Figure 2 ;

[0084] Figure 2 A schematic diagram of the communication system architecture provided for this application;

[0085] Figure 3A Schematic diagram 1 of the communication scenario provided for this application;

[0086] Figure 3B Schematic diagram 1 of the data channel provided for this application;

[0087] Figure 3C Schematic diagram of the communication scenario provided for this application Figure 2 ;

[0088] Figure 3D Schematic diagram of the data channel provided for this application Figure 2 ;

[0089] Figure 4 A schematic diagram of the hardware structure of the communication device provided in this application;

[0090] Figure 5 Flow chart 1 of the communication method provided in this application;

[0091] Figure 6 Schematic diagram of the communication method provided in this application Figure 2 ;

[0092] Figure 7 Flowchart 3 of the communication method provided for this application;

[0093] Figure 8 Schematic diagram of the communication method provided in this application Figure 4 ;

[0094] Fig. 9 A schematic diagram of the structure of the communication device provided in this application. DETAILED DESCRIPTION

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

[0096] 1. Terminal

[0097] The terminal described in the present application, such as the terminal 302, terminal 303, terminal 313 or terminal 314 in the following embodiments, can be called 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, etc., which is a device with wireless or wired communication capabilities. For example, the terminal can be connected to a wireless access device through an air interface, or the terminal can be connected to a wired access device through a wired interface. From the product form, the terminal can include a handheld device, a vehicle-mounted device, a wearable device or a computing device with communication functions. Exemplarily, the terminal may be a mobile phone, a tablet computer, a computer with a 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 a 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 (3rd generation partnership project) UE defined in the 3GPP (3rd Generation Partnership Project) standard specifications, etc., are not restricted.

[0098] 2. Call service

[0099] The call service described in this application refers to the service of voice calls or video calls between one or more terminals through a communication network (such as an IMS network) in which a terminal participates as a caller or a called party. The IMS network is an open system based on IP bearer and provides users with various multimedia services.

[0100] In this application, the call service can cover the entire process from the start of dialing to the end of the call, or it can cover part of the process from the start of dialing to the end of the call, such as the process from the parties involved in the call service entering the call state to the end of the call. The call service can be a one-to-one call service or a one-to-many (such as a conference) call service; this application takes a one-to-one call service as an example, but the relevant solutions can be used for one-to-many call services.

[0101] 3. IMS session

[0102] 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 a terminal and a 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.

[0103] It can be understood that one call service may 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; or, 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.

[0104] It is understandable that in order to transmit various types of data, a channel for transmitting the corresponding type of data may be established in the IMS session. Exemplarily, according to the data type, the channel may be divided into a media channel and a data channel. In some scenarios, the media channel may be further divided into an audio channel and a video channel. For example, in Figure 1B In the example, terminal 1 and terminal 2 can communicate via an 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 This is only an example of an IMS session. In a specific application, 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 and a data channel, without limitation.

[0105] 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.

[0106] 4. Data Channel

[0107] 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 are 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.

[0108] Exemplarily, according to the relationship between the data channel and the audio / video call, the data channel of the embodiment of the present application can be divided into at least the following types.

[0109] (1) During an IMS session, when the terminal has an audio or video call with another session participant (which can be another terminal or a network element), there is also a data channel. The data channel at this time can be called an auxiliary data channel or a dependent data channel.

[0110] (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.

[0111] Whether it is an auxiliary data channel or an independent data channel, it can be used to transmit any type of application data between session participants. Exemplarily, the uses of the data channel in the embodiments of the present application or the types of data that can be transmitted include at least the following.

[0112] Exemplarily, the application data transmitted by the data channel may be interactive application data (interactive data for short); the interactive application data may be application data used to support interactive operations (such as 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), or application data generated by executing the interactive operation (such as control instructions, control signals or output files generated after the conversation participants perform interactive operations, such as the number of "Likes" and the amount in a "Red Envelope"); or 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 collected by a microphone, text, symbols or emoticons input by a keyboard, data generated by actions such as clicking / sliding on a touch screen.

[0113] 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; the communication enhancement data may be data generated based on the content of the audio call / video call, such as converting the voice in the audio call / video call into text, or converting the sign language in the video call into text or voice, or it may be data superimposed on the audio call / video call, such as AR special effects pictures, etc., or it may be data independent of the audio call / video call, such as geographic location data, screen sharing data, etc.

[0114] 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 can be understood that in the above case, the data channel may also be used to transmit the remote control command.

[0115] Exemplarily, the application transmitted by the data channel may be an application installation package, executable code or script. The application may be an interactive enhanced application or a communication enhanced application for enhancing the interactive effect / communication effect of traditional voice calls / video calls. It may also be a remote control application / IoT communication application, which is not limited to the embodiments of the present application.

[0116] For example, according to different uses, the auxiliary data channel or independent data channel can be divided into: bootstrap data channel (BDC) and application data channel (ADC). In this application, BDC is used for the terminal to obtain the application from the data channel server (DCS). ADC is used to transmit application data.

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

[0118] Exemplarily, the SDP offerer and the SDP answerer determine the IP address and port used by both parties to transmit data, the relevant information of the protocol stack of the data channel, and the media information corresponding to the data channel through the SIP / SDP media negotiation process, 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.

[0119] It is understandable that the SDP offerer and the SDP answerer can negotiate BDC and ADC based on the SIP / SDP media negotiation process, obtain one or more applications from the DCS through the BDC, run the application before, during or after the call, and transmit the application data through the ADC, so that the user can experience richer real-time interactive services in addition to voice calls, video calls and texts. It should be understood that the SDP offerer and the SDP answerer can negotiate BDC and ADC at the same time, or negotiate BDC first and then negotiate ADC, without limitation.

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

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

[0122] 5. IMS session protocol stack

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

[0124] exist Figure 1C In the , the bottom layer protocol of audio channel, video channel and data channel is Internet Protocol (IP), and above IP is UDP. For the above channels, the protocols above UDP are different, which are explained below. For audio channel or video channel, above UDP is real-time transport protocol (RTP) or RTP control protocol (RTCP), RTP can encapsulate voice, video or text payload, above which is conversational multimedia application, and above RTCP is also conversational multimedia application. For data channel, above UDP is DTLS protocol, above DTLS protocol is SCTP, above SCTP is data channel, and above data channel is conversational multimedia application.

[0125] 6. Data channel protocol stack

[0126] pass Figure 1C It can be seen that the protocol stack of the data channel is based on UDP encapsulation SCTP over DTLS protocol stack.

[0127] Among them, SCTP is a transport layer protocol widely used in telecommunication networks. It can meet different transmission requirements through configuration, so it has more advantages than other transport layer protocols. For example, as shown in Table 1, it is a capability comparison table of transmission control protocol (TCP), UDP and SCTP. It can be seen from Table 1 that the reliability and delivery mode of SCTP are configurable, and SCTP also supports flow control and congestion control. Therefore, the data transmitted in the data channel can meet different transmission requirements by configuring the reliability and / or delivery mode of SCTP. For example, if the real-time requirement is high and it is very sensitive to packet loss, the data channel can be configured through SCTP to support the ordered reliable mode. In some scenarios, flow control and / or congestion control can also be superimposed to further ensure the transmission quality of data. The DTLS protocol can provide confidentiality and integrity protection for data transmission, and provide a two-way authentication mechanism for both communicating parties to ensure the secure transmission of data. UDP can be applied to a variety of networks, so the use of UDP to encapsulate messages can enable the messages to be transmitted in these networks and can be recognized by devices in the network, such as routers, NAT devices, etc. Therefore, the data channel uses SCTP to superimpose the DTLS protocol, and then superimposes UDP as the bearer protocol.

[0128] Table 1

[0129] TCP UDP SCTP reliability reliable Unreliable Configurable Delivery method Ordered delivery Out-of-order transmission Configurable Transmission method Byte transfer Transmit by message Transmit by message Flow Control support Not supported support Congestion Control support Not supported support

[0130] Optionally, in addition to SCTP, DTLS and UDP, the data channel can use NAT traversal technology to allow both parties to know each other's IP address and port. For example, ICE can integrate two mechanisms, session traversal utilities for NAT (STUN) and traversal using relays around NAT (TURN), to allow both parties to know each other's IP address and port.

[0131] It should be understood that in specific applications, there are many technologies for implementing NAT traversal, and ICE is only one of them. Therefore, ICE can also be replaced by other NAT traversal technologies without limitation. In addition, SCTP or UDP is only a protocol suitable for data channels and can also be replaced by other protocols. For example, SCTP can be replaced by quick UDP internet connection (QUIC).

[0132] From the above introduction, we can see that the protocol stack of the data channel includes the DTLS protocol, which has the function of encrypting the data in the data channel at the transport layer. The data transmitted in the data channel is usually user plane data, which is transmitted through Figure 1C The protocol stack shown in the figure can be encapsulated to obtain an IP data packet, which is also encapsulated by the packet data convergence protocol (PDCP) when transmitted between the terminal and the base station. PDCP also supports encrypted transmission of data. It can be seen that during the data transmission process, the data is at least encrypted by the DTLS protocol and the PDCP, that is, repeated encryption occurs.

[0133] 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. The protocol stack is mainly an extension of the protocol stack for the data channel. Specifically, it can be as follows Figure 1D As shown. Figure 1D In the audio channel or video channel protocol stack and Figure 1C The protocol stacks of the audio channel and the video channel are the same. 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. Figure 1C compared to, Figure 1D The protocol stack of the data channel shown omits the DTLS protocol. That is, 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 that require DTLS protocol encryption and scenarios that do not require DTLS protocol encryption, which can improve the flexibility of communication.

[0134] Optional, for Figure 1D In the protocol stack of the data channel shown in the figure, in addition to SCTP and UDP, the data channel can also use NAT traversal technology to allow the communicating parties to perceive each other's IP address and port. For example, ICE can integrate the STUN and TURN mechanisms to allow the communicating parties to perceive each other's IP address and port.

[0135] It should be understood that in specific applications, there are many technologies for implementing NAT traversal, and ICE is only one of them. Therefore, ICE can also be replaced by other NAT traversal technologies without limitation. In addition, SCTP or UDP is only a protocol suitable for data channels and can also be replaced by other protocols. For example, SCTP can be replaced by QUIC.

[0136] To summarize, 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 finally 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 described in the following Figures 5 to 8 The method is described in detail in the figure and will not be repeated here.

[0137] 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 following is Figure 2 Taking the communication system 20 as an example, the method provided in the present application is described. Figure 2 It is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided in this application.

[0138] like Figure 2 , which is a schematic diagram of the architecture of the communication system 20 provided in this application. Figure 2 In the embodiment, 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 through an IMS network.

[0139] Exemplarily, communication entity 201 and communication entity 202 are respectively the SDP proposer and the SDP responder, and can negotiate whether the protocol stack of the data channel of the IMS session in which the two participate includes the DTLS protocol. The IMS session in which communication entity 201 and communication entity 202 participate can be understood as the communication entity 201 and communication entity 202 can communicate through the IMS session. 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 session in the IMS session.

[0140] 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. Figure 3A and Figure 3C Take this as an example for introduction.

[0141] Figure 3A and Figure 3C A schematic diagram of a communication scenario provided for this application. Figure 3A The figure shows a communication scenario when the calling terminal and the called terminal are in the same IMS network. Figure 3C The figure shows a communication scenario when the calling terminal and the called terminal are in different IMS networks.

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

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

[0144] The CSCF entity is a functional entity within the IMS and is the core of the entire IMS. It is mainly responsible for processing signaling control during multimedia call sessions. It can manage IMS user authentication, IMS bearer quality of service (QoS), cooperate with other network elements to control SIP sessions, as well as service negotiation and resource allocation. According to different functions, the CSCF entity can be divided into proxy CSCF (P-CSCF) entity, interrogating CSCF (I-CSCF) entity, serving CSCF (S-CSCF) entity, etc. Figure 3A It is shown that the I-CSCF and the S-CSCF are deployed on the same entity, and the P-CSCF is deployed on an entity separately. In specific applications, the deployment methods of the I-CSCF, S-CSCF, and P-CSCF are not limited. For example, the I-CSCF, S-CSCF, and P-CSCF can be deployed on different entities separately, or at least two of the I-CSCF, S-CSCF, and P-CSCF can be deployed on the same entity.

[0145] It can be understood that the communication system 20 can be applied to Figure 3A For example, communication entity 201 is terminal 302, communication entity 202 is terminal 303, and terminals 302 and 303 can negotiate whether the protocol stack of the data channel in the IMS session in which terminals 302 and 303 participate includes the DTLS protocol. Figure 3BThe data channel 304 between the terminal 302 and the terminal 303 shown in the figure; or, the communication entity 201 is the terminal 302, the communication entity 202 is the IMS AS (or DCSF entity), 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, Figure 3B Alternatively, the communication entity 201 is the terminal 303, the communication entity 202 is the IMS AS (or DCSF entity), 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 AS (or DCSF entity) participate includes the DTLS protocol, and the data channel is, for example, Figure 3B A data channel 306 between the terminal 303 and the MF is shown.

[0146] exist Figure 3C In the example, terminal 313 and terminal 314 can communicate through IMS network 311 and IMS network 312, one of which is a call origination network and the other is a call termination network. For example, if terminal 313 is a calling terminal and terminal 314 is a called terminal, IMS network 311 is a call origination network and IMS network 312 is a call termination network; if terminal 313 is a called terminal and terminal 314 is a calling terminal, IMS network 311 is a call termination network and IMS network 312 is a call origination network. The entities included in the IMS network 311 and the IMS network 312 are similar. For example, the IMS network 311 or the IMS network 312 includes a DC AS, a NEF entity and a DCS connected to the DC AS, an HSS / UDM entity and an IMS AS connected to the DCS, a CSCF entity connected to the IMS AS, an IMS-AGW and an interconnection border control function (IBCF) entity connected to the CSCF entity, and a transition gateway (TrGW) connected to the IMS-AGW. For an introduction to the DCS and CSCF entities, please refer to Figure 3A The corresponding description in .

[0147] It can be understood that the communication system 20 can be applied to Figure 3CFor example, communication entity 201 is terminal 313, communication entity 202 is terminal 314, and terminals 313 and 314 can negotiate whether the protocol stack of the data channel in the IMS session in which terminals 313 and 314 participate includes the DTLS protocol. Figure 3D The data channel 315 between the terminal 313 and the terminal 314 shown in the figure; or, the communication entity 201 is the terminal 313, and the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 311. The terminal 313 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 313 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. The data channel is, for example, Figure 3D The data channel 316 between the terminal 313 and the MF in the IMS network 311 shown in the figure; or, the communication entity 201 is the terminal 313, and the communication entity 202 is the IMS AS (or DCSF entity) in the IMS network 312. The terminal 313 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 313 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. The data channel is, for example, Figure 3D The data channel 317 between the terminal 313 and the MF in the IMS network 312 shown; or, 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) can negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 314 and the IMS AS (or DCSF entity) participate includes the DTLS protocol, and the data channel is, for example, Figure 3D The data channel 318 between the terminal 314 and the MF in the IMS network 312 shown in the figure; or, the communication entity 201 is the terminal 314, and 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) can negotiate whether the protocol stack of the data channel in the IMS session in which the terminal 314 and the IMS AS (or DCSF entity) participate includes the DTLS protocol. The data channel is, for example, Figure 3D A data channel 319 is shown between the terminal 314 and the MF in the IMS network 311 .

[0148] In order to more clearly understand the communication scenario provided by this application, Figure 3A and Figure 3C The functions of various entities are explained in detail.

[0149] DC AS can be used to provide data channel business logic. Figure 3Aor Figure 3C In the present invention, DC AS is deployed in the IMS network and can be directly connected to other entities in the IMS network through interfaces (such as service-oriented interfaces). In specific applications, DC AS can also be deployed outside the IMS network instead of in the IMS network, and connected to other network elements in the IMS network through NEF entities (or IMS border network management).

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

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

[0152] DCAR can be used to store data channel applications. For example, after the developer completes the development of the data channel application, it is uploaded to the operator's DCS, and then saved to DCAR by DCS. When needed, DCS downloads the data channel application from DCAR to the local for subsequent processing.

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

[0154] IMS AS is the topmost application layer device in the IMS network, providing basic services and supplementary services, such as multimedia conferencing, converged communications, SMS gateway, standard switchboard and other services. IMS AS can interact with CSCF entities to trigger and execute various network services. IMS AS can negotiate data channels with terminals. Exemplarily, IMS AS can be a multiMedia telephony application server (MMTEL AS) or a telephony application server (TAS).

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

[0156] The S-CSCF entity may be responsible for the registration, authentication, session, routing and service triggering of IMS users.

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

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

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

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

[0161] The TrGW entity can realize media intercommunication, topology hiding and IP security protection functions of voice, video and multimedia services, and also supports functions such as voice codec format conversion.

[0162] It should be understood that Figure 3A or Figure 3C The communication scenarios to which the method provided in the present application can be applied are only examples. 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, including Figure 3A or Figure 3C More or fewer entities, without limitation.

[0163] Understandably, Figure 2 The communication system 20 shown is only used as an example and is not used to limit the technical solution of the present application. Those skilled in the art should understand that in the specific implementation process, the communication system 20 may also include other devices, and the number of communication entities may also be determined according to specific needs without limitation.

[0164] Optional, this application Figure 2 Each communication entity in the communication device may also be referred to as a communication apparatus, which may be a general device or a dedicated device, and this application does not make any specific limitation on this.

[0165] Optional, this application Figure 2 The relevant functions of the communication entity in the communication entity can be implemented by one device, or by multiple devices together, or by one or more functional modules in one device, and this application does not make specific restrictions on this. It can be understood that the above functions can be network elements in hardware devices, or 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).

[0166] In the specific implementation, Figure 2 The communication entities shown can all use Figure 4 The structure shown, or including Figure 4 Parts shown. Figure 4The hardware structure diagram of the communication device applicable to the present application is shown. 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 by the present application. The communication device 40 may also include a communication line 402 and a memory 403.

[0167] 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.

[0168] The communication link 402 may include a path to transmit information between the above-mentioned components, such as a bus.

[0169] The communication interface 404 is used to communicate with other devices or communication networks. The 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.

[0170] 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 disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of an instruction or data structure 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 the present application may generally be non-volatile.

[0171] Among them, the memory 403 is used to store the computer execution instructions involved in executing the solution provided by this application, and the execution is controlled by the processor 401. The processor 401 is used to execute the computer execution instructions stored in the memory 403, so as to implement the method provided by this application. Alternatively, optionally, in this application, the processor 401 may also perform the processing-related functions in 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.

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

[0173] 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.

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

[0175] As an embodiment, the communication device 40 may include multiple processors, such as Figure 4 401 and processor 407 in the embodiment of the present invention. Each of these processors may be a single-CPU processor or a 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).

[0176] 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 may 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 may be a mouse, a keyboard, a touch screen device, or a sensor device.

[0177] Understandably, Figure 4 The structure shown in the figure does not constitute a limitation on the communication device, except Figure 4 In addition to the components shown, the communication device may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0178] The method provided by the present application will be described below in conjunction with the accompanying drawings. Each network element in the following embodiments may have Figure 4 The parts shown are not described in detail.

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

[0180] It is understandable that the "connection" in this application can be a direct connection or an indirect connection; in addition, it can refer to an electrical connection or a communication connection. For example, the connection between two electrical components A and B 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 connection media, so that electrical signals can be transmitted between A and B; for another example, the connection between two devices A and B 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 communication media, so that A and B can communicate.

[0181] 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 any specific limitations on this.

[0182] 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.

[0183] It is understandable that in the present application, " / " can indicate that the objects associated with each other are in an "or" relationship, for example, A / B can indicate 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 indicate: 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.

[0184] In order to facilitate the description of the technical solution 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, and 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 designs. The use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0185] 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 various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution, and 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.

[0186] It can be understood that in the present application, "when...", "in the case of...", "if" and "if" all mean that corresponding processing will be taken under certain objective circumstances, but do not limit the time, nor do they require any judgment action when implementing them, nor do they mean the existence of other limitations.

[0187] The term “simultaneously” in the present application may be understood as at the same time point, within a period of time, or within the same cycle.

[0188] In this application, unless otherwise specified, "multiple" can be understood as two or more than two. For example, multiple terminals can be understood as two or more than two terminals.

[0189] It is understandable that some optional features in this application may be implemented independently in some scenarios without relying on other features, such as the solution on which it is currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features according to needs in some scenarios. Accordingly, the device provided in this application may also realize these features or functions accordingly, which will not be elaborated here.

[0190] It can be understood that the same step or steps or technical features with the same functions in different embodiments of the present application can be referenced to each other.

[0191] Below Figure 2 The communication entity 201 shown is an SDP proposer, and the communication entity 202 is an SDP responder, which is used as an example to introduce the communication method provided in the present application.

[0192] It is understandable that in the present application, the communication entity 201 and / or the communication entity 202 may perform some or all of the steps in the present application, and these steps are only examples, and the present application may also perform other steps or variations of various steps. In addition, the various steps may be performed in different orders presented in the present application, and it may not be necessary to perform all of the steps in the present application.

[0193] It is understandable that the method provided below in this application takes communication entity 201 and communication entity 202 as the execution subject of the interaction diagram as an example to illustrate the method, but this application does not limit the execution subject 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 embodiment of this application may also be a chip, chip system, or processor that supports the communication entity to implement the method, or may be a logical node, logical module, or software that can implement all or part of the functions of the communication entity.

[0194] like Figure 5 As shown, a communication method provided by the present application may include the following steps:

[0195] 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 .

[0196] In the present application, the SDP proposal information may indicate that the communication entity 201 proposes (offers) to establish (or negotiate) a data channel using a first type of protocol stack or a second type of protocol stack.

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

[0198] 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 data channels 304 to 306, or one of the data channels 315 to 319. For details, please refer to the above Figure 3B or Figure 3D The corresponding description in is not repeated here.

[0199] It is understandable that the present application does not limit the number and / or type of data channels that the communication entity 201 indicated in the SDP proposal information proposes to establish using the first type of protocol stack or the second type of protocol stack. For example, the SDP proposal information indicates that the communication entity 201 proposes to establish data channel 1 using the first type of protocol stack or the second type of protocol stack, and 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 of protocol stack or the second type of protocol stack, wherein 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.

[0200] 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.

[0201] For example, the first type of protocol stack is a protocol stack of SCTP superimposed on DTLS protocol superimposed on UDP, which can be recorded as UDP / DTLS / SCTP protocol stack, or SCTP / DTLS / UDP protocol stack, or SCTP over DTLS over UDP protocol stack, or SCTP over DTLS protocol stack based on UDP encapsulation, etc. The second type of protocol stack is a protocol stack of SCTP superimposed on UDP, which can be recorded as UDP / SCTP protocol stack, or SCTP / UDP protocol stack, or SCTP over UDP protocol stack, or SCTP protocol stack based on UDP encapsulation.

[0202] In a possible design, the SDP proposal information includes first indication information, and the first indication information indicates that a data channel is established using a first type of protocol stack or a second type of protocol stack. For example, the SDP proposal information includes a first SDP media description corresponding to the above data channel, and the first SDP media description includes an m-line. The m-line can be used to indicate relevant information for the communication entity 201 to establish a data channel. For example, the m-line includes the first indication information.

[0203] 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 takes the first indication information as "UDP / DTLS / SCTP" or "UDP / SCTP" as an example. 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.

[0204] 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.

[0205] The contents of the SDP proposal information are described below.

[0206] As an example, if the SDP proposal information indicates that the communication entity 201 proposes to use the first type of protocol stack to establish a data channel, the content included in the SDP proposal information may be as shown in Table 2-1. In Table 2-1, the first SDP media description includes content from "m = application 52718UDP / DTLS / SCTP webrtc-datachannel" to "a = dcmap:0subprotocol = "http"". Among them, the m line includes "m = application 52718UDP / DTLS / SCTP webrtc-datachannel", and in the m line, the first indication information is "UDP / DTLS / SCTP". In addition, line c (i.e., c=IN IP4192.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 (such as a=candidate:1 1UDP 2130706431 192.0.2.1 52718typ host), the SCTP port of the data channel is "5002" (such as a=sctp-port:5002), and the stream ID of the data channel is "0" (such as a=dcmap:0subprotocol="http"). The relevant information of the DTLS protocol includes "a=fingerprint:SHA-14A: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 associated identifier or the DTLS connection identifier).

[0207] Table 2-1

[0208]

[0209] When the number of data channels proposed by the communication entity 201 in the SDP proposal information to be established using the first type of protocol stack or the second type of protocol stack is 2, the content of the SDP proposal information may be as shown in Table 2-2 or Table 2-3. Compared with Table 2-1, Table 2-2 has one more line "a=dcmap:10subprotocol="http"", so Table 2-2 indicates that the SDP proposal information indicates that the communication entity 201 proposes to establish two data channels using the first type of protocol stack, where the stream ID of one data channel is "0" and the stream ID of the other data channel is "10". It can be understood that the stream IDs of the two data channels are both less than 1000, so the two data channels are BDC.

[0210] Table 2-2

[0211]

[0212] Compared with Table 2-1, Table 2-3 has one more line "a=dcmap:1100subprotocol="http"", so Table 2-3 indicates that the SDP proposal information indicates that the communication entity 201 proposes to use the first type of protocol stack to establish two data channels, one of which has a stream ID of "0" and the other has a stream ID of "1100". It can be understood that the stream ID of one of the data channels is less than 1000, so the data channel is BDC, and the stream ID of the other data channel is greater than 1000, so the data channel is ADC.

[0213] Table 2-3

[0214]

[0215]

[0216] As another example, if the SDP proposal information indicates that the communication entity 201 proposes to use the second type protocol stack to establish a data channel, the content included in the SDP proposal information may be as shown in Table 3. In Table 3, the first SDP media description includes content from "m=application 52718 UDP / 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 protocol stack does not include the DTLS protocol, the first SDP media description does not include relevant information of the DTLS protocol.

[0217] Table 3

[0218]

[0219] 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 the contents shown in Table 2 or Table 3, without limitation.

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

[0221] 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 .

[0222] 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.

[0223] In a possible design, the SDP response information includes second indication information, and the second indication information indicates a decision to use a second type of protocol stack to establish a data channel. For example, the SDP response information includes an SDP media description 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 data channel, and the second SDP media description is an SDP media description associated with the above 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, the present application takes the second indication information as "UDP / SCTP" as an example for introduction.

[0224] Optionally, the second SDP media description also includes a c line, a b line, and an a line 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.

[0225] The contents of the SDP response information are described below.

[0226] 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 1224UDP / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, line m includes "m=application 1224UDP / 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.

[0227] Table 4

[0228]

[0229] The above shows the case where the SDP response information indicates that the communication entity 202 decides to use the second type of protocol stack to establish a data channel. In addition, in a specific application, the SDP response information may also indicate that the communication entity 202 decides to use the first type of 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 relevant information of the DTLS protocol.

[0230] 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 1224UDP / SCTP webrtc-datachannel" to "a=dcmap:0subprotocol="http"". Among them, line m includes "m=application 1224UDP / DTLS / SCTPwebrtc-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". The relevant information of the DTLS protocol includes "a=fingerprint:SHA-14A: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 certificate fingerprint of the DTLS protocol, and the latter can indicate the connection identifier of the DTLS protocol.

[0231] Table 5

[0232]

[0233] 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.

[0234] 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 finally 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 finally 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 finally used by the data channel is the first type of 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 finally used by the data channel is the second type of protocol stack, the communication entity 201 and the communication entity 202 use SCTP superimposed on UDP as the data bearer protocol.

[0235] As an example, the communication entity 202 may determine the protocol stack ultimately adopted by the data channel by using the strategy shown in Table 6. 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.

[0236] Table 6

[0237] The protocol stack of the data channel proposed by the communication entity 201 The protocol stack of the data channel determined by the communication entity 202 Type I protocol stack Type I protocol stack or Type II protocol stack Type II protocol stack Type II protocol stack

[0238] In a 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).

[0239] In the above example, the protocol stack finally adopted by the data channel is determined by the communication entity 202. In addition to this method, the protocol stack finally adopted by the data channel can also be determined by entities other than the communication entity 201 and the communication entity 202. For example, the communication entity 201 and the communication entity 202 can send the protocol stack of the data channel proposed by themselves to the communication entity 203, and the communication entity 203 determines the protocol stack finally adopted by the data channel.

[0240] The actions of the communication entity 201 or the communication entity 202 in the above S501-S502 can be performed by Figure 4 The processor 401 in the communication device 40 shown calls the application code stored in the memory 403 for execution, and the present application does not impose any limitation on this.

[0241] based on Figure 5 In the method shown, the communication entity 201 and the communication entity 202 can negotiate whether the protocol stack used by the data channel of the IMS session in which the two parties participate includes the DTLS protocol, so that the data channel can be applied to different communication scenarios. For example, in scenarios where the communication security requirements are high or DTLS protocol encryption is required, the protocol stack of the data channel may include the DTLS protocol, and in scenarios where the 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, Figure 5 The method shown can improve the flexibility of communication. In addition, if the negotiation result between the communication entity 201 and the communication entity 202 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, Figure 5 The method shown can also improve data transmission efficiency, shorten data transmission delay, and reduce performance overhead of network equipment.

[0242] Optional, in Figure 5 In a possible implementation of the method shown, a network device in a communication network (such as an IMS network) may indicate to communication entity 201 and / or communication entity 202 the respective applicable data channel protocol stack policies. In this way, 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 according to its applicable policies. Communication entity 202 may determine the protocol stack ultimately adopted by the data channel according to its applicable policies and the proposal of 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, Figure 6 As shown, Figure 5 The method shown also includes the following steps:

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

[0244] exist Figure 6 In the method shown, the S-CSCF entity is, for example, Figure 3A The S-CSCF entity in Figure 3C The S-CSCF entity in the IMS network 311 or the S-CSCF entity in the IMS network 312.

[0245] 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.

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

[0247] 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.

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

[0249] In a possible design, the first policy information may indicate that 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 the protocol stack of the data channel that the communication entity 201 should adopt when negotiating the data channel later. In this way, the communication entity 201 may propose the protocol stack of the data channel to be adopted according to 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 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 SDP proposal information that the communication entity 201 proposes to adopt the second type of protocol stack to establish the data channel.

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

[0251] It can be understood that in a specific application, the first policy information can indicate the protocol stack in a variety of ways, for example, the protocol stack can be indicated by extending a new indication or parameter in the SIP header field, or by adding a new SIP header field, or by indicating the protocol stack in a declarative or assignment manner, or by indicating whether to encrypt or not, or by directly indicating the protocol stack of the data channel. The following examples 1 to 5 are used as examples to introduce the first policy information. However, it should be understood that the way the first policy information indicates the protocol stack is not limited to the following examples.

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

[0253] Exemplarily, the first policy information indicates the protocol stack in a declarative manner. For example, the content included in the 200OK message may be as shown in Table 7. In Table 7, the first policy information includes "g.3gpp.datachannel-unencrypted", and the indicated 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 8. In Table 8, the first policy information includes "g.3gpp.datachannel-encrypted", and the indicated protocol stack is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack.

[0254] Table 7

[0255]

[0256] Table 8

[0257]

[0258] 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.

[0259] Table 9

[0260]

[0261] Table 10

[0262]

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

[0264] Exemplarily, the first policy information indicates the protocol stack in a declarative manner. For example, the content included in the 200OK message may be as shown in Table 11. In Table 11, the first policy information includes "g.3gpp.datachannel-unencrypted", and the indicated 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 12. In Table 12, the first policy information includes "g.3gpp.datachannel-encrypted", and the indicated protocol stack is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack.

[0265] Table 11

[0266]

[0267] Table 12

[0268]

[0269] 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.

[0270] Table 13

[0271]

[0272]

[0273] Table 14

[0274]

[0275] 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 a specific application, the first policy information may also be included in fields other than the Feature-Caps field and the Contact field, and the declarative form or the assignment form may also be in other forms, which are not limited.

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

[0277] 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 15. In Table 15, the first policy information includes "UDP / SCTP", and the indicated protocol stack is the second type of protocol stack, that is, the SCTP / UDP protocol stack. Alternatively, the content included in the 200OK message may be as shown in Table 16. In Table 16, the first policy information includes "UDP / DTLS / SCTP", and the indicated protocol stack is the first type of protocol stack, that is, the SCTP / DTLS / UDP protocol stack.

[0278] Table 15

[0279]

[0280] Table 16

[0281]

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

[0283] 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 limitations and can be set as needed.

[0284] Table 17

[0285]

[0286] It should be understood that the "IMSDC-protocol" in the present 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.

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

[0288] Exemplarily, 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. At this time, 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 a first-class protocol stack, that is, an SCTP / DTLS / UDP protocol stack. Of course, the protocol stack indicated by the 200OK message shown in Table 18 may also be a second-class protocol stack, that is, an SCTP / UDP protocol stack. This application does not make specific limitations and can be set as needed.

[0289] Table 18

[0290]

[0291] 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 protocol stack of the data channel that the communication entity 201 should adopt when negotiating the data channel as needed.

[0292] 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.

[0293] It is understandable that the S-CSCF entity in S500B and the S-CSCF entity in S500A may be the same entity or different entities. Figure 3A In the communication scenario shown, the S-CSCF entity in S500B is the same as the S-CSCF entity in S500A, both of which are S-CSCF entities in the IMS network 301. Figure 3B In the communication scenario shown, the S-CSCF entity in S500B is different from the S-CSCF entity in S500A, one of which is the S-CSCF entity in the IMS network 311 , and the other is the S-CSCF entity in the IMS network 312 .

[0294] 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.

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

[0296] 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.

[0297] In a possible design, the second policy information may indicate that the data channel of the IMS session in which the communication entity 202 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 202 participates includes ADC and / or BDC. In other words, the second policy information may indicate to the communication entity 202 the protocol stack of the data channel that the communication entity 202 should adopt when negotiating the data channel later. In this way, the communication entity 202 may determine the protocol stack for establishing the data channel according to the second policy information and the SDP proposal information.

[0298] Exemplarily, the communication entity 202 may adopt the strategy 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.

[0299] Table 19

[0300]

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

[0302] 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 no further details are given.

[0303] 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 protocol stack of the data channel that the communication entity 202 should adopt when negotiating the data channel as needed.

[0304] 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.

[0305] The actions of the S-CSCF entity or the communication entity 201 or the communication entity 202 in the above S500A and S500B can be performed by Figure 4The processor 401 in the communication device 40 shown calls the application code stored in the memory 403 for execution, and the present application does not impose any limitation on this.

[0306] It is understandable that the above content is described by taking S500A and S500B being executed before S501 as an example. However, in a specific application, S500A or S500B may be executed independently of S501 and S502. In other words, the present application also provides a communication method, which may include S500A and / or S500B, and is used for a network device in a communication network (such as an IMS network) to indicate to a terminal in the communication network the strategy of a data channel protocol stack that is applicable to each of them.

[0307] In order to better understand the communication method provided by this application, Figure 3C Taking the communication scenario shown in FIG. 1 as an example, the complete process of the communication method provided by the present application is introduced. It can be understood that Figure 5 The method shown, Figure 6 The method shown below Figure 7 The method shown and the following Figure 8 The introduction of each feature in the methods shown can draw on each other.

[0308] First, the specific process of the network device 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 device 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 for introduction. Among them, the I / S-CSCF entity can be understood as having the functions of the I-CSCF entity and the S-CSCF entity. Figure 7 In the method shown, the operations performed by the I / S-CSCF entity can be understood as being performed by a module with S-CSCF functions in the I / S-CSCF entity. Figure 7 The I / S-CSCF entity in the method shown may be replaced by an S-CSCF entity.

[0309] like Figure 7 As shown, another communication method provided by the present application may include the following steps:

[0310] S701: The terminal 313 sends a first registration (REGISTER) 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.

[0311] In the present application, the first registration request may be used to request to register 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.

[0312] Exemplarily, the terminal 313 initiates a registration process to the IMS network 311, and the first registration request sent by the terminal 313 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.

[0313] 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.

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

[0315] 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.

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

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

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

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

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

[0321] 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.

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

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

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

[0325] It is understandable 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 passes the network authentication, and the I / S-CSCF entity executes S708.

[0326] 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.

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

[0328] 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.

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

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

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

[0332] It can be understood 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.

[0333] The actions of the terminal 313 or the I / S-CSCF entity in the above S701-S710 can be performed by Figure 4 The processor 401 in the communication device 40 shown calls the application code stored in the memory 403 for execution, and the present application does not impose any limitation on this.

[0334] based on Figure 7 According to the method shown, 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 finally adopted by the data channel according to the policy and the proposal of the SDP proposer.

[0335] Figure 7 The method shown is a process in which the I / S-CSCF entity in the IMS network 311 indicates the data channel protocol stack strategy to the terminal 313. It should be understood that the I / S-CSCF entity in the IMS network 312 can also adopt the same Figure 7The logic similar to the method shown indicates the strategy of the data channel protocol stack to the terminal 314. For details, please refer to Figure 7 The corresponding description in will not be repeated here.

[0336] It can be understood that after the terminal 313 obtains the data channel protocol stack policy, it can negotiate whether the protocol stack of the data channel of the IMS session in which it participates includes the DTLS protocol. The following takes the terminal 313 as the SDP proposer and the IMS AS in the IMS network 312 as the SDP responder as an example to introduce the specific process of negotiating between the terminal 313 and the IMS AS in the IMS network 312 whether the protocol stack of the data channel 317 includes the DTLS protocol. The data channel 317 is ADC or BDC.

[0337] like Figure 8 As shown, another communication method provided by the present application may include the following steps:

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

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

[0340] 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.

[0341] In this application, the first invitation request includes the first SDP proposal information, indicating that the terminal 313 proposes to use the first type of protocol stack or the second type of protocol stack to establish (or negotiate) a data channel. The first SDP proposal information can be specifically introduced in the above Figure 5 or Figure 6 Description of the SDP proposal information in the method shown. Optionally, the first SDP proposal information also includes audio and video media description information.

[0342] It can be understood that if the first policy information indicates that the data channel of the IMS session in which terminal 313 participates adopts the first type of protocol stack, terminal 313 indicates in the first SDP proposal information that terminal 313 proposes to adopt the first type of protocol stack to establish 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 terminal 313 participates adopts the second type of protocol stack, terminal 313 indicates in the first SDP proposal information that terminal 313 proposes to adopt the second type of protocol stack to establish data channel 317, and the content included in the first SDP proposal information can be as shown in Table 21.

[0343] Table 20

[0344]

[0345] Table 21

[0346]

[0347] In a 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 ).

[0348] 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.

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

[0350] 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 .

[0351] Exemplarily, 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.

[0352] 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.

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

[0354] In a possible implementation manner, 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 .

[0355] 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.

[0356] In the present application, the second notification message may include session and media events.

[0357] 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.

[0358] 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 strategy of the data channel 318.

[0359] 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.

[0360] In the present application, the third invitation request includes the third SDP proposal information. The third SDP proposal information is obtained by the second IMS AS updating the second SDP proposal information according to the applied data channel resources. It can be understood that the above "a=dcmap:100subprotocol="http"" is information between the terminal 313 and the IMS network 312, so the third SDP proposal information does not include "a=dcmap:100subprotocol="http"".

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

[0362] 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.

[0363] 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.

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

[0365] In a 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 .

[0366] 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.

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

[0368] 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.

[0369] 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.

[0370] It can be understood that the process of the second IMS AS determining the protocol stack of the data channel 317 is similar to Figure 5 The method shown or Figure 6 The process of the communication entity 202 determining the protocol stack of the data channel introduced in the method is similar, and reference may be made to the corresponding description in the previous text, which will not be repeated here.

[0371] 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.

[0372] In the present application, the second 183 response includes a second SDP response information, indicating that the second IMS AS decides to use the second type of protocol stack to establish the data channel 317. The second SDP response information may be an information response to the second SDP proposal information. For example, the second SDP response information may include content as shown in Table 22. For other descriptions of the second SDP response information, please refer to Figure 5 or Figure 6 Description of SDP response information.

[0373] Table 22

[0374]

[0375]

[0376] 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 .

[0377] 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.

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

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

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

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

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

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

[0384] based on Figure 8 In the method shown, the terminal 313 and the second IMS AS can negotiate to establish a data channel 317. During the negotiation to establish the data channel 317, it can be negotiated whether the protocol stack of the data channel 317 includes the DTLS protocol. Figure 8 In the method shown, the protocol stack of the data channel 317 does not include the DTLS protocol. Therefore, the data transmitted in the data channel 317 does not need to be processed based on the DTLS protocol, which can reduce the number of encryption times, improve data transmission efficiency, and shorten data transmission delay.

[0385] Understandably, Figure 8The method shown is a process of negotiating between the terminal 313 and the second IMS AS whether the protocol stack of the data channel 317 includes the DTLS protocol. In a specific application, the 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 the terminal 314 may also negotiate whether the protocol stack of the data channel includes the DTLS protocol, and the second IMS AS and the terminal 314 may also negotiate whether the protocol stack of the data channel includes the DTLS protocol. The above process is similar to Figure 8 The logic of the method shown is similar and will not be repeated here.

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

[0387] The above mainly introduces the scheme provided by the present application from the perspective of interaction between various entities. Accordingly, the present application also provides a communication device, which may 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 may 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 may be the CSCF entity (such as S-CSCF entity or 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 can be understood that the above communication entity 201, communication entity 202 or CSCF entity, etc., in order to realize the above functions, includes the hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm operations of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed in hardware or in a computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Professional technicians can 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.

[0388] The present application can divide the communication entity 201, the communication entity 202 or the CSCF entity into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It can be understood that the division of modules in the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0389] For example, when the functional modules are divided in an integrated manner, Fig. 9 The structure diagram of a communication device 90 is shown. The communication device 90 includes an interface module 901 and a processing module 902. The interface module 901, which may also be referred to 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. The processing module 902, which may also be referred to as a processing unit, is used to perform operations other than transceiver operations, and may be, for example, a processing circuit or a processor.

[0390] In some embodiments, the communication device 90 may further include a storage module ( Fig. 9 ), for storing program instructions and data.

[0391] Exemplarily, the communication device 90 is used to implement the functions of the communication entity 202. The communication device 90 is, for example, Figure 5 The embodiment shown or Figure 6 The communication entity 202 of the embodiment shown in the figure may be Figure 7 The terminal 313 described in the embodiment shown in the figure may be Figure 8 The second IMS AS described in the illustrated embodiment.

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

[0393] The processing module 902 is used to send SDP response information to the second communication entity through the interface module 901 according to the SDP proposal information. The SDP response information indicates that the communication device 90 decides to use the second type of protocol stack to establish a data channel. For example, the processing module 902 can be used to execute S502.

[0394] 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.

[0395] In a possible implementation manner, 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.

[0396] 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.

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

[0398] In a possible implementation manner, 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 a data channel.

[0399] 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.

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

[0401] 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.

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

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

[0404] In a possible implementation, the communication device 90 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.

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

[0406] When used to implement the functions of the communication entity 202, for other functions that the communication device 90 can implement, refer to Figure 5 The embodiment shown, Figure 6 The embodiment shown, Figure 7 The embodiment shown or Figure 8 The relevant introduction of the illustrated embodiment will not be repeated in detail.

[0407] Alternatively, illustratively, the communication device 90 is used to implement the functions of the communication entity 201. The communication device 90 is, for example, Figure 5 The embodiment shown or Figure 6 The communication entity 201 described in the embodiment shown may be Figure 7 The embodiment shown or Figure 8 The terminal 313 described in the embodiment shown.

[0408] The interface module 901 is used 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 of protocol stack or the second type of protocol stack to establish a data channel, and the data channel is associated with the IMS session between the first communication entity and the communication device 90. The first type of protocol stack includes the DTLS protocol, and the second type of protocol stack does not include the DTLS protocol. For example, the interface module 901 can be used to execute S501.

[0409] The interface module 901 is further configured to receive SDP response information from the first communication entity. The SDP response information indicates that the first communication entity decides to use the second type of protocol stack to establish a data channel. For example, the interface module 901 can be configured to execute S502.

[0410] 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.

[0411] In a possible implementation manner, 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.

[0412] 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.

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

[0414] In a possible implementation manner, 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 a data channel.

[0415] 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.

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

[0417] 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.

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

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

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

[0421] When used to implement the functions of the communication entity 201, for other functions that the communication device 90 can implement, refer to Figure 5 The embodiment shown, Figure 6 The embodiment shown, Figure 7 The embodiment shown or Figure 8 The relevant introduction of the illustrated embodiment will not be repeated in detail.

[0422] Alternatively, illustratively, the communication device 90 is used to implement the functions of the CSCF entity. Figure 6 The S-CSCF entity or Figure 7 The I / S-CSCF entity described in the embodiment shown.

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

[0424] The interface module 901 is used to send policy information to the communication entity. For example, the interface module 901 can be used to execute S500A and / or S500B.

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

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

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

[0428] When used to implement the functions of the CSCF entity, for other functions that the communication device 90 can implement, refer to Figure 6 The embodiment shown or Figure 7 The relevant introduction of the illustrated embodiment will not be repeated in detail.

[0429] In a simple embodiment, those skilled in the art will appreciate that the communication device 90 may be implemented as Figure 4 For example, Figure 4 The processor 401 in the communication device 90 can call the computer execution instructions stored in the memory 403 to enable the communication device 90 to execute the method described in the above embodiment.

[0430] For example, Fig. 9 The functions / implementation processes of the interface module 901 and the processing module 902 can be Figure 4 The processor 401 in the embodiment calls the computer execution instructions stored in the memory 403 to implement. Or, Fig. 9 The function / implementation process of the processing module 902 in Figure 4 The processor 401 in the embodiment calls the computer execution instruction stored in the memory 403 to implement, Fig. 9 The function / implementation process of the interface module 901 in can be Figure 4 The communication interface 404 in is implemented.

[0431] For example, Fig. 9 The functions / implementation processes of the interface module 901 and the processing module 902 can be Figure 4 The processor 401 in the embodiment calls the computer execution instructions stored in the memory 403 to implement. Or, Fig. 9 The function / implementation process of the processing module 902 in Figure 4 The processor 401 in the embodiment calls the computer execution instruction stored in the memory 403 to implement, Fig. 9 The function / implementation process of the interface module 901 in can be Figure 4 The communication interface 404 in is implemented.

[0432] 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 in 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 for calculation or processing in the processor, it can also further include necessary hardware accelerators, such as field programmable gate arrays (FPGA), PLDs (programmable logic devices), or logic circuits that implement dedicated logic operations.

[0433] 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.

[0434] Optionally, the present application also provides a chip system, including: at least one processor and an interface, the at least one processor is coupled to a memory through 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 it can include a chip and other discrete devices, which is not specifically limited in the present application.

[0435] Optionally, the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by a computer program to instruct the relevant hardware, and the program can be stored in the above computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device of any of the above embodiments, such as a hard disk or memory of the communication device. The above computer-readable storage medium can also be an external storage device of the above 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 communication device. Further, the above computer-readable storage medium can also include both the internal storage unit of the above communication device and an external storage device. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above communication device. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0436] Optionally, the present application also provides a computer program product. All or part of the processes in the above method embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in the above computer program product. When the program is executed, it can include the processes of the above method embodiments.

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

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

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

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

[0441] 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.

[0442] In the several embodiments provided in the present 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 only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another 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.

[0443] The units described as separate components may or may not be physically separated, 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 different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0444] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

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

Claims

1. A communication method, characterized in that: 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

Cited By

  • Communication method and apparatus, and communication system

    EP4761214A1

  • Communication method and apparatus, and communication system

    WO2025066513A1